From c07e8a09f15ce4c8b18cdad8a564f6ec6956f90c Mon Sep 17 00:00:00 2001 From: Edgar Montes Date: Tue, 13 Feb 2024 11:10:00 -0500 Subject: [PATCH] Setting up initial mockup. --- .gitignore copy | 130 + .travis.yml | 33 + LICENSE copy | 21 + README copy.md | 1 + babel.config.js | 31 + build/assets/js/main.js | 2 + build/assets/js/main.js.map | 1 + build/assets/js/runtime.js | 2 + build/assets/js/runtime.js.map | 1 + .../js/vendors.terraformer-arcgis-parser.js | 2 + .../vendors.terraformer-arcgis-parser.js.map | 1 + build/assets/js/vendors.terraformer.js | 2 + build/assets/js/vendors.terraformer.js.map | 1 + build/assets/js/vendors.turf.js | 2 + build/assets/js/vendors.turf.js.map | 1 + build/build/assets/js/main.js | 1 + build/build/assets/js/runtime.js | 1 + build/build/assets/js/vendors.babel.js | 1 + build/build/assets/js/vendors.maplibre-gl.js | 1 + build/build/index.html | 1 + build/index.html | 4 + cypress.config.js | 18 + cypress/e2e/test.js | 99 + cypress/fixtures/example.json | 5 + cypress/plugins/index.js | 22 + cypress/support/commands.js | 25 + cypress/support/e2e.js | 25 + package.json | 80 + public/build/assets/js/main.js | 1 + public/build/assets/js/runtime.js | 1 + public/build/assets/js/vendors.babel.js | 1 + public/build/assets/js/vendors.maplibre-gl.js | 1 + public/build/index.html | 1 + public/index.html | 23 + src/components/D6BusinessMap.js | 120 + src/components/DataLoader.js | 866 + src/components/Display.js | 179 + src/components/Geocoder.js | 271 + src/components/NavigationTools.js | 238 + src/components/style.json | 17110 ++++++++++++++++ src/components/test-data.json | 313 + src/index.js | 2 + webpack.config.js | 152 + yarn.lock | 8344 ++++++++ 44 files changed, 28137 insertions(+) create mode 100644 .gitignore copy create mode 100644 .travis.yml create mode 100644 LICENSE copy create mode 100644 README copy.md create mode 100644 babel.config.js create mode 100644 build/assets/js/main.js create mode 100644 build/assets/js/main.js.map create mode 100644 build/assets/js/runtime.js create mode 100644 build/assets/js/runtime.js.map create mode 100644 build/assets/js/vendors.terraformer-arcgis-parser.js create mode 100644 build/assets/js/vendors.terraformer-arcgis-parser.js.map create mode 100644 build/assets/js/vendors.terraformer.js create mode 100644 build/assets/js/vendors.terraformer.js.map create mode 100644 build/assets/js/vendors.turf.js create mode 100644 build/assets/js/vendors.turf.js.map create mode 100644 build/build/assets/js/main.js create mode 100644 build/build/assets/js/runtime.js create mode 100644 build/build/assets/js/vendors.babel.js create mode 100644 build/build/assets/js/vendors.maplibre-gl.js create mode 100644 build/build/index.html create mode 100644 build/index.html create mode 100644 cypress.config.js create mode 100644 cypress/e2e/test.js create mode 100644 cypress/fixtures/example.json create mode 100644 cypress/plugins/index.js create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/e2e.js create mode 100644 package.json create mode 100644 public/build/assets/js/main.js create mode 100644 public/build/assets/js/runtime.js create mode 100644 public/build/assets/js/vendors.babel.js create mode 100644 public/build/assets/js/vendors.maplibre-gl.js create mode 100644 public/build/index.html create mode 100644 public/index.html create mode 100644 src/components/D6BusinessMap.js create mode 100644 src/components/DataLoader.js create mode 100644 src/components/Display.js create mode 100644 src/components/Geocoder.js create mode 100644 src/components/NavigationTools.js create mode 100644 src/components/style.json create mode 100644 src/components/test-data.json create mode 100644 src/index.js create mode 100644 webpack.config.js create mode 100644 yarn.lock diff --git a/.gitignore copy b/.gitignore copy new file mode 100644 index 0000000..c6bba59 --- /dev/null +++ b/.gitignore copy @@ -0,0 +1,130 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e5b9c7c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,33 @@ +dist: jammy +language: node_js + # Node env + +install: + - yarn + +node_js: + # Node version + - 18 + +cache: + yarn: true + # cache both npm modules and Cypress binary + directories: + - ~/.npm + - ~/.cache + - /home/travis/.cache/Cypress + # install dependencies and check that Cypress can run + override: + - npm ci + - npm run cy:verify + +jobs: + include: + - script: yarn build + name: "Build app" + - script: yarn test:app + name: "Test app" + script: + - yarn cypress install + - yarn test + - kill $(jobs -p) || true \ No newline at end of file diff --git a/LICENSE copy b/LICENSE copy new file mode 100644 index 0000000..43cf510 --- /dev/null +++ b/LICENSE copy @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 City of Detroit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README copy.md b/README copy.md new file mode 100644 index 0000000..75514dd --- /dev/null +++ b/README copy.md @@ -0,0 +1 @@ +# d6-business-directory \ No newline at end of file diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..118407f --- /dev/null +++ b/babel.config.js @@ -0,0 +1,31 @@ +module.exports = { + presets: [ + [ + "@babel/preset-env", + { + modules: false + } + ], + "@babel/preset-react" + ], + plugins: [ + "@babel/plugin-transform-runtime", + "@babel/plugin-syntax-dynamic-import", + "@babel/plugin-proposal-class-properties" + ], + env: { + production: { + only: ["src"], + plugins: [ + [ + "transform-react-remove-prop-types", + { + removeImport: true + } + ], + "@babel/plugin-transform-react-inline-elements", + "@babel/plugin-transform-react-constant-elements" + ] + } + } + }; \ No newline at end of file diff --git a/build/assets/js/main.js b/build/assets/js/main.js new file mode 100644 index 0000000..f49eec6 --- /dev/null +++ b/build/assets/js/main.js @@ -0,0 +1,2 @@ +!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5eef6608-df69-460f-8862-1e7b96eb7a37",e._sentryDebugIdIdentifier="sentry-dbid-5eef6608-df69-460f-8862-1e7b96eb7a37")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"5295b5abc54d9cc74f50c3b1d583a7045cbc3013"},(self.webpackChunkd6_business_directory=self.webpackChunkd6_business_directory||[]).push([[590],{968:(e,t,a)=>{class i extends HTMLElement{static get observedAttributes(){return["form","parcelStatus","user"]}constructor(){super(),this.form=null,this.parcelStatus="Invalid",this.user=null,this.styles=document.createElement("style"),this.styles.textContent="\n @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;700&display=swap')\n #geocoder {width: 100%}\n input {width: calc(100% - 2em); padding: 1em; border:.1em solid #e6e6e6; font-size: 1em;}\n ";const e=this.attachShadow({mode:"open"});e.appendChild(this.styles);const t=document.createElement("article");t.id="geocoder";let a=document.createElement("form"),i=document.createElement("label");i.style.fontFamily="Montserrat, sans-serif",i.style.fontWeight="bold";let s=document.createElement("input"),r=(document.createElement("ul"),document.createElement("datalist")),n=document.createElement("i");a.addEventListener("submit",(e=>{this.submit(e,this)})),n.className="fas fa-map-marker-alt";const o=document.getElementsByTagName("my-home-info");i.innerText="Property Address:";try{o[0].getAttribute("data-geocoder-label")&&""!=o[0].getAttribute("data-geocoder-label")&&(i.innerText=o[0].getAttribute("data-geocoder-label"))}catch(l){}i.setAttribute("for","geocoder-input"),s.type="text",s.setAttribute("list","addresses-list"),s.placeholder="Enter address",s.setAttribute("id","geocoder-input"),s.setAttribute("autocomplete","off"),s.addEventListener("keyup",(e=>{this.inputChange(e,this)})),r.setAttribute("id","addresses-list"),a.appendChild(i),a.appendChild(s),a.appendChild(n),a.appendChild(r),this.form=a,t.appendChild(a),e.appendChild(t)}supplementGeocoder(e,t,a){const i=document.getElementsByTagName("my-home-info");let s=e.split(",");s=s[0],s=s.split(" ");let r="",n=s.length;s.forEach((function(e,t){r+=e,te.json())).then((function(s){if("suggestions"===a)s.candidates.forEach((e=>{let a=document.createElement("option");""===e.attributes.parcel_id?(a.value=e.address,a.setAttribute("data-parsel","no-parcel")):(a.value="".concat(e.address," RECOMMENDED"),a.setAttribute("data-parsel",e.attributes.parcel_id)),a.onclick=e=>{t.selectSuggestion(e,t)},t.form.childNodes[3].appendChild(a)}));else if(s.candidates.length){let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/City_of_Detroit_Boundary/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(s.candidates[0].location.x,"%2C+").concat(s.candidates[0].location.y,"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=4326&returnGeometry=true&returnCentroid=false&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=geojson&token=");try{fetch(a).then((e=>e.json())).then((function(a){if(a.features.length){let a,r=null;s.candidates.forEach((e=>{""!==e.attributes.parcel_id&&t.checkParcelValid(e.attributes.parcel_id)&&(r=e)})),a=null==r?s.candidates[0].location:null,null===r?(t.parcelStatus="Invalid",t.needGeocode(e,t,a),t.clearSuggestions(t),i[0].setAttribute("data-parcel-id",JSON.stringify(s.candidates[0]))):(t.parcelStatus="Valid",t.needGeocode(e,t,a),t.clearSuggestions(t),i[0].setAttribute("data-parcel-id",JSON.stringify(r)))}else t.parcelStatus="Invalid",t.needGeocode(e,t,location),t.clearSuggestions(t),i[0].setAttribute("data-app-state","error")}))}catch(r){t.parcelStatus="Invalid",t.needGeocode(e,t,location),t.clearSuggestions(t),i[0].setAttribute("data-app-state","error")}}else t.parcelStatus="Invalid",t.needGeocode(e,t,location),t.clearSuggestions(t),i[0].setAttribute("data-app-state","error")}))}catch(l){t.parcelStatus="Invalid",t.needGeocode(e,t,location),t.clearSuggestions(t),i[0].setAttribute("data-app-state","error")}}selectSuggestion(e,t){let a=null;a="SPAN"===e.target.tagName?e.target.parentNode:e.target,"no-parcel"===a.attributes[0].value?(t.clearSuggestions(t),t.supplementGeocoder(a.innerText,t,"submit")):t.supplementGeocoder(a.innerText,t,"submit")}inputChange(e,t){switch(e.key){case"Enter":""!=e.target.value&&void 0!=e.target.value&&t.supplementGeocoder(e.target.value,t,"submit");break;case"ArrowDown":case"ArrowUp":case"ArrowRight":case"ArrowLeft":break;case void 0:""!=e.target.value&&void 0!=e.target.value&&t.supplementGeocoder(e.target.value,t,"submit");break;default:t.clearSuggestions(t),t.supplementGeocoder(e.target.value,t,"suggestions")}}clearSuggestions(e){for(;e.form.childNodes[3].firstChild;)e.form.childNodes[3].removeChild(e.form.childNodes[3].firstChild)}needGeocode(e,t,a){fetch("https://us-central1-local-services-loopkup.cloudfunctions.net/getToken").then((e=>e.json())).then((function(i){let s=e.split(" RECOMMENDED")[0],r=[{attributes:{valid_parcel_status:t.parcelStatus,user_input:s},geometry:{x:0,y:0}}];null!=a&&(r[0].geometry.x=a.x,r[0].geometry.y=a.y);let n=new Request("https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/addressvalidator/FeatureServer/0/addFeatures?token=".concat(i.access_token,"&features=").concat(encodeURIComponent(JSON.stringify(r)),"&f=json"),{method:"POST",body:"",headers:new Headers,mode:"cors",cache:"default"});fetch(n).then((e=>{}))}))}checkParcelValid(e){return/\d/.test(e)}submit(e,t){e.preventDefault(),t.supplementGeocoder(e.target[0].value,t,"submit")}}class s extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"});this.navToolsStyle=document.createElement("style"),this.navToolsStyle.textContent="\n #nav-tools-wrapper { display: flex; flex-direction: column;}\n button.clear { font-size: 1.25em; width: 2.5em; height: 2.5em; background-color: #FEB70D; cursor: pointer; border: none; }\n button.nav { width: 3.75em; height: 3.75em; border: none; cursor: pointer;background: #fff; }\n button.nav:hover { background-color: #e6e6e6; transition: all 500ms cubic-bezier(.64,.09,.08,1); }\n button.nav.active { background-color: #9fd5b3; }\n button.nav img { width: 100%; }\n ",this.loadNavTools(this)}clearDisplay(e){const t=e.shadowRoot;for(;t.firstChild;)t.removeChild(t.firstChild)}loadNavTools(e){const t=document.getElementsByTagName("d6-business-map"),a=t[0].getAttribute("data-app-state"),i=t[0].getAttribute("data-app-mode"),s=t[0].getAttribute("data-inital-sets"),r=t[0].getAttribute("data-initial-map-available"),n=e.shadowRoot;n.appendChild(e.navToolsStyle);const o=document.createElement("section");o.id="nav-tools-wrapper",o.setAttribute("role","navigation"),o.setAttribute("aria-label","Data Navigation");const l=document.createElement("cod-button");if(l.addEventListener("click",(e=>{"my-home-info"==t[0].getAttribute("data-app-mode")?(t[0].setAttribute("data-app-state","welcome-screen"),t[0].setAttribute("data-active-sets","assessors-data,neighborhood,recycling,rental-data,rental-cert,demo-status,blight-data,permit-data,DWSDBackupProtection")):(t[0].setAttribute("data-app-state","active-screen"),t[0].setAttribute("data-active-sets",s)),"true"==r?t[0].setAttribute("data-map-available","true"):t[0].setAttribute("data-map-available","false"),t[0].setAttribute("data-parcel-id","none"),t[0].setAttribute("data-api-stored-datasets","{}"),t[0].setAttribute("data-api-active-datasets","none"),t[0].setAttribute("data-active-section","property")})),l.setAttribute("data-primary",!0),l.setAttribute("data-label","x"),l.setAttribute("data-size","lg"),l.setAttribute("data-hover",!1),l.setAttribute("data-extra-classes","fw-bold"),l.setAttribute("data-background-color","warning"),l.setAttribute("data-img",""),l.setAttribute("data-img-alt",""),l.setAttribute("data-shape","square"),l.setAttribute("data-icon",""),o.appendChild(l),"my-home-info"==i&&"error"!=a){const e=document.createElement("cod-button");e.setAttribute("data-label",""),e.setAttribute("data-size","lg"),e.setAttribute("data-img","https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/home.png"),e.setAttribute("data-img-alt","about this property"),e.setAttribute("data-shape","square"),e.setAttribute("data-nav-value","about this property"),e.setAttribute("data-icon",""),"about this property"==t[0].getAttribute("data-active-section")?(e.setAttribute("data-background-color","success"),e.setAttribute("data-primary",!0)):(e.setAttribute("data-background-color","secondary"),e.setAttribute("data-primary",!1),e.addEventListener("click",(e=>{if("none"!=t[0].getAttribute("data-api-active-datasets")){let e=JSON.parse(t[0].getAttribute("data-api-stored-datasets")),a=JSON.parse(t[0].getAttribute("data-api-active-datasets"));for(const t in a)t in e||(e[t]=a[t]);t[0].setAttribute("data-api-stored-datasets",JSON.stringify(e))}t[0].setAttribute("data-api-active-datasets","none"),t[0].setAttribute("data-active-sets","assessors-data,neighborhood,recycling,rental-data,rental-cert,demo-status,blight-data,permit-data,DWSDBackupProtection"),t[0].setAttribute("data-map-available","false"),t[0].setAttribute("data-active-section","about this property"),t[0].setAttribute("data-app-state","loading-screen")}))),o.appendChild(e);const a=document.createElement("cod-button");a.setAttribute("data-label",""),a.setAttribute("data-size","lg"),a.setAttribute("data-img","https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/government.png"),a.setAttribute("data-img-alt","government officials"),a.setAttribute("data-shape","square"),a.setAttribute("data-nav-value","government officials"),a.setAttribute("data-icon",""),"government officials"==t[0].getAttribute("data-active-section")?(a.setAttribute("data-background-color","success"),a.setAttribute("data-primary",!0)):(a.setAttribute("data-background-color","secondary"),a.setAttribute("data-primary",!1),a.addEventListener("click",(e=>{if("none"!=t[0].getAttribute("data-api-active-datasets")){let e=JSON.parse(t[0].getAttribute("data-api-stored-datasets")),a=JSON.parse(t[0].getAttribute("data-api-active-datasets"));for(const t in a)t in e||(e[t]=a[t]);t[0].setAttribute("data-api-stored-datasets",JSON.stringify(e))}t[0].setAttribute("data-api-active-datasets","none"),t[0].setAttribute("data-active-sets","council,council-members,bop-members,district-managers,business-liaison,district-inspectors,npo"),t[0].setAttribute("data-map-available","false"),t[0].setAttribute("data-active-section","government officials"),t[0].setAttribute("data-app-state","loading-screen")}))),o.appendChild(a);const i=document.createElement("cod-button");i.setAttribute("data-label",""),i.setAttribute("data-size","lg"),i.setAttribute("data-img","https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/zone.png"),i.setAttribute("data-img-alt","special areas and zones"),i.setAttribute("data-shape","square"),i.setAttribute("data-nav-value","special areas and zones"),i.setAttribute("data-icon",""),"special areas and zones"==t[0].getAttribute("data-active-section")?(i.setAttribute("data-background-color","success"),i.setAttribute("data-primary",!0)):(i.setAttribute("data-background-color","secondary"),i.setAttribute("data-primary",!1),i.addEventListener("click",(e=>{if("none"!=t[0].getAttribute("data-api-active-datasets")){let e=JSON.parse(t[0].getAttribute("data-api-stored-datasets")),a=JSON.parse(t[0].getAttribute("data-api-active-datasets"));for(const t in a)t in e||(e[t]=a[t]);t[0].setAttribute("data-api-stored-datasets",JSON.stringify(e))}t[0].setAttribute("data-api-active-datasets","none"),t[0].setAttribute("data-active-sets","nez,nrsa,historicDistrict"),t[0].setAttribute("data-map-available","false"),t[0].setAttribute("data-active-section","special areas and zones"),t[0].setAttribute("data-app-state","loading-screen")}))),o.appendChild(i);const s=document.createElement("cod-button");s.setAttribute("data-label",""),s.setAttribute("data-size","lg"),s.setAttribute("data-img","https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/nearby.png"),s.setAttribute("data-img-alt","things nearby"),s.setAttribute("data-shape","square"),s.setAttribute("data-nav-value","things nearby"),s.setAttribute("data-icon",""),"things nearby"==t[0].getAttribute("data-active-section")?(s.setAttribute("data-background-color","success"),s.setAttribute("data-primary",!0)):(s.setAttribute("data-background-color","secondary"),s.setAttribute("data-primary",!1),s.addEventListener("click",(e=>{if("none"!=t[0].getAttribute("data-api-active-datasets")){let e=JSON.parse(t[0].getAttribute("data-api-stored-datasets")),a=JSON.parse(t[0].getAttribute("data-api-active-datasets"));for(const t in a)t in e||(e[t]=a[t]);t[0].setAttribute("data-api-stored-datasets",JSON.stringify(e))}t[0].setAttribute("data-api-active-datasets","none"),t[0].setAttribute("data-active-sets","schools,demos-data,stabilization-data,improve-det"),t[0].setAttribute("data-active-section","things nearby"),t[0].setAttribute("data-map-available","true"),t[0].setAttribute("data-app-state","loading-screen")}))),o.appendChild(s);const r=document.createElement("cod-button");r.setAttribute("data-label",""),r.setAttribute("data-size","lg"),r.setAttribute("data-img","https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/print.png"),r.setAttribute("data-img-alt","print"),r.setAttribute("data-shape","square"),r.setAttribute("data-nav-value","print"),r.setAttribute("data-icon",""),"print"==t[0].getAttribute("data-active-section")?(r.setAttribute("data-background-color","success"),r.setAttribute("data-primary",!0)):(r.setAttribute("data-background-color","secondary"),r.setAttribute("data-primary",!1),r.addEventListener("click",(e=>{e.target.getAttribute("data-nav-value")&&t[0].setAttribute("data-app-state","print")}))),o.appendChild(r)}n.appendChild(o)}}customElements.define("app-geocoder",i),customElements.define("app-nav-tools",s);class r extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"}).innerHTML='\n \n \n
Offcanvas
\n
\n \n

\n Some text as placeholder. In real life you can have the elements you\n have chosen. Like, text, images, lists, etc.\n

\n
\n
\n '}attributeChangedCallback(e,t,a){"data-panel-data"==a&&this.clearDisplay(this),"data-pagination"==e&&this.clearDisplay(this),this.loadDisplay(this)}clearDisplay(e){const t=e.shadowRoot;for(;t.firstChild;)t.removeChild(t.firstChild)}formatDate(e){const t=new Date(e);return"".concat(["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()]," ").concat(t.getDate(),", ").concat(t.getFullYear())}printInfo(e){let t=e.buildDataSection(e),a=window.open("","","height=500, width=500");a.document.write(""),a.document.write(""),a.document.write(""),a.document.write(t.children[1].innerHTML),a.document.write(""),a.document.close(),a.print()}loadDisplay(e){const t=e.shadowRoot,a=document.createElement("section"),i=document.createElement("app-geocoder"),s=document.createElement("app-nav-tools"),r=document.getElementsByTagName("my-home-info");switch(s.printInfo=e.printInfo,a.id="display-wrapper",this.getAttribute("data-display-type")){case"active-panel":console.log("loading panel");let n=JSON.parse(this.getAttribute("data-panel-data")),o=document.createElement("cod-offcanvas");o.id="d6-map-panel",o.setAttribute("data-show","true");let l=document.createElement("cod-offcanvas-header"),c=document.createElement("cod-offcanvas-body");l.innerHTML="
".concat(n.properties.business_name),c.innerHTML="\n

Address: ".concat(n.properties.address,"

\n

Phone: ").concat(n.properties.business_phone_number,"

\n

Website: ").concat(n.properties.business_phone_website,"

\n "),o.appendChild(l),o.appendChild(c),a.appendChild(o),t.appendChild(a),console.log(o);break;case"active":t.appendChild(e.welcomeStyle),a.appendChild(i),t.appendChild(a);break;case"loading":const d=document.createElement("cod-loader");d.setAttribute("data-color","color-3"),a.appendChild(d),t.appendChild(a);break;case"results":let u=JSON.parse(r[0].getAttribute("data-parcel-id"));t.appendChild(e.resultsStyle);let p=document.createElement("section");p.className="results-container",p.appendChild(s);let m=document.createElement("article");m.className="dataset-results";let h=document.createElement("article");h.className="result-address",h.innerText=u.address,m.appendChild(h);let f=e.buildDataSection(e);m.appendChild(f),p.appendChild(m),a.appendChild(p),t.appendChild(a);break;case"error":let b=document.createElement("section");t.appendChild(e.resultsStyle),b.className="results-container",b.appendChild(s);let _=document.createElement("article");_.className="error-result",_.innerHTML='\n \n \n \n \n \n \n \n \n \n \n

No Information found on this address. Please close and try again.

\n ',b.appendChild(_),a.appendChild(b),t.appendChild(a);break;case"print":let y=JSON.parse(r[0].getAttribute("data-parcel-id"));t.appendChild(e.resultsStyle);let g=document.createElement("section");g.className="results-container",g.appendChild(s);let v=document.createElement("article");v.className="dataset-results";let A=document.createElement("article");A.className="result-address",A.innerText=y.address,v.appendChild(A);let S=e.buildDataSection(e);v.appendChild(S),g.appendChild(v),a.appendChild(g),t.appendChild(a),e.printInfo(e)}}}const n=a(208),o=a(827);class l extends HTMLElement{static get observedAttributes(){return["data-loader-state","data-parcel-id"]}constructor(){super();const e=this.attachShadow({mode:"open"}),t=document.createElement("section");t.id="loader-wrapper",e.appendChild(t)}attributeChangedCallback(e,t,a){this.shadowRoot;if("data-loader-state"===e)this.clearLoader(this),this.loadLoader(this)}getDataSets(e){const t=document.getElementsByTagName("my-home-info"),a=t[0].getAttribute("data-active-sets").split(","),i=JSON.parse(t[0].getAttribute("data-parcel-id"));let s=[],r=new Promise(((e,t)=>{if("CONDO BUILDING"!=i.attributes.parcel_id){let t="https://apis.detroitmi.gov/assessments/parcel/"+i.attributes.parcel_id+"/";return fetch(t).then((e=>e.json())).then((function(t){e({id:"assessors-data",data:t})})).catch((e=>{}))}e({id:"assessors-data",data:null})})),l=new Promise(((e,t)=>{e({id:"neighborhood",data:i})})),c=new Promise(((e,t)=>e({id:"council",data:i}))),d=new Promise(((e,t)=>fetch("/rest/bop?_format=json").then((e=>e.json())).then((function(t){e({id:"bop-members",data:t})})).catch((e=>{})))),u=new Promise(((e,t)=>fetch("/rest/district-managers?_format=json").then((e=>e.json())).then((function(t){e({id:"district-managers",data:t})})).catch((e=>{})))),p=new Promise(((e,t)=>fetch("/rest/district-inspectors?_format=json").then((e=>e.json())).then((function(t){e({id:"district-inspectors",data:t})})).catch((e=>{})))),m=new Promise(((e,t)=>fetch("/rest/council-members?_format=json").then((e=>e.json())).then((function(t){e({id:"council-members",data:t})})).catch((e=>{})))),h=(new Promise(((e,t)=>{e({id:"DWSDBackupProtection",data:i})})),new Promise(((e,t)=>{e({id:"HRDFlooding",data:i})}))),f=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/NRSA_2020/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(i.location.x,"%2C").concat(i.location.y,"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"nrsa",data:t})})).catch((e=>{}))})),b=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/NEZHOMESTEAD2021/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(i.location.x,"%2C").concat(i.location.y,"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"nez",data:t})})).catch((e=>{}))})),_=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/BuildingPermits/FeatureServer/0/query?where=parcel_id+%3D+%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=3&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json");return fetch(a).then((e=>e.json())).then((function(t){e({id:"permit-data",data:t})})).catch((e=>{}))})),y=new Promise(((e,t)=>{let a;return a="CONDO BUILDING"!=i.attributes.parcel_id?"https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/RentalStatuses/FeatureServer/0/query?where=parcel_id+%3D+%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json"):"https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/RentalStatuses/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(i.location.x,"%2C+").concat(i.location.y,"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIndexIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&gdbVersion=&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&multipatchOption=&resultOffset=&resultRecordCount=&f=json"),fetch(a).then((e=>e.json())).then((function(t){e({id:"rental-data",data:t})})).catch((e=>{}))})),g=new Promise(((e,t)=>{let a;return a="CONDO BUILDING"!=i.attributes.parcel_id?"https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/active_cofc/FeatureServer/0/query?where=parcel_id%3D%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=1&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json"):"https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/active_cofc/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(i.location.x,"%2C+").concat(i.location.y,"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIndexIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&gdbVersion=&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&multipatchOption=&resultOffset=&resultRecordCount=&f=json"),fetch(a).then((e=>e.json())).then((function(t){e({id:"rental-cert-data",data:t})})).catch((e=>{}))})),v=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Blight_Violations_(DAH)/FeatureServer/0/query?where=parcelno%3D%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=violation_date&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=2&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"blight-data",data:t})})).catch((e=>{}))})),A=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Property_Sales/FeatureServer/0/query?where=PARCEL_NO%3D%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=SALE_DATE&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=2&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"sales-data",data:t})})).catch((e=>{}))})),S=new Promise(((t,a)=>{let s=n.point([i.location.x,i.location.y]),r=n.buffer(s,2,{units:"miles"}),l=n.simplify(r.geometry,{tolerance:.005,highQuality:!1}),c=o.convert(l),d="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Demolitions_under_Contract/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(encodeURI(JSON.stringify(c)),"&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=geojson");return fetch(d).then((e=>e.json())).then((function(a){a.features.sort(e.sortFeaturesByDistanceTo(s)),t({id:"demos-data",data:a})})).catch((e=>{}))})),w=new Promise(((t,a)=>{let s=n.point([i.location.x,i.location.y]),r=n.buffer(s,2,{units:"miles"}),l=n.simplify(r.geometry,{tolerance:.005,highQuality:!1}),c=o.convert(l),d="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Contracted_Stabilizations/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(encodeURI(JSON.stringify(c)),"&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=3&f=geojson");return fetch(d).then((e=>e.json())).then((function(a){a.features.sort(e.sortFeaturesByDistanceTo(s)),t({id:"stabilization-data",data:a})})).catch((e=>{}))})),C=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Demolitions_under_Contract/FeatureServer/0/query?where=parcel_id+%3D+%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=demolish_by_date&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=1&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"demo-status",data:t})})).catch((e=>{}))})),D=new Promise(((t,a)=>{let s=n.point([i.location.x,i.location.y]),r=n.buffer(s,2,{units:"miles"}),l=n.simplify(r.geometry,{tolerance:.005,highQuality:!1}),c=o.convert(l),d="https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/2018_2019_Schools_(EEM)/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(encodeURI(JSON.stringify(c)),"&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=geojson");return fetch(d).then((e=>e.json())).then((function(a){a.features.sort(e.sortFeaturesByDistanceTo(s)),t({id:"schools",data:a})})).catch((e=>{}))})),E=new Promise(((e,t)=>{let a="https://opengis.detroitmi.gov/opengis/rest/services/PublicSafety/NeighborhoodPoliceOfficers/FeatureServer/0/query?where=&objectIds=&time=&geometry=".concat(i.location.x,"%2C").concat(i.location.y,"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=1&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"npo",data:t})})).catch((e=>{}))})),O=new Promise(((e,t)=>{let a=n.point([i.location.x,i.location.y]),s=n.buffer(a,300,{units:"meters"}),r=n.simplify(s.geometry,{tolerance:.005,highQuality:!1}),l=o.convert(r),c="https://opengis.detroitmi.gov/opengis/rest/services/DoIT/ImproveDetroitIssues/FeatureServer/0/query?where=status+%3C%3E+%27Closed%27+and+status+%3C%3E+%27Archived%27&objectIds=&time=&geometry=".concat(encodeURI(JSON.stringify(l)),"&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=3&f=geojson");return fetch(c).then((e=>e.json())).then((function(t){e({id:"improve-det",data:t})})).catch((e=>{}))})),k=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/WasteCollectionAreas/FeatureServer/0/query?where=&text=&objectIds=&time=&geometry="+i.location.x+"%2C+"+i.location.y+"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=json";fetch(a).then((e=>e.json())).then((function(t){let a=new Date,i=a.getMonth()+1,s=a.getFullYear(),r="https://apis.detroitmi.gov/waste_schedule/details/".concat(t.features[0].attributes.FID,"/year/").concat(s,"/month/").concat(i,"/");return fetch(r).then((e=>e.json())).then((function(t){e({id:"recycling",data:t})}))})).catch((e=>{}))})),F=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/Detroit_Local_Historic_Districts/FeatureServer/0/query?where=&text=&objectIds=&time=&geometry="+i.location.x+"%2C+"+i.location.y+"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=json";fetch(a).then((e=>e.json())).then((function(t){e({id:"historicDistrict",data:t})})).catch((e=>{}))})),R=new Promise(((e,t)=>{let a="https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/fie_properties_final/FeatureServer/0/query?where=parcel_id%3D%27".concat(i.attributes.parcel_id,"%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnHiddenFields=false&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=");return fetch(a).then((e=>e.json())).then((function(t){e({id:"fireEscrow",data:t})})).catch((e=>{}))}));return a.forEach((e=>{switch(e){case"council":s.push(c);break;case"neighborhood":s.push(l);break;case"assessors-data":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&("CONDO BUILDING"==i.attributes.parcel_id||s.push(r));break;case"permit-data":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&s.push(_);break;case"blight-data":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&s.push(v);break;case"salesHistoryData":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&s.push(A);break;case"fireEscrow":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&s.push(R);break;case"nez":s.push(b);break;case"nrsa":s.push(f);break;case"npo":s.push(E);break;case"improve-det":s.push(O);break;case"recycling":s.push(k);break;case"rental-data":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&s.push(y);break;case"rental-cert":s.push(g);break;case"demo-status":null!=i.attributes.parcel_id&&""!=i.attributes.parcel_id&&s.push(C);break;case"demos-data":s.push(S);break;case"stabilization-data":s.push(w);break;case"schools":s.push(D);break;case"historicDistrict":s.push(F);break;case"district-managers":s.push(u);break;case"district-inspectors":s.push(p);break;case"council-members":s.push(m);break;case"bop-members":s.push(d);break;case"HRDFlooding":console.log("pushing HRDFlooding"),s.push(h)}})),s}buildCouncilData(e){let t={council:{district:"District ".concat(e.council.data.attributes.council_district),districtURL:null,name:null,url:null,phone:null},bop:{district:"District ".concat(e.council.data.attributes.council_district),url:null,name:null,url:null,phone:null,email:null},dmanager:{name:null,url:"/departments/department-of-neighborhoods/district-".concat(e.council.data.attributes.council_district,"#block-views-block-contacts-special-block-1"),phone:null},ddmanager:{name:null,url:"/departments/department-of-neighborhoods/district-".concat(e.council.data.attributes.council_district,"#block-views-block-contacts-special-block-1"),phone:null},bliaision:{name:null,email:null},enforcement:{name:null,phone:null}};switch(e.council.data.attributes.council_district.toString()){case"1":t.council.districtURL="/taxonomy/term/1276",e["council-members"].data.forEach((e=>{"1276"==e.tid&&(t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1276",t.council.phone=e.field_phone)})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 1")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4331";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{e.field_contact_position.includes("District 1 Manager")&&(t.dmanager.name=e.title,t.dmanager.phone=e.field_telephone),e.field_contact_position.includes("District 1 Deputy Manager")&&(t.ddmanager.name=e.title,t.ddmanager.phone=e.field_telephone),e.field_contact_position.includes("District 1 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{e.field_responsibilities.includes("District 1")&&(t.enforcement.name=e.title,t.enforcement.phone=e.field_telephone)}));break;case"2":t.council.districtURL="/taxonomy/term/1476",e["council-members"].data.forEach((e=>{"1476"==e.tid&&(t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1476",t.council.phone=e.field_phone)})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 2")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4336";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{e.field_contact_position.includes("District 2 Manager")&&(t.dmanager.name=e.title,t.dmanager.phone=e.field_telephone),e.field_contact_position.includes("District 2 Deputy Manager")&&(t.ddmanager.name=e.title,t.ddmanager.phone=e.field_telephone),e.field_contact_position.includes("District 2 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{e.field_responsibilities.includes("District 2")&&(t.enforcement.name=e.title,t.enforcement.phone=e.field_telephone)}));break;case"3":t.council.districtURL="/taxonomy/term/1481",e["council-members"].data.forEach((e=>{"1481"==e.tid&&(t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1481",t.council.phone=e.field_phone)})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 3")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4341";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{e.field_contact_position.includes("District 3 Manager")&&(t.dmanager.name=e.title,t.dmanager.phone=e.field_telephone),e.field_contact_position.includes("District 3 Deputy Manager")&&(t.ddmanager.name=e.title,t.ddmanager.phone=e.field_telephone),e.field_contact_position.includes("District 3 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{e.field_responsibilities.includes("District 3")&&(t.enforcement.name=e.title,t.enforcement.phone=e.field_telephone)}));break;case"4":t.council.districtURL="/taxonomy/term/1486",e["council-members"].data.forEach((e=>{"1486"==e.tid&&(t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1486",t.council.phone=e.field_phone)})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 4")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4346";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{e.field_contact_position.includes("District 4 Manager")&&(t.dmanager.name=e.title,t.dmanager.phone=e.field_telephone),e.field_contact_position.includes("District 4 Deputy Manager")&&(t.ddmanager.name=e.title,t.ddmanager.phone=e.field_telephone),e.field_contact_position.includes("District 4 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{e.field_responsibilities.includes("District 4")&&(t.enforcement.name=e.title,t.enforcement.phone=e.field_telephone)}));break;case"5":t.council.districtURL="/taxonomy/term/1346",e["council-members"].data.forEach((e=>{"1346"==e.tid&&(t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1346",t.council.phone=e.field_phone)})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 5")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4351";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{e.field_contact_position.includes("District 5 Manager")&&(t.dmanager.name=e.title,t.dmanager.phone=e.field_telephone),e.field_contact_position.includes("District 5 Deputy Manager")&&(t.ddmanager.name=e.title,t.ddmanager.phone=e.field_telephone),e.field_contact_position.includes("District 5 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{e.field_responsibilities.includes("District 5")&&(t.enforcement.name=e.title,t.enforcement.phone=e.field_telephone)}));break;case"6":t.council.districtURL="/taxonomy/term/1491",e["council-members"].data.forEach((e=>{if("1491"==e.tid){let a=e.field_phone.replace("Office: ","");a=a.replace(/ /g,"-"),a=a.replace(/[()]/g,""),t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1491",t.council.phone='').concat(e.field_phone,"")}})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 6")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4321";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{if(e.field_contact_position.includes("District 6 Manager")){let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.dmanager.name=e.title,t.dmanager.phone='').concat(e.field_telephone,"")}if(e.field_contact_position.includes("District 6 Deputy Manager")){let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.ddmanager.name=e.title,t.ddmanager.phone='').concat(e.field_telephone,"")}e.field_contact_position.includes("District 6 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{if(e.field_responsibilities.includes("District 6")){let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.enforcement.name=e.title,t.enforcement.phone='').concat(e.field_telephone,"")}}));break;case"7":t.council.districtURL="/taxonomy/term/1511",e["council-members"].data.forEach((e=>{"1511"==e.tid&&(t.council.name=e.field_organization_head_name,t.council.url="/taxonomy/term/1511",t.council.phone=e.field_phone)})),e["bop-members"].data.forEach((e=>{if(e.field_responsibilities.includes("District 7")){t.bop.name=e.title,t.bop.url="/taxonomy/term/4356";let a=e.field_telephone.replace(/ /g,"-");a=a.replace(/[()]/g,""),t.bop.phone='').concat(e.field_telephone,""),t.bop.email=e.field_email_address}})),e["district-managers"].data.forEach((e=>{e.field_contact_position.includes("District 7 Manager")&&(t.dmanager.name=e.title,t.dmanager.phone=e.field_telephone),e.field_contact_position.includes("District 7 Deputy Manager")&&(t.ddmanager.name=e.title,t.ddmanager.phone=e.field_telephone),e.field_contact_position.includes("District 7 Business Liaison")&&(t.bliaision.name=e.title,t.bliaision.email=e.field_email_address)})),e["district-inspectors"].data.forEach((e=>{e.field_responsibilities.includes("District 7")&&(t.enforcement.name=e.title,t.enforcement.phone=e.field_telephone)}))}return t}sortFeaturesByDistanceTo(e){return function(t,a){var i={units:"radians"};return n.distance(e,t,i)-n.distance(e,a,i)}}getData(e){const t=document.getElementsByTagName("my-home-info"),a=t[0].getAttribute("data-active-sets").split(","),i=(JSON.parse(t[0].getAttribute("data-parcel-id")),JSON.parse(t[0].getAttribute("data-api-stored-datasets")));let s=!1;for(let r in i)a.includes(r)&&(s=!0);if(s){let e={};a.forEach((t=>{e[t]=i[t]})),t[0].setAttribute("data-api-active-datasets",JSON.stringify(e)),t[0].setAttribute("data-app-state","results")}else{let i=e.getDataSets(e);Promise.all(i).then((i=>{console.log(i);let s={};for(let e in i)null!=i[e]?s[i[e].id]=i[e]:initialLoadChecker=!1;if(a.includes("council")){let t=e.buildCouncilData(s);s["council-members"]={id:"council-members",data:t.council},s["bop-members"]={id:"bop-members",data:t.bop};let a={manager:t.dmanager,deputy:t.ddmanager};s["district-managers"]={id:"district-managers",data:a},s["business-liaison"]={id:"business-liaison",data:t.bliaision},s["district-inspectors"]={id:"district-inspectors",data:t.enforcement}}if(a.includes("DWSDBackupProtection"))try{s.DWSDBackupProtection||(s.DWSDBackupProtection={id:"DWSDBackupProtection",data:s.neighborhood.data})}catch(r){}t[0].setAttribute("data-api-active-datasets",JSON.stringify(s)),t[0].setAttribute("data-app-state","results")})).catch((e=>{}))}}clearLoader(e){const t=e.shadowRoot;for(;t.firstChild;)t.removeChild(t.firstChild)}loadLoader(e){const t=e.shadowRoot,a=document.createElement("section");switch(a.id="loader-wrapper",e.getAttribute("data-loader-state")){case"active":e.getData(e);const i=document.createElement("p");i.innerText="Loading DATA",a.appendChild(i),t.appendChild(a);break;case"finished":const s=document.createElement("p");s.innerText="Data loaded",a.appendChild(s),t.appendChild(a)}}}const c=JSON.parse('{"name":"d6","data":{"type":"FeatureCollection","features":[{"type":"Feature","id":1,"geometry":{"type":"Point","coordinates":[-83.0667049083513,42.3316885335753]},"properties":{"business_survey_id":"6011","business_name":"McShane\'s Irish Pub & Whiskey Bar","business_website":"https://mcshanespub.com/","business_phone_number":"+1 (313) 961-1960","street_number":1460,"street_prefix":"","street_name":"Michigan","unit_type":"Unit","unit_number":"","city":"Detroit","state":"MI","zip_code":"48216","profit_or_nonprofit":"For-profit / con fines de lucro / \u0647\u0627\u062f\u0641\u0629 \u0644\u0644\u0631\u0628\u062d","primary_type_of_service":"Bar/Restaurant / Bar/Restaurante / \u062d\u0627\u0646\u0629 / \u0645\u0637\u0639\u0645","faith_tradition":"","has_clinic_community_health_ser":null,"has_dental_service":null,"has_emergency_urgent_care_servi":null,"has_family_health_service":null,"has_mental_health_service":null,"has_pediatric_service":null,"has_primary_care_service":null,"has_sexual_health_service":null,"has_specialist_service":null,"has_other_health_service":null,"is_public_transit_accessible":1,"is_ada_accessible":null,"has_bike_rack":null,"has_parking_lot":null,"is_cash_only":null,"has_free_wifi":null,"has_gender_neutral_bathrooms":null,"has_rental_space":null,"is_asian_owned":null,"is_black_owned":null,"is_lgbtq_owned":null,"is_indigenous_owned":null,"is_middle_eastern_owned":null,"is_veteran_owned":null,"is_minority_owned":null,"is_woman_owned":null,"modified_at":1692969075000,"ESRI_OID":1,"amenities":"Accessible by public transit / Accesible por transporte p\xfablico / \u064a\u0645\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0628\u0627\u0644\u0637\u0631\u064a\u0642 \u0627\u0644\u0646\u0642\u0644 \u0627\u0644\u0639\u0627\u0645","address":"1460 Michigan Ave","healthcare_type":"","business_owner_demographics":"","street_type":"Ave"}},{"type":"Feature","id":2,"geometry":{"type":"Point","coordinates":[-83.0194216508142,42.3446372944598]},"properties":{"business_survey_id":"6008","business_name":"D6 CM GSR","business_website":"https://detroitmi.gov/government/city-council/city-council-district-6","business_phone_number":"+1 (313) 224-2450","street_number":2,"street_prefix":"","street_name":"Woods","unit_type":"Suite","unit_number":"1340","city":"Detroit","state":"MI","zip_code":"48226","profit_or_nonprofit":"Non-profit / Sin fines de lucro / \u063a\u064a\u0631 \u0631\u0628\u062d\u064a\u0629","primary_type_of_service":"Healthcare/Medical/Dental / Cuidado de la salud/M\xe9dico/Dental / \u0627\u0644\u0631\u0639\u0627\u064a\u0629 \u0627\u0644\u0635\u062d\u064a\u0629 / \u0637\u0628 / \u0637\u0628 \u0627\u0644\u0623\u0633\u0646\u0627\u0646","faith_tradition":"","has_clinic_community_health_ser":null,"has_dental_service":null,"has_emergency_urgent_care_servi":null,"has_family_health_service":null,"has_mental_health_service":null,"has_pediatric_service":null,"has_primary_care_service":1,"has_sexual_health_service":null,"has_specialist_service":null,"has_other_health_service":null,"is_public_transit_accessible":1,"is_ada_accessible":1,"has_bike_rack":1,"has_parking_lot":null,"is_cash_only":null,"has_free_wifi":null,"has_gender_neutral_bathrooms":null,"has_rental_space":null,"is_asian_owned":null,"is_black_owned":null,"is_lgbtq_owned":1,"is_indigenous_owned":null,"is_middle_eastern_owned":null,"is_veteran_owned":null,"is_minority_owned":null,"is_woman_owned":1,"modified_at":1690916288000,"ESRI_OID":2,"amenities":"Accessible by public transit / Accesible por transporte p\xfablico / \u064a\u0645\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0628\u0627\u0644\u0637\u0631\u064a\u0642 \u0627\u0644\u0646\u0642\u0644 \u0627\u0644\u0639\u0627\u0645, ADA Accessible/Barrier free / Accesible seg\xfan la ADA/sin barreras / \u062e\u0627\u0644\u064a \u0645\u0646 \u0627\u0644\u062d\u0648\u0627\u062c\u0632/ (ADA) \u0633\u0647\u0644 \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a \u0627\u0644\u0645\u0639\u0627\u0642\u064a\u0646, Bike rack / Portabicicletas/ \u0631\u0641 \u0627\u0644\u062f\u0631\u0627\u062c\u0629, Free Wi-Fi / Wi-Fi gratis / \u0648\u0627\u064a \u0641\u0627\u064a \u0645\u062c\u0627\u0646\u064a","address":"2 Woods Cir","healthcare_type":"Primary Care / Atenci\xf3n primaria / \u0631\u0639\u0627\u064a\u0629 \u0627\u0644\u0635\u062d\u0629 \u0627\u0644\u0623\u0648\u0644\u064a\u0629","business_owner_demographics":"Latinx-owned / propiedad de latinos / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0644\u0627\u062a\u0646\u064a\u0629, LGBTQ-owned / Propiedad LGBTQ / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0627\u0644\u0645\u062b\u0644\u064a\u064a \u0627\u0644\u062c\u0646\u0633 \u0648\u0627\u0644\u0645\u062a\u062d\u0648\u0644\u064a\u0646 \u062c\u0646\u0633\u064a\u0627, Woman-owned / propiedad de una mujer / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0644\u0644\u0645\u0631\u0623\u0629","street_type":"Cir"}},{"type":"Feature","id":3,"geometry":{"type":"Point","coordinates":[-83.0929805515992,42.3316666742977]},"properties":{"business_survey_id":"6012","business_name":"27th Letter Books","business_website":"https://www.27thletterbooks.com/","business_phone_number":"+1 (313) 652-1552","street_number":3546,"street_prefix":"","street_name":"Michigan","unit_type":"Unit","unit_number":"","city":"Detroit","state":"MI","zip_code":"48216","profit_or_nonprofit":"For-profit / con fines de lucro / \u0647\u0627\u062f\u0641\u0629 \u0644\u0644\u0631\u0628\u062d","primary_type_of_service":"Retail / Lugar de ventas / \u0645\u0641\u0631\u0642","faith_tradition":"","has_clinic_community_health_ser":null,"has_dental_service":null,"has_emergency_urgent_care_servi":null,"has_family_health_service":null,"has_mental_health_service":null,"has_pediatric_service":null,"has_primary_care_service":null,"has_sexual_health_service":null,"has_specialist_service":null,"has_other_health_service":null,"is_public_transit_accessible":null,"is_ada_accessible":null,"has_bike_rack":null,"has_parking_lot":null,"is_cash_only":null,"has_free_wifi":null,"has_gender_neutral_bathrooms":null,"has_rental_space":null,"is_asian_owned":1,"is_black_owned":1,"is_lgbtq_owned":null,"is_indigenous_owned":null,"is_middle_eastern_owned":null,"is_veteran_owned":1,"is_minority_owned":1,"is_woman_owned":1,"modified_at":1692969075000,"ESRI_OID":3,"amenities":"","address":"3546 Michigan Ave","healthcare_type":"","business_owner_demographics":"Asian-owned / De propiedad asi\xe1tica / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0644\u0622\u0633\u064a\u0627, Black-owned / propiedad de negros / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0644\u0644\u0633\u0648\u062f, Minority-owned / Propiedad de minor\xedas / \u062a\u0645\u0644\u0643\u0647\u0627 \u0623\u0642\u0644\u064a\u0629, Veteran-owned / Propiedad de veteranos / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0627\u0644\u0645\u062e\u0636\u0631\u0645, Woman-owned / propiedad de una mujer / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0644\u0644\u0645\u0631\u0623\u0629","street_type":"Ave"}},{"type":"Feature","id":4,"geometry":{"type":"Point","coordinates":[-83.0636146608718,42.351349933761]},"properties":{"business_survey_id":"6010","business_name":"Source Booksellers","business_website":"http://www.sourcebooksellers.com/","business_phone_number":"+1 (313) 832-1155","street_number":4240,"street_prefix":"","street_name":"Cass","unit_type":"Unit","unit_number":"105","city":"Detroit","state":"MI","zip_code":"48201","profit_or_nonprofit":"For-profit / con fines de lucro / \u0647\u0627\u062f\u0641\u0629 \u0644\u0644\u0631\u0628\u062d","primary_type_of_service":"Retail / Lugar de ventas / \u0645\u0641\u0631\u0642","faith_tradition":"","has_clinic_community_health_ser":null,"has_dental_service":null,"has_emergency_urgent_care_servi":null,"has_family_health_service":null,"has_mental_health_service":null,"has_pediatric_service":null,"has_primary_care_service":null,"has_sexual_health_service":null,"has_specialist_service":null,"has_other_health_service":null,"is_public_transit_accessible":1,"is_ada_accessible":1,"has_bike_rack":1,"has_parking_lot":null,"is_cash_only":null,"has_free_wifi":null,"has_gender_neutral_bathrooms":null,"has_rental_space":null,"is_asian_owned":null,"is_black_owned":null,"is_lgbtq_owned":null,"is_indigenous_owned":null,"is_middle_eastern_owned":null,"is_veteran_owned":null,"is_minority_owned":1,"is_woman_owned":1,"modified_at":1692969075000,"ESRI_OID":4,"amenities":"Accessible by public transit / Accesible por transporte p\xfablico / \u064a\u0645\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0628\u0627\u0644\u0637\u0631\u064a\u0642 \u0627\u0644\u0646\u0642\u0644 \u0627\u0644\u0639\u0627\u0645, ADA Accessible/Barrier free / Accesible seg\xfan la ADA/sin barreras / \u062e\u0627\u0644\u064a \u0645\u0646 \u0627\u0644\u062d\u0648\u0627\u062c\u0632/ (ADA) \u0633\u0647\u0644 \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a \u0627\u0644\u0645\u0639\u0627\u0642\u064a\u0646, Bike rack / Portabicicletas/ \u0631\u0641 \u0627\u0644\u062f\u0631\u0627\u062c\u0629","address":"4240 Cass Ave","healthcare_type":"","business_owner_demographics":"Minority-owned / Propiedad de minor\xedas / \u062a\u0645\u0644\u0643\u0647\u0627 \u0623\u0642\u0644\u064a\u0629, Woman-owned / propiedad de una mujer / \u0627\u0644\u0645\u0645\u0644\u0648\u0643\u0629 \u0644\u0644\u0645\u0631\u0623\u0629","street_type":"Ave"}},{"type":"Feature","id":5,"geometry":{"type":"Point","coordinates":[-83.092608693067,42.3174721837889]},"properties":{"business_survey_id":"6007","business_name":"Test Business","business_website":"","business_phone_number":"+1 (313) 111-1111","street_number":4301,"street_prefix":"W","street_name":"Vernor","unit_type":"","unit_number":"","city":"Detroit","state":"MI","zip_code":"48209","profit_or_nonprofit":"Non-profit / Sin fines de lucro / \u063a\u064a\u0631 \u0631\u0628\u062d\u064a\u0629","primary_type_of_service":"Other / Otra / \u0622\u062e\u0631","faith_tradition":"","has_clinic_community_health_ser":null,"has_dental_service":null,"has_emergency_urgent_care_servi":null,"has_family_health_service":null,"has_mental_health_service":null,"has_pediatric_service":null,"has_primary_care_service":null,"has_sexual_health_service":null,"has_specialist_service":null,"has_other_health_service":null,"is_public_transit_accessible":1,"is_ada_accessible":null,"has_bike_rack":1,"has_parking_lot":1,"is_cash_only":null,"has_free_wifi":null,"has_gender_neutral_bathrooms":null,"has_rental_space":null,"is_asian_owned":null,"is_black_owned":null,"is_lgbtq_owned":null,"is_indigenous_owned":null,"is_middle_eastern_owned":null,"is_veteran_owned":null,"is_minority_owned":null,"is_woman_owned":null,"modified_at":1690915332000,"ESRI_OID":5,"amenities":"Accessible by public transit / Accesible por transporte p\xfablico / \u064a\u0645\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0628\u0627\u0644\u0637\u0631\u064a\u0642 \u0627\u0644\u0646\u0642\u0644 \u0627\u0644\u0639\u0627\u0645, Bike rack / Portabicicletas/ \u0631\u0641 \u0627\u0644\u062f\u0631\u0627\u062c\u0629, Parking lot / Estacionamiento / \u0645\u0648\u0642\u0641 \u0633\u064a\u0627\u0631\u0627\u0629","address":"4301 W Vernor Hwy","healthcare_type":"","business_owner_demographics":"","street_type":"Hwy"}}]}}');customElements.define("app-display",r),customElements.define("app-data-loader",l);class d extends HTMLElement{static get observedAttributes(){return["data-app-state","data-parcel-id","data-map-state"]}constructor(){super();const e=this.attachShadow({mode:"open"});document.getElementsByTagName("d6-business-map")[0].getAttribute("data-app-state");this.testData=c,this.appWrapper=document.createElement("section"),this.appWrapper.id="app-wrapper",e.appendChild(this.appWrapper),this.panel=document.createElement("cod-offcanvas"),this.panel.id="d6-map-panel",this.panelHeader=document.createElement("cod-offcanvas-header"),this.panelTitle=document.createElement("h5"),this.panelTitle.innerText="Test Title",this.panelHeader.appendChild(this.panelTitle),this.panelBody=document.createElement("cod-offcanvas-body"),this.panelContent=document.createElement("article"),this.panelContent.innerHTML="\n

\n Some text as placeholder. In real life you can have the elements you\n have chosen. Like, text, images, lists, etc.\n

\n ",this.panelBody.appendChild(this.panelContent),this.panel.appendChild(this.panelHeader),this.panel.appendChild(this.panelBody),this.appWrapper.appendChild(this.panel),this.map=document.createElement("cod-map"),this.map.id="d6-map",this.map.setAttribute("data-parent-component","d6-business-map"),this.map.setAttribute("data-map-mode","map-panel"),this.map.setAttribute("data-map-active-data",this.getAttribute("data-map-active-data")),this.map.setAttribute("data-map-data",JSON.stringify(this.testData)),this.map.setAttribute("data-location",this.getAttribute("data-location")),this.map.setAttribute("data-map-state","init"),this.appWrapper.appendChild(this.map)}attributeChangedCallback(e,t,a){console.log("App - attribute: ".concat(e,", old: ").concat(t,", new: ").concat(a)),this.loadApp(this)}clearApp(e){console.log(e);const t=e.shadowRoot;for(;t.firstChild;)t.removeChild(t.firstChild)}clearPanel(e){}loadApp(e){console.log(e.getAttribute("data-app-state"));const t=e.shadowRoot,a=document.createElement("div");a.id="app-wrapper";document.createElement("app-data-loader");switch(e.getAttribute("data-app-state")){case"active-panel":let e=JSON.parse(this.getAttribute("data-panel-data"));this.panelTitle.innerText=e.properties.business_name,this.panelContent.innerHTML="\n

Address: ".concat(e.properties.street_number," ").concat(e.properties.street_name,'\n

Information

\n

Home services

\n

Services

\n '),this.panel.setAttribute("data-show","true");break;case"error":display.setAttribute("data-display-type","error"),a.appendChild(display);break;case"print":display.setAttribute("data-display-type","print"),a.appendChild(display)}null==t.firstChild&&t.appendChild(a)}}customElements.define("d6-business-map",d)}},e=>{e.O(0,[308,200,432],(()=>{return t=968,e(e.s=t);var t}));e.O()}]); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/build/assets/js/main.js.map b/build/assets/js/main.js.map new file mode 100644 index 0000000..8ff4519 --- /dev/null +++ b/build/assets/js/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assets/js/main.js","mappings":"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","sources":["webpack://d6-business-directory/./src/components/Geocoder.js","webpack://d6-business-directory/./src/components/NavigationTools.js","webpack://d6-business-directory/./src/components/Display.js","webpack://d6-business-directory/./src/components/DataLoader.js","webpack://d6-business-directory/./src/components/D6BusinessMap.js","webpack://d6-business-directory/./src/index.js"],"sourcesContent":["'use strict';\nexport default class Geocoder extends HTMLElement {\n\n static get observedAttributes() {\n return ['form', 'parcelStatus', 'user'];\n }\n\n constructor() {\n // Always call super first in constructor\n super();\n\n // Set Attributes\n this.form = null;\n this.parcelStatus = 'Invalid';\n this.user = null;\n this.styles = document.createElement('style');\n this.styles.textContent = `\n @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;700&display=swap')\n #geocoder {width: 100%}\n input {width: calc(100% - 2em); padding: 1em; border:.1em solid #e6e6e6; font-size: 1em;}\n `;\n\n // Create a shadow root\n const shadow = this.attachShadow({ mode: 'open' });\n\n // Create geocoder section\n shadow.appendChild(this.styles);\n const geocoderWraper = document.createElement('article');\n geocoderWraper.id = 'geocoder';\n let form = document.createElement('form');\n let label = document.createElement('label');\n label.style.fontFamily = 'Montserrat, sans-serif';\n label.style.fontWeight = 'bold';\n let input = document.createElement('input');\n let suggestions = document.createElement('ul');\n let list = document.createElement('datalist');\n let icon = document.createElement('i');\n form.addEventListener('submit', (ev) => {\n this.submit(ev, this);\n });\n icon.className = 'fas fa-map-marker-alt';\n // Get label text\n const app = document.getElementsByTagName('my-home-info');\n label.innerText = \"Property Address:\";\n try {\n if (app[0].getAttribute('data-geocoder-label')){\n if(app[0].getAttribute('data-geocoder-label') != ''){\n label.innerText = app[0].getAttribute('data-geocoder-label');\n }\n }\n } catch (error) {\n \n }\n label.setAttribute(\"for\", \"geocoder-input\");\n input.type = 'text';\n input.setAttribute('list', 'addresses-list');\n input.placeholder = 'Enter address';\n input.setAttribute('id', 'geocoder-input');\n input.setAttribute('autocomplete', 'off');\n input.addEventListener('keyup', (ev) => {\n this.inputChange(ev, this);\n });\n list.setAttribute('id', 'addresses-list');\n\n\n form.appendChild(label);\n form.appendChild(input);\n form.appendChild(icon);\n // form.appendChild(suggestions);\n form.appendChild(list);\n this.form = form;\n geocoderWraper.appendChild(form);\n shadow.appendChild(geocoderWraper);\n }\n\n supplementGeocoder(address, geocoder, type) {\n const app = document.getElementsByTagName('my-home-info');\n let tempAddr = address.split(\",\");\n tempAddr = tempAddr[0];\n tempAddr = tempAddr.split(\" \");\n let newTempAddr = '';\n let size = tempAddr.length;\n tempAddr.forEach(function (item, index) {\n newTempAddr += item;\n ((index < size) && (index + 1) !== size) ? newTempAddr += '+' : 0;\n });\n let url = `https://opengis.detroitmi.gov/opengis/rest/services/BaseUnits/BaseUnitGeocoder/GeocodeServer/findAddressCandidates?Address=&Address2=&Address3=&Neighborhood=&City=&Subregion=&Region=&Postal=&PostalExt=&CountryCode=&SingleLine=${newTempAddr}&outFields=*&maxLocations=&matchOutOfRange=true&langCode=&locationType=&sourceCountry=&category=&location=&distance=&searchExtent=&outSR=&magicKey=&f=json`;\n\n try {\n fetch(url)\n .then((resp) => resp.json()) // Transform the data into json\n .then(function (data) {\n // console.log(data);\n if (type === 'suggestions') {\n data.candidates.forEach((item) => {\n let sugg = document.createElement('option');\n if (item.attributes.parcel_id === '') {\n sugg.value = item.address;\n sugg.setAttribute('data-parsel', 'no-parcel');\n } else {\n sugg.value = `${item.address} RECOMMENDED`;\n sugg.setAttribute('data-parsel', item.attributes.parcel_id);\n }\n\n sugg.onclick = (ev) => {\n geocoder.selectSuggestion(ev, geocoder);\n }\n geocoder.form.childNodes[3].appendChild(sugg);\n });\n } else {\n if (data.candidates.length) {\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/City_of_Detroit_Boundary/FeatureServer/0/query?where=&objectIds=&time=&geometry=${data.candidates[0].location.x}%2C+${data.candidates[0].location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=4326&returnGeometry=true&returnCentroid=false&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=geojson&token=`;\n try {\n fetch(url)\n .then((resp) => resp.json()) // Transform the data into json\n .then(function (city) {\n if (city.features.length) {\n let parcel = null;\n let location;\n data.candidates.forEach((item) => {\n if (item.attributes.parcel_id !== '') {\n if (geocoder.checkParcelValid(item.attributes.parcel_id)) {\n parcel = item;\n }\n }\n });\n (parcel == null) ? location = data.candidates[0].location : location = null;\n if (parcel === null) {\n geocoder.parcelStatus = 'Invalid';\n geocoder.needGeocode(address, geocoder, location);\n geocoder.clearSuggestions(geocoder);\n app[0].setAttribute('data-parcel-id', JSON.stringify(data.candidates[0]));\n // geocoder.controller.panel.loaderToggle(true);\n // geocoder.controller.panel.clearPanel();\n // geocoder.controller.dataManager.buildData(data.candidates[0], geocoder.controller);\n } else {\n geocoder.parcelStatus = 'Valid';\n geocoder.needGeocode(address, geocoder, location);\n geocoder.clearSuggestions(geocoder);\n app[0].setAttribute('data-parcel-id', JSON.stringify(parcel));\n // geocoder.controller.panel.loaderToggle(true);\n // geocoder.controller.panel.clearPanel();\n // geocoder.controller.dataManager.buildData(parcel, geocoder.controller);\n }\n } else {\n geocoder.parcelStatus = 'Invalid';\n geocoder.needGeocode(address, geocoder, location);\n geocoder.clearSuggestions(geocoder);\n app[0].setAttribute('data-app-state', 'error');\n }\n });\n } catch (error) {\n geocoder.parcelStatus = 'Invalid';\n geocoder.needGeocode(address, geocoder, location);\n geocoder.clearSuggestions(geocoder);\n app[0].setAttribute('data-app-state', 'error');\n }\n } else {\n geocoder.parcelStatus = 'Invalid';\n geocoder.needGeocode(address, geocoder, location);\n geocoder.clearSuggestions(geocoder);\n app[0].setAttribute('data-app-state', 'error');\n }\n }\n });\n } catch (error) {\n geocoder.parcelStatus = 'Invalid';\n geocoder.needGeocode(address, geocoder, location);\n geocoder.clearSuggestions(geocoder);\n app[0].setAttribute('data-app-state', 'error');\n }\n }\n\n selectSuggestion(ev, geocoder) {\n let selection = null;\n if (ev.target.tagName === 'SPAN') {\n selection = ev.target.parentNode;\n } else {\n selection = ev.target;\n }\n if (selection.attributes[0].value === 'no-parcel') {\n geocoder.clearSuggestions(geocoder);\n geocoder.supplementGeocoder(selection.innerText, geocoder, 'submit');\n } else {\n geocoder.supplementGeocoder(selection.innerText, geocoder, 'submit');\n }\n }\n\n inputChange(ev, geocoder) {\n switch (ev.key) {\n case 'Enter':\n (ev.target.value != '' && ev.target.value != undefined) ? geocoder.supplementGeocoder(ev.target.value, geocoder, 'submit') : 0;\n break;\n\n case 'ArrowDown':\n\n break;\n\n case 'ArrowUp':\n\n break;\n\n case 'ArrowRight':\n\n break;\n\n case 'ArrowLeft':\n\n break;\n\n case undefined:\n (ev.target.value != '' && ev.target.value != undefined) ? geocoder.supplementGeocoder(ev.target.value, geocoder, 'submit') : 0;\n break;\n\n default:\n geocoder.clearSuggestions(geocoder);\n geocoder.supplementGeocoder(ev.target.value, geocoder, 'suggestions');\n break;\n }\n }\n\n clearSuggestions(geocoder) {\n while (geocoder.form.childNodes[3].firstChild) {\n geocoder.form.childNodes[3].removeChild(geocoder.form.childNodes[3].firstChild);\n }\n }\n\n needGeocode(address, geocoder, location) {\n fetch('https://us-central1-local-services-loopkup.cloudfunctions.net/getToken')\n .then((resp) => resp.json()) // Transform the data into json\n .then(function (data) {\n let cleanAddress = address.split(' RECOMMENDED')[0];\n let params = [\n {\n \"attributes\": {\n \"valid_parcel_status\": geocoder.parcelStatus,\n \"user_input\": cleanAddress\n },\n \"geometry\": {\n \"x\": 0,\n \"y\": 0\n }\n }\n ];\n if (location != null) {\n params[0].geometry.x = location.x;\n params[0].geometry.y = location.y;\n }\n let request = new Request(`https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/addressvalidator/FeatureServer/0/addFeatures?token=${data.access_token}&features=${encodeURIComponent(JSON.stringify(params))}&f=json`, {\n method: 'POST',\n body: '',\n headers: new Headers(),\n mode: 'cors',\n cache: 'default'\n });\n fetch(request)\n .then((res) => {\n // console.log(res);\n });\n });\n }\n\n checkParcelValid(parcel){\n return /\\d/.test(parcel);\n }\n\n submit(ev, geocoder) {\n ev.preventDefault();\n geocoder.supplementGeocoder(ev.target['0'].value, geocoder, 'submit');\n }\n}","export default class NavigationTools extends HTMLElement {\n\n constructor() {\n // Always call super first in constructor\n super();\n\n // Create a shadow root\n const shadow = this.attachShadow({ mode: 'open' });\n\n // Creating display styles\n this.navToolsStyle = document.createElement('style');\n this.navToolsStyle.textContent = `\n #nav-tools-wrapper { display: flex; flex-direction: column;}\n button.clear { font-size: 1.25em; width: 2.5em; height: 2.5em; background-color: #FEB70D; cursor: pointer; border: none; }\n button.nav { width: 3.75em; height: 3.75em; border: none; cursor: pointer;background: #fff; }\n button.nav:hover { background-color: #e6e6e6; transition: all 500ms cubic-bezier(.64,.09,.08,1); }\n button.nav.active { background-color: #9fd5b3; }\n button.nav img { width: 100%; }\n `;\n\n // Start loading display content\n this.loadNavTools(this);\n }\n\n clearDisplay(display) {\n const shadow = display.shadowRoot;\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n }\n\n loadNavTools(navTools) {\n const app = document.getElementsByTagName('d6-business-map');\n const appStatus = app[0].getAttribute('data-app-state');\n const appMode = app[0].getAttribute('data-app-mode');\n const initialSets = app[0].getAttribute('data-inital-sets');\n const initalMapStatus = app[0].getAttribute('data-initial-map-available');\n const shadow = navTools.shadowRoot;\n shadow.appendChild(navTools.navToolsStyle);\n const navToolsWrapper = document.createElement('section');\n navToolsWrapper.id = 'nav-tools-wrapper';\n navToolsWrapper.setAttribute('role', 'navigation');\n navToolsWrapper.setAttribute('aria-label', 'Data Navigation');\n const clearResultsBtn = document.createElement('cod-button');\n clearResultsBtn.addEventListener('click', (ev) => {\n if (app[0].getAttribute('data-app-mode') == 'my-home-info') {\n app[0].setAttribute('data-app-state', 'welcome-screen');\n app[0].setAttribute('data-active-sets', 'assessors-data,neighborhood,recycling,rental-data,rental-cert,demo-status,blight-data,permit-data,DWSDBackupProtection');\n } else {\n app[0].setAttribute('data-app-state', 'active-screen');\n app[0].setAttribute('data-active-sets', initialSets);\n }\n if(initalMapStatus == 'true'){\n app[0].setAttribute('data-map-available', 'true');\n }else{\n app[0].setAttribute('data-map-available', 'false');\n }\n app[0].setAttribute('data-parcel-id', 'none');\n app[0].setAttribute('data-api-stored-datasets', '{}');\n app[0].setAttribute('data-api-active-datasets', 'none');\n app[0].setAttribute('data-active-section', 'property');\n });\n clearResultsBtn.setAttribute('data-primary', true);\n clearResultsBtn.setAttribute('data-label', 'x');\n clearResultsBtn.setAttribute('data-size', 'lg');\n clearResultsBtn.setAttribute('data-hover', false);\n clearResultsBtn.setAttribute('data-extra-classes', 'fw-bold');\n clearResultsBtn.setAttribute('data-background-color', 'warning');\n clearResultsBtn.setAttribute('data-img', '');\n clearResultsBtn.setAttribute('data-img-alt', '');\n clearResultsBtn.setAttribute('data-shape', 'square');\n clearResultsBtn.setAttribute('data-icon', '');\n navToolsWrapper.appendChild(clearResultsBtn);\n\n if (appMode == 'my-home-info' && appStatus != 'error') {\n const propertyDataBtn = document.createElement('cod-button');\n propertyDataBtn.setAttribute('data-label', '');\n propertyDataBtn.setAttribute('data-size', 'lg');\n propertyDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/home.png');\n propertyDataBtn.setAttribute('data-img-alt', 'about this property');\n propertyDataBtn.setAttribute('data-shape', 'square');\n propertyDataBtn.setAttribute('data-nav-value', 'about this property');\n propertyDataBtn.setAttribute('data-icon', '');\n if (app[0].getAttribute('data-active-section') == 'about this property') {\n propertyDataBtn.setAttribute('data-background-color', 'success');\n propertyDataBtn.setAttribute('data-primary', true);\n } else {\n propertyDataBtn.setAttribute('data-background-color', 'secondary');\n propertyDataBtn.setAttribute('data-primary', false);\n propertyDataBtn.addEventListener('click', (ev) => {\n if (app[0].getAttribute('data-api-active-datasets') != 'none') {\n let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets'));\n let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets'));\n for (const key in activeData) {\n if (!(key in storedData)) {\n storedData[key] = activeData[key];\n }\n }\n app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData));\n }\n app[0].setAttribute('data-api-active-datasets', 'none');\n app[0].setAttribute('data-active-sets', 'assessors-data,neighborhood,recycling,rental-data,rental-cert,demo-status,blight-data,permit-data,DWSDBackupProtection');\n app[0].setAttribute('data-map-available', 'false');\n app[0].setAttribute('data-active-section', 'about this property');\n app[0].setAttribute('data-app-state', 'loading-screen');\n })\n }\n navToolsWrapper.appendChild(propertyDataBtn);\n\n const govDataBtn = document.createElement('cod-button');\n govDataBtn.setAttribute('data-label', '');\n govDataBtn.setAttribute('data-size', 'lg');\n govDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/government.png');\n govDataBtn.setAttribute('data-img-alt', 'government officials');\n govDataBtn.setAttribute('data-shape', 'square');\n govDataBtn.setAttribute('data-nav-value', 'government officials');\n govDataBtn.setAttribute('data-icon', '');\n if (app[0].getAttribute('data-active-section') == 'government officials') {\n govDataBtn.setAttribute('data-background-color', 'success');\n govDataBtn.setAttribute('data-primary', true);\n } else {\n govDataBtn.setAttribute('data-background-color', 'secondary');\n govDataBtn.setAttribute('data-primary', false);\n govDataBtn.addEventListener('click', (ev) => {\n if (app[0].getAttribute('data-api-active-datasets') != 'none') {\n let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets'));\n let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets'));\n for (const key in activeData) {\n if (!(key in storedData)) {\n storedData[key] = activeData[key];\n }\n }\n app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData));\n }\n app[0].setAttribute('data-api-active-datasets', 'none');\n app[0].setAttribute('data-active-sets', 'council,council-members,bop-members,district-managers,business-liaison,district-inspectors,npo');\n app[0].setAttribute('data-map-available', 'false');\n app[0].setAttribute('data-active-section', 'government officials');\n app[0].setAttribute('data-app-state', 'loading-screen');\n });\n }\n navToolsWrapper.appendChild(govDataBtn);\n\n const zoneDataBtn = document.createElement('cod-button');\n zoneDataBtn.setAttribute('data-label', '');\n zoneDataBtn.setAttribute('data-size', 'lg');\n zoneDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/zone.png');\n zoneDataBtn.setAttribute('data-img-alt', 'special areas and zones');\n zoneDataBtn.setAttribute('data-shape', 'square');\n zoneDataBtn.setAttribute('data-nav-value', 'special areas and zones');\n zoneDataBtn.setAttribute('data-icon', '');\n if (app[0].getAttribute('data-active-section') == 'special areas and zones') {\n zoneDataBtn.setAttribute('data-background-color', 'success');\n zoneDataBtn.setAttribute('data-primary', true);\n } else {\n zoneDataBtn.setAttribute('data-background-color', 'secondary');\n zoneDataBtn.setAttribute('data-primary', false);\n zoneDataBtn.addEventListener('click', (ev) => {\n if (app[0].getAttribute('data-api-active-datasets') != 'none') {\n let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets'));\n let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets'));\n for (const key in activeData) {\n if (!(key in storedData)) {\n storedData[key] = activeData[key];\n }\n }\n app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData));\n }\n app[0].setAttribute('data-api-active-datasets', 'none');\n app[0].setAttribute('data-active-sets', 'nez,nrsa,historicDistrict');\n app[0].setAttribute('data-map-available', 'false');\n app[0].setAttribute('data-active-section', 'special areas and zones');\n app[0].setAttribute('data-app-state', 'loading-screen');\n });\n }\n navToolsWrapper.appendChild(zoneDataBtn);\n\n const nearDataBtn = document.createElement('cod-button');\n nearDataBtn.setAttribute('data-label', '');\n nearDataBtn.setAttribute('data-size', 'lg');\n nearDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/nearby.png');\n nearDataBtn.setAttribute('data-img-alt', 'things nearby');\n nearDataBtn.setAttribute('data-shape', 'square');\n nearDataBtn.setAttribute('data-nav-value', 'things nearby');\n nearDataBtn.setAttribute('data-icon', '');\n if (app[0].getAttribute('data-active-section') == 'things nearby') {\n nearDataBtn.setAttribute('data-background-color', 'success');\n nearDataBtn.setAttribute('data-primary', true);\n } else {\n nearDataBtn.setAttribute('data-background-color', 'secondary');\n nearDataBtn.setAttribute('data-primary', false);\n nearDataBtn.addEventListener('click', (ev) => {\n if (app[0].getAttribute('data-api-active-datasets') != 'none') {\n let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets'));\n let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets'));\n for (const key in activeData) {\n if (!(key in storedData)) {\n storedData[key] = activeData[key];\n }\n }\n app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData));\n }\n app[0].setAttribute('data-api-active-datasets', 'none');\n app[0].setAttribute('data-active-sets', 'schools,demos-data,stabilization-data,improve-det');\n app[0].setAttribute('data-active-section', 'things nearby');\n app[0].setAttribute('data-map-available', 'true');\n app[0].setAttribute('data-app-state', 'loading-screen');\n });\n }\n navToolsWrapper.appendChild(nearDataBtn);\n\n const printBtn = document.createElement('cod-button');\n printBtn.setAttribute('data-label', '');\n printBtn.setAttribute('data-size', 'lg');\n printBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/print.png');\n printBtn.setAttribute('data-img-alt', 'print');\n printBtn.setAttribute('data-shape', 'square');\n printBtn.setAttribute('data-nav-value', 'print');\n printBtn.setAttribute('data-icon', '');\n if (app[0].getAttribute('data-active-section') == 'print') {\n printBtn.setAttribute('data-background-color', 'success');\n printBtn.setAttribute('data-primary', true);\n } else {\n printBtn.setAttribute('data-background-color', 'secondary');\n printBtn.setAttribute('data-primary', false);\n printBtn.addEventListener('click', (ev) => {\n if(ev.target.getAttribute('data-nav-value')){\n app[0].setAttribute('data-app-state', 'print');\n }\n });\n }\n navToolsWrapper.appendChild(printBtn);\n }\n\n shadow.appendChild(navToolsWrapper);\n }\n\n}\n","'use strict';\nimport Geocoder from './Geocoder';\nimport NavigationTools from './NavigationTools';\ncustomElements.define('app-geocoder', Geocoder);\ncustomElements.define('app-nav-tools', NavigationTools);\nexport default class Display extends HTMLElement {\n\n constructor() {\n // Always call super first in constructor\n super();\n\n // Create a shadow root\n const shadow = this.attachShadow({ mode: 'open' });\n\n shadow.innerHTML = `\n \n \n
Offcanvas
\n
\n \n

\n Some text as placeholder. In real life you can have the elements you\n have chosen. Like, text, images, lists, etc.\n

\n
\n
\n `;\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n // console.log(`Display - attribute: ${name}, old: ${oldValue}, new: ${newValue}`);\n if (newValue == 'data-panel-data') {\n this.clearDisplay(this);\n }\n if (name == 'data-pagination'){\n this.clearDisplay(this);\n }\n this.loadDisplay(this);\n }\n\n clearDisplay(display) {\n const shadow = display.shadowRoot;\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n }\n\n formatDate(value) {\n const month = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n const tempDate = new Date(value);\n return `${month[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getFullYear()}`;\n }\n\n printInfo(display) {\n let divContents = display.buildDataSection(display);\n let a = window.open('', '', 'height=500, width=500');\n a.document.write('');\n a.document.write('');\n a.document.write('');\n a.document.write(divContents.children[1].innerHTML);\n a.document.write('');\n a.document.close();\n a.print();\n }\n\n loadDisplay(display) {\n const shadow = display.shadowRoot;\n const displayWrapper = document.createElement('section');\n const geocoder = document.createElement('app-geocoder');\n const navTools = document.createElement('app-nav-tools');\n const app = document.getElementsByTagName('my-home-info');\n navTools.printInfo = display.printInfo;\n displayWrapper.id = 'display-wrapper';\n switch (this.getAttribute('data-display-type')) {\n case 'active-panel':\n console.log('loading panel');\n let data = JSON.parse(this.getAttribute('data-panel-data'));\n let panel = document.createElement('cod-offcanvas');\n panel.id = 'd6-map-panel';\n panel.setAttribute('data-show', 'true');\n let panelHeader = document.createElement('cod-offcanvas-header');\n let panelBody = document.createElement('cod-offcanvas-body');\n \n panelHeader.innerHTML = `
${data.properties.business_name}`;\n panelBody.innerHTML = `\n

Address: ${data.properties.address}

\n

Phone: ${data.properties.business_phone_number}

\n

Website: ${data.properties.business_phone_website}

\n `;\n panel.appendChild(panelHeader);\n panel.appendChild(panelBody);\n displayWrapper.appendChild(panel);\n shadow.appendChild(displayWrapper);\n console.log(panel);\n break;\n\n case 'active':\n shadow.appendChild(display.welcomeStyle);\n displayWrapper.appendChild(geocoder);\n shadow.appendChild(displayWrapper);\n break;\n\n case 'loading':\n const loader = document.createElement('cod-loader');\n loader.setAttribute('data-color', 'color-3');\n displayWrapper.appendChild(loader);\n shadow.appendChild(displayWrapper);\n break;\n\n case 'results':\n let parcelData = JSON.parse(app[0].getAttribute('data-parcel-id'));\n shadow.appendChild(display.resultsStyle);\n let resultsContainer = document.createElement('section');\n resultsContainer.className = 'results-container';\n resultsContainer.appendChild(navTools);\n let dataSetResults = document.createElement('article');\n dataSetResults.className = 'dataset-results';\n let addressBox = document.createElement('article');\n addressBox.className = 'result-address';\n addressBox.innerText = parcelData.address;\n dataSetResults.appendChild(addressBox);\n let results = display.buildDataSection(display);\n dataSetResults.appendChild(results);\n resultsContainer.appendChild(dataSetResults);\n displayWrapper.appendChild(resultsContainer);\n shadow.appendChild(displayWrapper);\n break;\n\n case 'error':\n let errorContainer = document.createElement('section');\n shadow.appendChild(display.resultsStyle);\n errorContainer.className = 'results-container';\n errorContainer.appendChild(navTools);\n let errorBox = document.createElement('article');\n errorBox.className = 'error-result';\n errorBox.innerHTML = `\n \n \n \n \n \n \n \n \n \n \n

No Information found on this address. Please close and try again.

\n `;\n errorContainer.appendChild(errorBox);\n displayWrapper.appendChild(errorContainer);\n shadow.appendChild(displayWrapper);\n break;\n\n case 'print':\n let printParcelData = JSON.parse(app[0].getAttribute('data-parcel-id'));\n shadow.appendChild(display.resultsStyle);\n let printResultsContainer = document.createElement('section');\n printResultsContainer.className = 'results-container';\n printResultsContainer.appendChild(navTools);\n let printDataSetResults = document.createElement('article');\n printDataSetResults.className = 'dataset-results';\n let printAddressBox = document.createElement('article');\n printAddressBox.className = 'result-address';\n printAddressBox.innerText = printParcelData.address;\n printDataSetResults.appendChild(printAddressBox);\n let printResults = display.buildDataSection(display);\n printDataSetResults.appendChild(printResults);\n printResultsContainer.appendChild(printDataSetResults);\n displayWrapper.appendChild(printResultsContainer);\n shadow.appendChild(displayWrapper);\n display.printInfo(display);\n break;\n\n default:\n break;\n }\n }\n\n}\n","'use strict';\r\nconst turf = require('@turf/turf');\r\nconst arcGIS = require('terraformer-arcgis-parser');\r\n\r\nexport default class DataLoader extends HTMLElement {\r\n static get observedAttributes() {\r\n return ['data-loader-state', 'data-parcel-id'];\r\n }\r\n\r\n constructor() {\r\n // Always call super first in constructor\r\n super();\r\n\r\n // Create a shadow root\r\n const shadow = this.attachShadow({ mode: 'open' });\r\n\r\n // Create result section\r\n const loaderWrapper = document.createElement('section');\r\n loaderWrapper.id = 'loader-wrapper';\r\n shadow.appendChild(loaderWrapper);\r\n }\r\n\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n const shadow = this.shadowRoot;\r\n // console.log(`Loader - attribute: ${name}, old: ${oldValue}, new: ${newValue}`);\r\n switch (name) {\r\n case 'data-loader-state':\r\n this.clearLoader(this);\r\n this.loadLoader(this);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getDataSets(loader) {\r\n const app = document.getElementsByTagName('my-home-info');\r\n const dataSets = app[0].getAttribute('data-active-sets').split(',');\r\n const parcelData = JSON.parse(app[0].getAttribute('data-parcel-id'));\r\n let dataList = [];\r\n\r\n let assessorsData = new Promise((resolve, reject) => {\r\n if (parcelData.attributes.parcel_id == 'CONDO BUILDING') {\r\n resolve({ \"id\": \"assessors-data\", \"data\": null });\r\n } else {\r\n let url = \"https://apis.detroitmi.gov/assessments/parcel/\" + parcelData.attributes.parcel_id + \"/\";\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"assessors-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n }\r\n });\r\n\r\n let neighborhoods = new Promise((resolve, reject) => {\r\n resolve({ \"id\": \"neighborhood\", \"data\": parcelData });\r\n });\r\n\r\n let council = new Promise((resolve, reject) => {\r\n return resolve({ \"id\": \"council\", \"data\": parcelData });\r\n });\r\n let bopMembers = new Promise((resolve, reject) => {\r\n let url = \"/rest/bop?_format=json\";\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"bop-members\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let districtManagers = new Promise((resolve, reject) => {\r\n let url = \"/rest/district-managers?_format=json\";\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"district-managers\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let districtInspectors = new Promise((resolve, reject) => {\r\n let url = \"/rest/district-inspectors?_format=json\";\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"district-inspectors\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let councilMembers = new Promise((resolve, reject) => {\r\n let url = \"/rest/council-members?_format=json\";\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"council-members\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let DWSDBackupProtection = new Promise((resolve, reject) => {\r\n resolve({ \"id\": \"DWSDBackupProtection\", \"data\": parcelData });\r\n });\r\n let HRDFlooding = new Promise((resolve, reject) => {\r\n resolve({ \"id\": \"HRDFlooding\", \"data\": parcelData });\r\n });\r\n let nrsa = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/NRSA_2020/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"nrsa\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let nezHomestead = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/NEZHOMESTEAD2021/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"nez\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let permitData = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/BuildingPermits/FeatureServer/0/query?where=parcel_id+%3D+%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=3&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"permit-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let rentalData = new Promise((resolve, reject) => {\r\n let url;\r\n if (parcelData.attributes.parcel_id != 'CONDO BUILDING') {\r\n url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/RentalStatuses/FeatureServer/0/query?where=parcel_id+%3D+%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json`;\r\n } else {\r\n url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/RentalStatuses/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C+${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIndexIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&gdbVersion=&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&multipatchOption=&resultOffset=&resultRecordCount=&f=json`;\r\n }\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"rental-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let rentalCertData = new Promise((resolve, reject) => {\r\n let url;\r\n if (parcelData.attributes.parcel_id != 'CONDO BUILDING') {\r\n url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/active_cofc/FeatureServer/0/query?where=parcel_id%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=1&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json`;\r\n } else {\r\n url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/active_cofc/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C+${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIndexIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&gdbVersion=&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&multipatchOption=&resultOffset=&resultRecordCount=&f=json`;\r\n }\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"rental-cert-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let blightData = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Blight_Violations_(DAH)/FeatureServer/0/query?where=parcelno%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=violation_date&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=2&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"blight-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let salesHistoryData = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Property_Sales/FeatureServer/0/query?where=PARCEL_NO%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=SALE_DATE&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=2&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"sales-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let demosData = new Promise((resolve, reject) => {\r\n let point = turf.point([parcelData.location.x, parcelData.location.y]);\r\n let buffer = turf.buffer(point, 2, { units: 'miles' });\r\n let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false });\r\n let arcsimplePolygon = arcGIS.convert(simplePolygon);\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Demolitions_under_Contract/FeatureServer/0/query?where=&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=geojson`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n data.features.sort(loader.sortFeaturesByDistanceTo(point));\r\n resolve({ \"id\": \"demos-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let stabilizationData = new Promise((resolve, reject) => {\r\n let point = turf.point([parcelData.location.x, parcelData.location.y]);\r\n let buffer = turf.buffer(point, 2, { units: 'miles' });\r\n let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false });\r\n let arcsimplePolygon = arcGIS.convert(simplePolygon);\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Contracted_Stabilizations/FeatureServer/0/query?where=&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=3&f=geojson`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n data.features.sort(loader.sortFeaturesByDistanceTo(point));\r\n resolve({ \"id\": \"stabilization-data\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let demoStatus = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Demolitions_under_Contract/FeatureServer/0/query?where=parcel_id+%3D+%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=demolish_by_date&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=1&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"demo-status\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let schools = new Promise((resolve, reject) => {\r\n let point = turf.point([parcelData.location.x, parcelData.location.y]);\r\n let buffer = turf.buffer(point, 2, { units: 'miles' });\r\n let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false });\r\n let arcsimplePolygon = arcGIS.convert(simplePolygon);\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/2018_2019_Schools_(EEM)/FeatureServer/0/query?where=&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=geojson`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n data.features.sort(loader.sortFeaturesByDistanceTo(point));\r\n resolve({ \"id\": \"schools\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let npo = new Promise((resolve, reject) => {\r\n let url = `https://opengis.detroitmi.gov/opengis/rest/services/PublicSafety/NeighborhoodPoliceOfficers/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=1&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"npo\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let improveDet = new Promise((resolve, reject) => {\r\n let point = turf.point([parcelData.location.x, parcelData.location.y]);\r\n let buffer = turf.buffer(point, 300, { units: 'meters' });\r\n let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false });\r\n let arcsimplePolygon = arcGIS.convert(simplePolygon);\r\n let url = `https://opengis.detroitmi.gov/opengis/rest/services/DoIT/ImproveDetroitIssues/FeatureServer/0/query?where=status+%3C%3E+%27Closed%27+and+status+%3C%3E+%27Archived%27&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=3&f=geojson`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"improve-det\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let recycling = new Promise((resolve, reject) => {\r\n let url = \"https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/WasteCollectionAreas/FeatureServer/0/query?where=&text=&objectIds=&time=&geometry=\" + parcelData.location.x + \"%2C+\" + parcelData.location.y + \"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=json\";\r\n fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n let today = new Date();\r\n let todaysMonth = today.getMonth() + 1;\r\n let todaysYear = today.getFullYear();\r\n let url = `https://apis.detroitmi.gov/waste_schedule/details/${data.features[0].attributes.FID}/year/${todaysYear}/month/${todaysMonth}/`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"recycling\", \"data\": data });\r\n });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let historicDistrict = new Promise((resolve, reject) => {\r\n let url = \"https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/Detroit_Local_Historic_Districts/FeatureServer/0/query?where=&text=&objectIds=&time=&geometry=\" + parcelData.location.x + \"%2C+\" + parcelData.location.y + \"&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=json\";\r\n fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"historicDistrict\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n let fireEscrow = new Promise((resolve, reject) => {\r\n let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/fie_properties_final/FeatureServer/0/query?where=parcel_id%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnHiddenFields=false&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`;\r\n return fetch(url)\r\n .then((resp) => resp.json()) // Transform the data into json\r\n .then(function (data) {\r\n resolve({ \"id\": \"fireEscrow\", \"data\": data });\r\n }).catch(err => {\r\n // console.log(err);\r\n });\r\n });\r\n dataSets.forEach(f => {\r\n switch (f) {\r\n case 'council':\r\n dataList.push(council);\r\n break;\r\n\r\n case 'neighborhood':\r\n dataList.push(neighborhoods);\r\n break;\r\n\r\n case 'assessors-data':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n if (parcelData.attributes.parcel_id == 'CONDO BUILDING') {\r\n } else {\r\n dataList.push(assessorsData);\r\n }\r\n }\r\n break;\r\n\r\n case 'permit-data':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n dataList.push(permitData);\r\n }\r\n break;\r\n\r\n case 'blight-data':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n dataList.push(blightData);\r\n }\r\n break;\r\n\r\n case 'salesHistoryData':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n dataList.push(salesHistoryData);\r\n }\r\n break;\r\n\r\n case 'fireEscrow':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n dataList.push(fireEscrow);\r\n }\r\n break;\r\n\r\n case 'nez':\r\n dataList.push(nezHomestead);\r\n break;\r\n\r\n case 'nrsa':\r\n dataList.push(nrsa);\r\n break;\r\n\r\n case 'npo':\r\n dataList.push(npo);\r\n break;\r\n\r\n case 'improve-det':\r\n dataList.push(improveDet);\r\n break;\r\n\r\n case 'recycling':\r\n dataList.push(recycling);\r\n break;\r\n\r\n case 'rental-data':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n dataList.push(rentalData);\r\n }\r\n break;\r\n\r\n case 'rental-cert':\r\n dataList.push(rentalCertData);\r\n break;\r\n\r\n case 'demo-status':\r\n if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') {\r\n dataList.push(demoStatus);\r\n }\r\n break;\r\n\r\n case 'demos-data':\r\n dataList.push(demosData);\r\n break;\r\n\r\n case 'stabilization-data':\r\n dataList.push(stabilizationData);\r\n break;\r\n\r\n case 'schools':\r\n dataList.push(schools);\r\n break;\r\n\r\n case 'historicDistrict':\r\n dataList.push(historicDistrict);\r\n break;\r\n\r\n case 'district-managers':\r\n dataList.push(districtManagers);\r\n break;\r\n\r\n case 'district-inspectors':\r\n dataList.push(districtInspectors);\r\n break;\r\n\r\n case 'council-members':\r\n dataList.push(councilMembers);\r\n break;\r\n\r\n case 'bop-members':\r\n dataList.push(bopMembers);\r\n break;\r\n\r\n case 'HRDFlooding':\r\n console.log('pushing HRDFlooding');\r\n dataList.push(HRDFlooding);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n });\r\n return dataList;\r\n }\r\n\r\n buildCouncilData(data) {\r\n let councilData = {\r\n council: {\r\n district: `District ${data.council.data.attributes.council_district}`,\r\n districtURL: null,\r\n name: null,\r\n url: null,\r\n phone: null\r\n },\r\n bop: {\r\n district: `District ${data.council.data.attributes.council_district}`,\r\n url: null,\r\n name: null,\r\n url: null,\r\n phone: null,\r\n email: null\r\n },\r\n dmanager: {\r\n name: null,\r\n url: `/departments/department-of-neighborhoods/district-${data.council.data.attributes.council_district}#block-views-block-contacts-special-block-1`,\r\n phone: null\r\n },\r\n ddmanager: {\r\n name: null,\r\n url: `/departments/department-of-neighborhoods/district-${data.council.data.attributes.council_district}#block-views-block-contacts-special-block-1`,\r\n phone: null\r\n },\r\n bliaision: {\r\n name: null,\r\n email: null\r\n },\r\n enforcement: {\r\n name: null,\r\n phone: null\r\n }\r\n };\r\n switch (data.council.data.attributes.council_district.toString()) {\r\n case \"1\":\r\n councilData.council.districtURL = `/taxonomy/term/1276`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1276') {\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1276`;\r\n councilData.council.phone = item.field_phone;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 1')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4331`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 1 Manager')) {\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 1 Deputy Manager')) {\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 1 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 1')) {\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = item.field_telephone;\r\n }\r\n });\r\n break;\r\n\r\n case \"2\":\r\n councilData.council.districtURL = `/taxonomy/term/1476`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1476') {\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1476`;\r\n councilData.council.phone = item.field_phone;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 2')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4336`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 2 Manager')) {\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 2 Deputy Manager')) {\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 2 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 2')) {\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = item.field_telephone;\r\n }\r\n });\r\n break;\r\n\r\n case \"3\":\r\n councilData.council.districtURL = `/taxonomy/term/1481`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1481') {\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1481`;\r\n councilData.council.phone = item.field_phone;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 3')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4341`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 3 Manager')) {\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 3 Deputy Manager')) {\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 3 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 3')) {\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = item.field_telephone;\r\n }\r\n });\r\n break;\r\n\r\n case \"4\":\r\n councilData.council.districtURL = `/taxonomy/term/1486`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1486') {\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1486`;\r\n councilData.council.phone = item.field_phone;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 4')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4346`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 4 Manager')) {\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 4 Deputy Manager')) {\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 4 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 4')) {\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = item.field_telephone;\r\n }\r\n });\r\n break;\r\n\r\n case \"5\":\r\n councilData.council.districtURL = `/taxonomy/term/1346`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1346') {\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1346`;\r\n councilData.council.phone = item.field_phone;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 5')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4351`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 5 Manager')) {\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 5 Deputy Manager')) {\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 5 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 5')) {\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = item.field_telephone;\r\n }\r\n });\r\n break;\r\n\r\n case \"6\":\r\n councilData.council.districtURL = `/taxonomy/term/1491`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1491') {\r\n let cleanPhone = item.field_phone.replace('Office: ', '');\r\n cleanPhone = cleanPhone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1491`;\r\n councilData.council.phone = `${item.field_phone}`;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 6')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4321`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 6 Manager')) {\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = `${item.field_telephone}`;\r\n }\r\n if (item.field_contact_position.includes('District 6 Deputy Manager')) {\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = `${item.field_telephone}`;\r\n }\r\n if (item.field_contact_position.includes('District 6 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 6')) {\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = `${item.field_telephone}`;\r\n }\r\n });\r\n break;\r\n\r\n case \"7\":\r\n councilData.council.districtURL = `/taxonomy/term/1511`;\r\n data['council-members'].data.forEach((item) => {\r\n if (item.tid == '1511') {\r\n councilData.council.name = item.field_organization_head_name;\r\n councilData.council.url = `/taxonomy/term/1511`;\r\n councilData.council.phone = item.field_phone;\r\n }\r\n });\r\n data['bop-members'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 7')) {\r\n councilData.bop.name = item.title;\r\n councilData.bop.url = `/taxonomy/term/4356`;\r\n let cleanPhone = item.field_telephone.replace(/ /g, '-');\r\n cleanPhone = cleanPhone.replace(/[()]/g, '');\r\n councilData.bop.phone = `${item.field_telephone}`;\r\n councilData.bop.email = item.field_email_address;\r\n }\r\n });\r\n data['district-managers'].data.forEach((item) => {\r\n if (item.field_contact_position.includes('District 7 Manager')) {\r\n councilData.dmanager.name = item.title;\r\n councilData.dmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 7 Deputy Manager')) {\r\n councilData.ddmanager.name = item.title;\r\n councilData.ddmanager.phone = item.field_telephone;\r\n }\r\n if (item.field_contact_position.includes('District 7 Business Liaison')) {\r\n councilData.bliaision.name = item.title;\r\n councilData.bliaision.email = item.field_email_address;\r\n }\r\n });\r\n data['district-inspectors'].data.forEach((item) => {\r\n if (item.field_responsibilities.includes('District 7')) {\r\n councilData.enforcement.name = item.title;\r\n councilData.enforcement.phone = item.field_telephone;\r\n }\r\n });\r\n break;\r\n\r\n default:\r\n // console.log('not inside city');\r\n break;\r\n }\r\n return councilData;\r\n }\r\n\r\n sortFeaturesByDistanceTo(target){\r\n return function(a, b) {\r\n var options = {units: 'radians'}; // using radians to forgo conversion to another unit\r\n return turf.distance(target, a, options) - turf.distance(target, b, options);\r\n }\r\n }\r\n\r\n getData(loader) {\r\n const app = document.getElementsByTagName('my-home-info');\r\n const activeDataSets = app[0].getAttribute('data-active-sets').split(',');\r\n const parcelData = JSON.parse(app[0].getAttribute('data-parcel-id'));\r\n const storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets'));\r\n let dataAlreadyLoaded = false;\r\n for (let key in storedData) {\r\n if (activeDataSets.includes(key)) {\r\n dataAlreadyLoaded = true;\r\n }\r\n }\r\n if (dataAlreadyLoaded) {\r\n let dataSets = {};\r\n activeDataSets.forEach(data => {\r\n dataSets[data] = storedData[data];\r\n });\r\n app[0].setAttribute('data-api-active-datasets', JSON.stringify(dataSets));\r\n app[0].setAttribute('data-app-state', 'results');\r\n } else {\r\n let dataList = loader.getDataSets(loader);\r\n Promise.all(dataList).then(values => {\r\n console.log(values);\r\n let dataSets = {};\r\n for (let key in values) {\r\n if (values[key] != null) {\r\n dataSets[values[key].id] = values[key];\r\n } else {\r\n initialLoadChecker = false;\r\n }\r\n }\r\n if (activeDataSets.includes('council')) {\r\n let councilData = loader.buildCouncilData(dataSets);\r\n dataSets['council-members'] = { id: 'council-members', data: councilData.council };\r\n dataSets['bop-members'] = { id: 'bop-members', data: councilData.bop };\r\n let dManagers = { manager: councilData.dmanager, deputy: councilData.ddmanager }\r\n dataSets['district-managers'] = { id: 'district-managers', data: dManagers };\r\n dataSets['business-liaison'] = { id: 'business-liaison', data: councilData.bliaision };\r\n dataSets['district-inspectors'] = { id: 'district-inspectors', data: councilData.enforcement };\r\n }\r\n if (activeDataSets.includes('DWSDBackupProtection')) {\r\n try {\r\n if (!dataSets.DWSDBackupProtection) {\r\n dataSets.DWSDBackupProtection = { id: 'DWSDBackupProtection', data: dataSets['neighborhood'].data };\r\n }\r\n } catch (error) {\r\n // console.log(error);\r\n }\r\n }\r\n app[0].setAttribute('data-api-active-datasets', JSON.stringify(dataSets));\r\n app[0].setAttribute('data-app-state', 'results');\r\n }).catch(reason => {\r\n // console.log(reason);\r\n });\r\n }\r\n }\r\n\r\n clearLoader(loader) {\r\n const shadow = loader.shadowRoot;\r\n while (shadow.firstChild) {\r\n shadow.removeChild(shadow.firstChild);\r\n }\r\n }\r\n\r\n loadLoader(loader) {\r\n const shadow = loader.shadowRoot;\r\n const loaderWrapper = document.createElement('section');\r\n loaderWrapper.id = 'loader-wrapper';\r\n switch (loader.getAttribute('data-loader-state')) {\r\n case 'active':\r\n loader.getData(loader);\r\n const textWelcome = document.createElement('p');\r\n textWelcome.innerText = 'Loading DATA';\r\n loaderWrapper.appendChild(textWelcome);\r\n shadow.appendChild(loaderWrapper);\r\n break;\r\n\r\n case 'finished':\r\n const text = document.createElement('p');\r\n text.innerText = 'Data loaded';\r\n loaderWrapper.appendChild(text);\r\n shadow.appendChild(loaderWrapper);\r\n break;\r\n\r\n default:\r\n\r\n break;\r\n }\r\n }\r\n}\r\n","'use strict';\nimport Display from './Display';\nimport DataLoader from './DataLoader';\nimport testData from './test-data.json';\n// import Map from './Map';\ncustomElements.define('app-display', Display);\ncustomElements.define('app-data-loader', DataLoader);\n// customElements.define('app-map', Map);\n\nexport default class D6BusinessMap extends HTMLElement {\n static get observedAttributes() {\n return ['data-app-state', 'data-parcel-id', 'data-map-state'];\n }\n\n constructor() {\n // Always call super first in constructor\n super();\n\n // Create a shadow root\n const shadow = this.attachShadow({ mode: 'open' });\n\n // Create result section\n const app = document.getElementsByTagName('d6-business-map');\n let tempState = app[0].getAttribute('data-app-state');\n\n this.testData = testData;\n\n this.appWrapper = document.createElement('section');\n this.appWrapper.id = 'app-wrapper';\n\n shadow.appendChild(this.appWrapper);\n\n // create panel component\n this.panel = document.createElement('cod-offcanvas');\n this.panel.id = 'd6-map-panel';\n this.panelHeader = document.createElement('cod-offcanvas-header');\n this.panelTitle = document.createElement('h5');\n this.panelTitle.innerText = 'Test Title';\n this.panelHeader.appendChild(this.panelTitle);\n\n this.panelBody = document.createElement('cod-offcanvas-body');\n this.panelContent = document.createElement('article');\n this.panelContent.innerHTML = `\n

\n Some text as placeholder. In real life you can have the elements you\n have chosen. Like, text, images, lists, etc.\n

\n `;\n this.panelBody.appendChild(this.panelContent);\n\n this.panel.appendChild(this.panelHeader);\n this.panel.appendChild(this.panelBody);\n this.appWrapper.appendChild(this.panel);\n\n // Create map component\n this.map = document.createElement('cod-map');\n this.map.id = 'd6-map';\n this.map.setAttribute('data-parent-component', 'd6-business-map');\n this.map.setAttribute('data-map-mode', 'map-panel');\n this.map.setAttribute('data-map-active-data', this.getAttribute('data-map-active-data'));\n this.map.setAttribute('data-map-data', JSON.stringify(this.testData));\n this. map.setAttribute('data-location', this.getAttribute('data-location'));\n this.map.setAttribute('data-map-state', 'init');\n this.appWrapper.appendChild(this.map);\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n console.log(`App - attribute: ${name}, old: ${oldValue}, new: ${newValue}`);\n this.loadApp(this);\n }\n\n clearApp(app) {\n console.log(app);\n const shadow = app.shadowRoot;\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n }\n\n clearPanel(app) {\n\n }\n\n loadApp(app) {\n console.log(app.getAttribute('data-app-state'));\n const shadow = app.shadowRoot;\n const appWrapper = document.createElement('div');\n appWrapper.id = 'app-wrapper';\n const dataLoader = document.createElement('app-data-loader');\n switch (app.getAttribute('data-app-state')) {\n case 'active-panel':\n let tempData = JSON.parse(this.getAttribute('data-panel-data'));\n this.panelTitle.innerText = tempData.properties.business_name;\n this.panelContent.innerHTML = `\n

Address: ${tempData.properties.street_number} ${tempData.properties.street_name}\n

Information

\n

Home services

\n

Services

\n `;\n this.panel.setAttribute('data-show', 'true');\n break;\n\n case 'error':\n display.setAttribute('data-display-type', 'error');\n appWrapper.appendChild(display);\n break;\n\n case 'print':\n display.setAttribute('data-display-type', 'print');\n appWrapper.appendChild(display);\n break;\n\n default:\n break;\n }\n if (shadow.firstChild == null) {\n shadow.appendChild(appWrapper);\n }\n }\n}\n","import D6BusinessMap from './components/D6BusinessMap';\ncustomElements.define('d6-business-map', D6BusinessMap);"],"names":["Geocoder","HTMLElement","observedAttributes","constructor","super","this","form","parcelStatus","user","styles","document","createElement","textContent","shadow","attachShadow","mode","appendChild","geocoderWraper","id","label","style","fontFamily","fontWeight","input","list","icon","addEventListener","ev","submit","className","app","getElementsByTagName","innerText","getAttribute","error","setAttribute","type","placeholder","inputChange","supplementGeocoder","address","geocoder","tempAddr","split","newTempAddr","size","length","forEach","item","index","url","concat","fetch","then","resp","json","data","candidates","sugg","attributes","parcel_id","value","onclick","selectSuggestion","childNodes","location","x","y","city","features","parcel","checkParcelValid","needGeocode","clearSuggestions","JSON","stringify","selection","target","tagName","parentNode","key","undefined","firstChild","removeChild","cleanAddress","params","geometry","request","Request","access_token","encodeURIComponent","method","body","headers","Headers","cache","res","test","preventDefault","NavigationTools","navToolsStyle","loadNavTools","clearDisplay","display","shadowRoot","navTools","appStatus","appMode","initialSets","initalMapStatus","navToolsWrapper","clearResultsBtn","propertyDataBtn","storedData","parse","activeData","govDataBtn","zoneDataBtn","nearDataBtn","printBtn","customElements","define","Display","innerHTML","attributeChangedCallback","name","oldValue","newValue","loadDisplay","formatDate","tempDate","Date","getMonth","getDate","getFullYear","printInfo","divContents","buildDataSection","a","window","open","write","children","close","print","displayWrapper","console","log","panel","panelHeader","panelBody","properties","business_name","business_phone_number","business_phone_website","welcomeStyle","loader","parcelData","resultsStyle","resultsContainer","dataSetResults","addressBox","results","errorContainer","errorBox","printParcelData","printResultsContainer","printDataSetResults","printAddressBox","printResults","turf","require","arcGIS","DataLoader","loaderWrapper","clearLoader","loadLoader","getDataSets","dataSets","dataList","assessorsData","Promise","resolve","reject","catch","err","neighborhoods","council","bopMembers","districtManagers","districtInspectors","councilMembers","HRDFlooding","nrsa","nezHomestead","permitData","rentalData","rentalCertData","blightData","salesHistoryData","demosData","point","buffer","units","simplePolygon","simplify","tolerance","highQuality","arcsimplePolygon","convert","encodeURI","sort","sortFeaturesByDistanceTo","stabilizationData","demoStatus","schools","npo","improveDet","recycling","today","todaysMonth","todaysYear","FID","historicDistrict","fireEscrow","f","push","buildCouncilData","councilData","district","council_district","districtURL","phone","bop","email","dmanager","ddmanager","bliaision","enforcement","toString","tid","field_organization_head_name","field_phone","field_responsibilities","includes","title","cleanPhone","field_telephone","replace","field_email_address","field_contact_position","b","options","distance","getData","activeDataSets","dataAlreadyLoaded","all","values","initialLoadChecker","dManagers","manager","deputy","DWSDBackupProtection","reason","textWelcome","text","D6BusinessMap","testData","appWrapper","panelTitle","panelContent","map","loadApp","clearApp","clearPanel","tempData","street_number","street_name"],"sourceRoot":""} \ No newline at end of file diff --git a/build/assets/js/runtime.js b/build/assets/js/runtime.js new file mode 100644 index 0000000..a0bf9e5 --- /dev/null +++ b/build/assets/js/runtime.js @@ -0,0 +1,2 @@ +!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r=(new Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="1dc7409d-de47-4726-99e8-178eaf3ec362",e._sentryDebugIdIdentifier="sentry-dbid-1dc7409d-de47-4726-99e8-178eaf3ec362")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"5295b5abc54d9cc74f50c3b1d583a7045cbc3013"},(()=>{"use strict";var e,r={},n={};function d(e){var o=n[e];if(void 0!==o)return o.exports;var t=n[e]={exports:{}};return r[e].call(t.exports,t,t.exports,d),t.exports}d.m=r,e=[],d.O=(r,n,o,t)=>{if(!n){var f=1/0;for(a=0;a=t)&&Object.keys(d.O).every((e=>d.O[e](n[i])))?n.splice(i--,1):(s=!1,t0&&e[a-1][2]>t;a--)e[a]=e[a-1];e[a]=[n,o,t]},d.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e={688:0};d.O.j=r=>0===e[r];var r=(r,n)=>{var o,t,f=n[0],s=n[1],i=n[2],l=0;if(f.some((r=>0!==e[r]))){for(o in s)d.o(s,o)&&(d.m[o]=s[o]);if(i)var a=i(d)}for(r&&r(n);l {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\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","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// 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\t688: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (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((id) => (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\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkd6_business_directory\"] = self[\"webpackChunkd6_business_directory\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","o","obj","prop","prototype","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","push"],"sourceRoot":""} \ No newline at end of file diff --git a/build/assets/js/vendors.terraformer-arcgis-parser.js b/build/assets/js/vendors.terraformer-arcgis-parser.js new file mode 100644 index 0000000..5274e59 --- /dev/null +++ b/build/assets/js/vendors.terraformer-arcgis-parser.js @@ -0,0 +1,2 @@ +!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r=(new Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="5aa8e105-cc52-47fc-bc08-d8ddbb085d76",e._sentryDebugIdIdentifier="sentry-dbid-5aa8e105-cc52-47fc-bc08-d8ddbb085d76")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"5295b5abc54d9cc74f50c3b1d583a7045cbc3013"},(self.webpackChunkd6_business_directory=self.webpackChunkd6_business_directory||[]).push([[200],{827:function(e,r,t){!function(r,n){if("object"===typeof e.exports&&(e.exports=n(t(508))),"object"===typeof r.navigator){if(!r.Terraformer)throw new Error("Terraformer.ArcGIS requires the core Terraformer library. https://github.com/esri/Terraformer");r.Terraformer.ArcGIS=n(r.Terraformer)}}(this,(function(e){var r={};function t(e){var r,t,n,o,i=0,s=0,a=[];n=e.match(/((\+|\-)[^\+\-]+)/g),o=parseInt(n[0],32);for(var c=1;c=0}function s(e){var r=[],t=e.slice(0),o=n(t.shift().slice(0));if(o.length>=4){i(o)||o.reverse(),r.push(o);for(var s=0;s=4&&(i(a)&&a.reverse(),r.push(a))}}return r}function a(r,t){var n=e.Tools.arraysIntersectArrays(r,t),o=e.Tools.coordinatesContainPoint(r,t[0]);return!(n||!o)}function c(r,s){var u={};return(s=s||{}).idAttribute=s.idAttribute||void 0,!r.spatialReference||3857!==r.spatialReference.wkid&&102100!==r.spatialReference.wkid||(u.crs=e.MercatorCRS),"number"===typeof r.x&&"number"===typeof r.y&&(u.type="Point",u.coordinates=[r.x,r.y],(r.z||r.m)&&u.coordinates.push(r.z),r.m&&u.coordinates.push(r.m)),r.points&&(u.type="MultiPoint",u.coordinates=r.points.slice(0)),r.paths&&(1===r.paths.length?(u.type="LineString",u.coordinates=r.paths[0].slice(0)):(u.type="MultiLineString",u.coordinates=r.paths.slice(0))),r.rings&&(u=function(r){for(var t,o,s,c=[],u=[],f=0;f=0;t--)if(a(o=c[t][0],s)){c[t].push(s),y=!0;break}y||d.push(s)}for(;d.length;){s=d.pop();var b=!1;for(t=c.length-1;t>=0;t--)if(o=c[t][0],e.Tools.arraysIntersectArrays(o,s)){c[t].push(s),b=!0;break}b||c.push([s.reverse()])}return 1===c.length?{type:"Polygon",coordinates:c[0]}:{type:"MultiPolygon",coordinates:c}}(r.rings.slice(0))),"number"===typeof r.xmin&&"number"===typeof r.ymin&&"number"===typeof r.xmax&&"number"===typeof r.ymax&&(u.type="Polygon",u.coordinates=[[[r.xmax,r.ymax],[r.xmin,r.ymax],[r.xmin,r.ymin],[r.xmax,r.ymin],[r.xmax,r.ymax]]]),(r.compressedGeometry||r.geometry||r.attributes)&&(u.type="Feature",r.compressedGeometry&&(r.geometry={paths:[t(r.compressedGeometry)]}),u.geometry=r.geometry?c(r.geometry):null,u.properties=r.attributes?o(r.attributes):null,r.attributes&&(u.id=r.attributes[s.idAttribute]||r.attributes.OBJECTID||r.attributes.FID)),new e.Primitive(u)}function u(e,r){var t,n=(r=r||{}).idAttribute||"OBJECTID";t=r.sr?{wkid:r.sr}:e&&e.crs&&"urn:ogc:def:crs:OGC:1.3:CRS84"!=e.crs.properties.name?null:{wkid:4326};var i,a={};switch(e.type){case"Point":a.x=e.coordinates[0],a.y=e.coordinates[1],e.coordinates[2]&&(a.z=e.coordinates[2]),e.coordinates[3]&&(a.m=e.coordinates[3]),a.spatialReference=t;break;case"MultiPoint":a.points=e.coordinates.slice(0),a.spatialReference=t;break;case"LineString":a.paths=[e.coordinates.slice(0)],a.spatialReference=t;break;case"MultiLineString":a.paths=e.coordinates.slice(0),a.spatialReference=t;break;case"Polygon":a.rings=s(e.coordinates.slice(0)),a.spatialReference=t;break;case"MultiPolygon":a.rings=function(e){for(var r=[],t=0;t=0;o--){var i=n[o].slice(0);r.push(i)}return r}(e.coordinates.slice(0)),a.spatialReference=t;break;case"Feature":e.geometry&&(a.geometry=u(e.geometry,r)),a.attributes=e.properties?o(e.properties):{},e.id&&(a.attributes[n]=e.id);break;case"FeatureCollection":for(a=[],i=0;i= 0);\n }\n\n // This function ensures that rings are oriented in the right directions\n // outer rings are clockwise, holes are counterclockwise\n function orientRings(poly){\n var output = [];\n var polygon = poly.slice(0);\n var outerRing = closeRing(polygon.shift().slice(0));\n if(outerRing.length >= 4){\n if(!ringIsClockwise(outerRing)){\n outerRing.reverse();\n }\n\n output.push(outerRing);\n\n for (var i = 0; i < polygon.length; i++) {\n var hole = closeRing(polygon[i].slice(0));\n if(hole.length >= 4){\n if(ringIsClockwise(hole)){\n hole.reverse();\n }\n output.push(hole);\n }\n }\n }\n\n return output;\n }\n\n // This function flattens holes in multipolygons to one array of polygons\n // [\n // [\n // [ array of outer coordinates ]\n // [ hole coordinates ]\n // [ hole coordinates ]\n // ],\n // [\n // [ array of outer coordinates ]\n // [ hole coordinates ]\n // [ hole coordinates ]\n // ],\n // ]\n // becomes\n // [\n // [ array of outer coordinates ]\n // [ hole coordinates ]\n // [ hole coordinates ]\n // [ array of outer coordinates ]\n // [ hole coordinates ]\n // [ hole coordinates ]\n // ]\n function flattenMultiPolygonRings(rings){\n var output = [];\n for (var i = 0; i < rings.length; i++) {\n var polygon = orientRings(rings[i]);\n for (var x = polygon.length - 1; x >= 0; x--) {\n var ring = polygon[x].slice(0);\n output.push(ring);\n }\n }\n return output;\n }\n\n function coordinatesContainCoordinates(outer, inner){\n var intersects = Terraformer.Tools.arraysIntersectArrays(outer, inner);\n var contains = Terraformer.Tools.coordinatesContainPoint(outer, inner[0]);\n if(!intersects && contains){\n return true;\n }\n return false;\n }\n\n // do any polygons in this array contain any other polygons in this array?\n // used for checking for holes in arcgis rings\n function convertRingsToGeoJSON(rings){\n var outerRings = [];\n var holes = [];\n var x; // iterator\n var outerRing; // current outer ring being evaluated\n var hole; // current hole being evaluated\n\n // for each ring\n for (var r = 0; r < rings.length; r++) {\n var ring = closeRing(rings[r].slice(0));\n if(ring.length < 4){\n continue;\n }\n // is this ring an outer ring? is it clockwise?\n if(ringIsClockwise(ring)){\n var polygon = [ ring.slice().reverse() ]; // wind outer rings counterclockwise for RFC 7946 compliance\n outerRings.push(polygon); // push to outer rings\n } else {\n holes.push(ring.slice().reverse()); // wind inner rings clockwise for RFC 7946 compliance\n }\n }\n\n var uncontainedHoles = [];\n\n // while there are holes left...\n while(holes.length){\n // pop a hole off out stack\n hole = holes.pop();\n\n // loop over all outer rings and see if they contain our hole.\n var contained = false;\n for (x = outerRings.length - 1; x >= 0; x--) {\n outerRing = outerRings[x][0];\n if(coordinatesContainCoordinates(outerRing, hole)){\n // the hole is contained push it into our polygon\n outerRings[x].push(hole);\n contained = true;\n break;\n }\n }\n\n // ring is not contained in any outer ring\n // sometimes this happens https://github.com/Esri/esri-leaflet/issues/320\n if(!contained){\n uncontainedHoles.push(hole);\n }\n }\n\n // if we couldn't match any holes using contains we can now try intersects...\n while(uncontainedHoles.length){\n // pop a hole off out stack\n hole = uncontainedHoles.pop();\n\n // loop over all outer rings and see if any intersect our hole.\n var intersects = false;\n for (x = outerRings.length - 1; x >= 0; x--) {\n outerRing = outerRings[x][0];\n if(Terraformer.Tools.arraysIntersectArrays(outerRing, hole)){\n // the hole intersects the outer ring push it into our polygon\n outerRings[x].push(hole);\n intersects = true;\n break;\n }\n }\n\n // hole does not intersect ANY outer ring at this point\n // make it an outer ring.\n if(!intersects) {\n outerRings.push([hole.reverse()]);\n }\n }\n\n if(outerRings.length === 1){\n return {\n type: 'Polygon',\n coordinates: outerRings[0]\n };\n } else {\n return {\n type: 'MultiPolygon',\n coordinates: outerRings\n };\n }\n }\n\n // ArcGIS -> GeoJSON\n function parse(arcgis, options){\n var geojson = {};\n\n options = options || {};\n options.idAttribute = options.idAttribute || undefined;\n\n if (arcgis.spatialReference && (arcgis.spatialReference.wkid === 3857 || arcgis.spatialReference.wkid === 102100)) {\n geojson.crs = Terraformer.MercatorCRS;\n }\n\n if(typeof arcgis.x === 'number' && typeof arcgis.y === 'number'){\n geojson.type = \"Point\";\n geojson.coordinates = [arcgis.x, arcgis.y];\n if (arcgis.z || arcgis.m){\n geojson.coordinates.push(arcgis.z);\n }\n if (arcgis.m){\n geojson.coordinates.push(arcgis.m);\n }\n }\n\n if(arcgis.points){\n geojson.type = \"MultiPoint\";\n geojson.coordinates = arcgis.points.slice(0);\n }\n\n if(arcgis.paths) {\n if(arcgis.paths.length === 1){\n geojson.type = \"LineString\";\n geojson.coordinates = arcgis.paths[0].slice(0);\n } else {\n geojson.type = \"MultiLineString\";\n geojson.coordinates = arcgis.paths.slice(0);\n }\n }\n\n if(arcgis.rings) {\n geojson = convertRingsToGeoJSON(arcgis.rings.slice(0));\n }\n\n if(\n typeof arcgis.xmin === \"number\" &&\n typeof arcgis.ymin === \"number\" &&\n typeof arcgis.xmax === \"number\" &&\n typeof arcgis.ymax === \"number\"\n ) {\n geojson.type = \"Polygon\";\n geojson.coordinates = [[\n [arcgis.xmax, arcgis.ymax],\n [arcgis.xmin, arcgis.ymax],\n [arcgis.xmin, arcgis.ymin],\n [arcgis.xmax, arcgis.ymin],\n [arcgis.xmax, arcgis.ymax]\n ]];\n }\n\n if(arcgis.compressedGeometry || arcgis.geometry || arcgis.attributes) {\n geojson.type = \"Feature\";\n\n if(arcgis.compressedGeometry){\n arcgis.geometry = {\n paths: [\n decompressGeometry(arcgis.compressedGeometry)\n ]\n };\n }\n\n geojson.geometry = (arcgis.geometry) ? parse(arcgis.geometry) : null;\n geojson.properties = (arcgis.attributes) ? clone(arcgis.attributes) : null;\n if(arcgis.attributes) {\n geojson.id = arcgis.attributes[options.idAttribute] || arcgis.attributes.OBJECTID || arcgis.attributes.FID;\n }\n }\n\n return new Terraformer.Primitive(geojson);\n }\n\n // GeoJSON -> ArcGIS\n function convert(geojson, options){\n var spatialReference;\n\n options = options || {};\n var idAttribute = options.idAttribute || \"OBJECTID\";\n\n if(options.sr){\n spatialReference = { wkid: options.sr };\n } else if (geojson && geojson.crs && geojson.crs.properties.name != \"urn:ogc:def:crs:OGC:1.3:CRS84\") {\n spatialReference = null;\n } else {\n spatialReference = { wkid: 4326 };\n }\n\n var result = {};\n var i;\n\n switch(geojson.type){\n case \"Point\":\n result.x = geojson.coordinates[0];\n result.y = geojson.coordinates[1];\n if(geojson.coordinates[2]) {\n result.z = geojson.coordinates[2];\n }\n if(geojson.coordinates[3]) {\n result.m = geojson.coordinates[3];\n }\n result.spatialReference = spatialReference;\n break;\n case \"MultiPoint\":\n result.points = geojson.coordinates.slice(0);\n result.spatialReference = spatialReference;\n break;\n case \"LineString\":\n result.paths = [geojson.coordinates.slice(0)];\n result.spatialReference = spatialReference;\n break;\n case \"MultiLineString\":\n result.paths = geojson.coordinates.slice(0);\n result.spatialReference = spatialReference;\n break;\n case \"Polygon\":\n result.rings = orientRings(geojson.coordinates.slice(0));\n result.spatialReference = spatialReference;\n break;\n case \"MultiPolygon\":\n result.rings = flattenMultiPolygonRings(geojson.coordinates.slice(0));\n result.spatialReference = spatialReference;\n break;\n case \"Feature\":\n if(geojson.geometry) {\n result.geometry = convert(geojson.geometry, options);\n }\n result.attributes = (geojson.properties) ? clone(geojson.properties) : {};\n if(geojson.id) {\n result.attributes[idAttribute] = geojson.id;\n }\n break;\n case \"FeatureCollection\":\n result = [];\n for (i = 0; i < geojson.features.length; i++){\n result.push(convert(geojson.features[i], options));\n }\n break;\n case \"GeometryCollection\":\n result = [];\n for (i = 0; i < geojson.geometries.length; i++){\n result.push(convert(geojson.geometries[i], options));\n }\n break;\n }\n\n return result;\n }\n\n function parseCompressedGeometry(string){\n return new Terraformer.LineString(decompressGeometry(string));\n }\n\n exports.parse = parse;\n exports.convert = convert;\n exports.toGeoJSON = parse;\n exports.fromGeoJSON = convert;\n exports.parseCompressedGeometry = parseCompressedGeometry;\n\n return exports;\n}));\n"],"names":["root","factory","module","exports","navigator","Terraformer","Error","ArcGIS","this","decompressGeometry","str","x","y","strings","coefficient","xDiffPrev","yDiffPrev","points","match","parseInt","j","length","push","closeRing","coordinates","a","b","i","pointsEqual","clone","obj","target","hasOwnProperty","ringIsClockwise","ringToTest","pt2","total","rLength","pt1","orientRings","poly","output","polygon","slice","outerRing","shift","reverse","hole","coordinatesContainCoordinates","outer","inner","intersects","Tools","arraysIntersectArrays","contains","coordinatesContainPoint","parse","arcgis","options","geojson","idAttribute","undefined","spatialReference","wkid","crs","MercatorCRS","type","z","m","paths","rings","outerRings","holes","r","ring","uncontainedHoles","pop","contained","convertRingsToGeoJSON","xmin","ymin","xmax","ymax","compressedGeometry","geometry","attributes","properties","id","OBJECTID","FID","Primitive","convert","sr","name","result","flattenMultiPolygonRings","features","geometries","toGeoJSON","fromGeoJSON","parseCompressedGeometry","string","LineString"],"sourceRoot":""} \ No newline at end of file diff --git a/build/assets/js/vendors.terraformer.js b/build/assets/js/vendors.terraformer.js new file mode 100644 index 0000000..2f9e294 --- /dev/null +++ b/build/assets/js/vendors.terraformer.js @@ -0,0 +1,2 @@ +!function(){try{var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="f8e560c7-cbef-472e-9a62-e77362cb9d07",t._sentryDebugIdIdentifier="sentry-dbid-f8e560c7-cbef-472e-9a62-e77362cb9d07")}catch(t){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"5295b5abc54d9cc74f50c3b1d583a7045cbc3013"},(self.webpackChunkd6_business_directory=self.webpackChunkd6_business_directory||[]).push([[308],{508:function(t,e){var r,o;r=this,o=function(){"use strict";var t={},e=6378137,r=57.29577951308232,o=.017453292519943,n={type:"link",properties:{href:"http://spatialreference.org/ref/sr-org/6928/ogcwkt/",type:"ogcwkt"}};function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function s(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function a(t){if(t.type)switch(t.type){case"Point":return[t.coordinates[0],t.coordinates[1],t.coordinates[0],t.coordinates[1]];case"MultiPoint":case"LineString":return u(t.coordinates);case"MultiLineString":case"Polygon":return c(t.coordinates);case"MultiPolygon":return function(t){for(var e=null,r=null,o=null,n=null,i=0;ir)&&(r=h),(null===o||pn)&&(n=p)}return[e,o,r,n]}(t.coordinates);case"Feature":return t.geometry?a(t.geometry):null;case"FeatureCollection":return function(t){for(var e,r=[],o=t.features.length-1;o>=0;o--)e=a(t.features[o].geometry),r.push([e[0],e[1]]),r.push([e[2],e[3]]);return u(r)}(t);case"GeometryCollection":return function(t){for(var e,r=[],o=t.geometries.length-1;o>=0;o--)e=a(t.geometries[o]),r.push([e[0],e[1]]),r.push([e[2],e[3]]);return u(r)}(t);default:throw new Error("Unknown type: "+t.type)}return null}function c(t){for(var e=null,r=null,o=null,n=null,i=0;ir)&&(r=u),(null===o||ln)&&(n=l)}return[e,o,r,n]}function u(t){for(var e=null,r=null,o=null,n=null,i=0;ir)&&(r=a),(null===o||cn)&&(n=c)}return[e,o,r,n]}function l(t){var e=a(t);return{x:e[0],y:e[1],w:Math.abs(e[0]-e[2]),h:Math.abs(e[1]-e[3])}}function h(t){return t*r}function p(t){return t*o}function f(t,e){for(var r=0;re[0]?-1:t[0]e[1]?-1:t[1]n?1:0;var o,n}function M(t,e){var r=e[0]-t[0],o=e[1]-t[1];return r*r+o*o}function T(t,e){var r=e;for(var o in t){var n=m(e,r,t[o]);(-1===n||0===n&&M(e,t[o])>M(e,r))&&(r=t[o])}return r}function b(t){if(0===t.length)return[];if(1===t.length)return t;for(var e=[t.sort(P)[0]],r=0;r=2))throw"Terraformer: invalid input for Terraformer.Point";this.coordinates=e}this.type="Point"}function V(t){if(t&&"MultiPoint"===t.type&&t.coordinates)s(this,t);else{if(!i(t))throw"Terraformer: invalid input for Terraformer.MultiPoint";this.coordinates=t}this.type="MultiPoint"}function N(t){if(t&&"LineString"===t.type&&t.coordinates)s(this,t);else{if(!i(t))throw"Terraformer: invalid input for Terraformer.LineString";this.coordinates=t}this.type="LineString"}function j(t){if(t&&"MultiLineString"===t.type&&t.coordinates)s(this,t);else{if(!i(t))throw"Terraformer: invalid input for Terraformer.MultiLineString";this.coordinates=t}this.type="MultiLineString"}function A(t){if(t&&"Polygon"===t.type&&t.coordinates)s(this,t);else{if(!i(t))throw"Terraformer: invalid input for Terraformer.Polygon";this.coordinates=t}this.type="Polygon"}function H(t){if(t&&"MultiPolygon"===t.type&&t.coordinates)s(this,t);else{if(!i(t))throw"Terraformer: invalid input for Terraformer.MultiPolygon";this.coordinates=t}this.type="MultiPolygon"}function D(t){if(t&&"Feature"===t.type)s(this,t);else{if(!(t&&t.type&&t.coordinates))throw"Terraformer: invalid input for Terraformer.Feature";this.geometry=t}this.type="Feature"}function R(t){if(t&&"FeatureCollection"===t.type&&t.features)s(this,t);else{if(!i(t))throw"Terraformer: invalid input for Terraformer.FeatureCollection";this.features=t}this.type="FeatureCollection"}function J(t){if(t&&"GeometryCollection"===t.type&&t.geometries)s(this,t);else if(i(t))this.geometries=t;else{if(!t.coordinates||!t.type)throw"Terraformer: invalid input for Terraformer.GeometryCollection";this.type="GeometryCollection",this.geometries=[t]}this.type="GeometryCollection"}function U(t,e,r){for(var o=d(t),n=r||64,i={type:"Polygon",coordinates:[[]]},s=1;s<=n;s++){var a=s*(360/n)*Math.PI/180;i.coordinates[0].push([o[0]+e*Math.cos(a),o[1]+e*Math.sin(a)])}return i.coordinates=E(i.coordinates),w(i)}function q(t,e,r){var o=r||64,n=e||250;if(!t||t.length<2||!n||!o)throw new Error("Terraformer: missing parameter for Terraformer.Circle");s(this,new D({type:"Feature",geometry:U(t,n,o),properties:{radius:n,center:t,steps:o}}))}return I.prototype.toMercator=function(){return v(this)},I.prototype.toGeographic=function(){return w(this)},I.prototype.envelope=function(){return l(this)},I.prototype.bbox=function(){return a(this)},I.prototype.convexHull=function(){var t,e,r=[];if("Point"===this.type)return null;if("LineString"===this.type||"MultiPoint"===this.type){if(!(this.coordinates&&this.coordinates.length>=3))return null;r=this.coordinates}else if("Polygon"===this.type||"MultiLineString"===this.type){if(!(this.coordinates&&this.coordinates.length>0))return null;for(t=0;t0))return null;for(t=0;t1},A.prototype.holes=function(){var t=[];if(this.hasHoles())for(var e=1;e0||!e&&a<0)return!1}return!0},t.MercatorCRS=n,t.GeographicCRS={type:"link",properties:{href:"http://spatialreference.org/ref/epsg/4326/ogcwkt/",type:"ogcwkt"}},t},"object"===typeof t.exports&&(t.exports=o()),"object"===typeof window&&(r.Terraformer=o())}}]); +//# sourceMappingURL=vendors.terraformer.js.map \ No newline at end of file diff --git a/build/assets/js/vendors.terraformer.js.map b/build/assets/js/vendors.terraformer.js.map new file mode 100644 index 0000000..df33757 --- /dev/null +++ b/build/assets/js/vendors.terraformer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assets/js/vendors.terraformer.js","mappings":"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","sources":["webpack://d6-business-directory/./node_modules/terraformer/terraformer.js"],"sourcesContent":["(function (root, factory) {\n\n // Node.\n if(typeof module === 'object' && typeof module.exports === 'object') {\n exports = module.exports = factory();\n }\n\n // Browser Global.\n if(typeof window === \"object\") {\n root.Terraformer = factory();\n }\n\n}(this, function(){\n \"use strict\";\n\n var exports = {},\n EarthRadius = 6378137,\n DegreesPerRadian = 57.295779513082320,\n RadiansPerDegree = 0.017453292519943,\n MercatorCRS = {\n \"type\": \"link\",\n \"properties\": {\n \"href\": \"http://spatialreference.org/ref/sr-org/6928/ogcwkt/\",\n \"type\": \"ogcwkt\"\n }\n },\n GeographicCRS = {\n \"type\": \"link\",\n \"properties\": {\n \"href\": \"http://spatialreference.org/ref/epsg/4326/ogcwkt/\",\n \"type\": \"ogcwkt\"\n }\n };\n\n /*\n Internal: isArray function\n */\n function isArray(obj) {\n return Object.prototype.toString.call(obj) === \"[object Array]\";\n }\n\n /*\n Internal: safe warning\n */\n function warn() {\n var args = Array.prototype.slice.apply(arguments);\n\n if (typeof console !== undefined && console.warn) {\n console.warn.apply(console, args);\n }\n }\n\n /*\n Internal: Extend one object with another.\n */\n function extend(destination, source) {\n for (var k in source) {\n if (source.hasOwnProperty(k)) {\n destination[k] = source[k];\n }\n }\n return destination;\n }\n\n /*\n Public: Calculate an bounding box for a geojson object\n */\n function calculateBounds (geojson) {\n if(geojson.type){\n switch (geojson.type) {\n case 'Point':\n return [ geojson.coordinates[0], geojson.coordinates[1], geojson.coordinates[0], geojson.coordinates[1]];\n\n case 'MultiPoint':\n return calculateBoundsFromArray(geojson.coordinates);\n\n case 'LineString':\n return calculateBoundsFromArray(geojson.coordinates);\n\n case 'MultiLineString':\n return calculateBoundsFromNestedArrays(geojson.coordinates);\n\n case 'Polygon':\n return calculateBoundsFromNestedArrays(geojson.coordinates);\n\n case 'MultiPolygon':\n return calculateBoundsFromNestedArrayOfArrays(geojson.coordinates);\n\n case 'Feature':\n return geojson.geometry? calculateBounds(geojson.geometry) : null;\n\n case 'FeatureCollection':\n return calculateBoundsForFeatureCollection(geojson);\n\n case 'GeometryCollection':\n return calculateBoundsForGeometryCollection(geojson);\n\n default:\n throw new Error(\"Unknown type: \" + geojson.type);\n }\n }\n return null;\n }\n\n /*\n Internal: Calculate an bounding box from an nested array of positions\n [\n [\n [ [lng, lat],[lng, lat],[lng, lat] ]\n ]\n [\n [lng, lat],[lng, lat],[lng, lat]\n ]\n [\n [lng, lat],[lng, lat],[lng, lat]\n ]\n ]\n */\n function calculateBoundsFromNestedArrays (array) {\n var x1 = null, x2 = null, y1 = null, y2 = null;\n\n for (var i = 0; i < array.length; i++) {\n var inner = array[i];\n\n for (var j = 0; j < inner.length; j++) {\n var lonlat = inner[j];\n\n var lon = lonlat[0];\n var lat = lonlat[1];\n\n if (x1 === null) {\n x1 = lon;\n } else if (lon < x1) {\n x1 = lon;\n }\n\n if (x2 === null) {\n x2 = lon;\n } else if (lon > x2) {\n x2 = lon;\n }\n\n if (y1 === null) {\n y1 = lat;\n } else if (lat < y1) {\n y1 = lat;\n }\n\n if (y2 === null) {\n y2 = lat;\n } else if (lat > y2) {\n y2 = lat;\n }\n }\n }\n\n return [x1, y1, x2, y2 ];\n }\n\n /*\n Internal: Calculate a bounding box from an array of arrays of arrays\n [\n [ [lng, lat],[lng, lat],[lng, lat] ]\n [ [lng, lat],[lng, lat],[lng, lat] ]\n [ [lng, lat],[lng, lat],[lng, lat] ]\n ]\n */\n function calculateBoundsFromNestedArrayOfArrays (array) {\n var x1 = null, x2 = null, y1 = null, y2 = null;\n\n for (var i = 0; i < array.length; i++) {\n var inner = array[i];\n\n for (var j = 0; j < inner.length; j++) {\n var innerinner = inner[j];\n for (var k = 0; k < innerinner.length; k++) {\n var lonlat = innerinner[k];\n\n var lon = lonlat[0];\n var lat = lonlat[1];\n\n if (x1 === null) {\n x1 = lon;\n } else if (lon < x1) {\n x1 = lon;\n }\n\n if (x2 === null) {\n x2 = lon;\n } else if (lon > x2) {\n x2 = lon;\n }\n\n if (y1 === null) {\n y1 = lat;\n } else if (lat < y1) {\n y1 = lat;\n }\n\n if (y2 === null) {\n y2 = lat;\n } else if (lat > y2) {\n y2 = lat;\n }\n }\n }\n }\n\n return [x1, y1, x2, y2];\n }\n\n /*\n Internal: Calculate a bounding box from an array of positions\n [\n [lng, lat],[lng, lat],[lng, lat]\n ]\n */\n function calculateBoundsFromArray (array) {\n var x1 = null, x2 = null, y1 = null, y2 = null;\n\n for (var i = 0; i < array.length; i++) {\n var lonlat = array[i];\n var lon = lonlat[0];\n var lat = lonlat[1];\n\n if (x1 === null) {\n x1 = lon;\n } else if (lon < x1) {\n x1 = lon;\n }\n\n if (x2 === null) {\n x2 = lon;\n } else if (lon > x2) {\n x2 = lon;\n }\n\n if (y1 === null) {\n y1 = lat;\n } else if (lat < y1) {\n y1 = lat;\n }\n\n if (y2 === null) {\n y2 = lat;\n } else if (lat > y2) {\n y2 = lat;\n }\n }\n\n return [x1, y1, x2, y2 ];\n }\n\n /*\n Internal: Calculate an bounding box for a feature collection\n */\n function calculateBoundsForFeatureCollection(featureCollection){\n var extents = [], extent;\n for (var i = featureCollection.features.length - 1; i >= 0; i--) {\n extent = calculateBounds(featureCollection.features[i].geometry);\n extents.push([extent[0],extent[1]]);\n extents.push([extent[2],extent[3]]);\n }\n\n return calculateBoundsFromArray(extents);\n }\n\n /*\n Internal: Calculate an bounding box for a geometry collection\n */\n function calculateBoundsForGeometryCollection(geometryCollection){\n var extents = [], extent;\n\n for (var i = geometryCollection.geometries.length - 1; i >= 0; i--) {\n extent = calculateBounds(geometryCollection.geometries[i]);\n extents.push([extent[0],extent[1]]);\n extents.push([extent[2],extent[3]]);\n }\n\n return calculateBoundsFromArray(extents);\n }\n\n function calculateEnvelope(geojson){\n var bounds = calculateBounds(geojson);\n return {\n x: bounds[0],\n y: bounds[1],\n w: Math.abs(bounds[0] - bounds[2]),\n h: Math.abs(bounds[1] - bounds[3])\n };\n }\n\n /*\n Internal: Convert radians to degrees. Used by spatial reference converters.\n */\n function radToDeg(rad) {\n return rad * DegreesPerRadian;\n }\n\n /*\n Internal: Convert degrees to radians. Used by spatial reference converters.\n */\n function degToRad(deg) {\n return deg * RadiansPerDegree;\n }\n\n /*\n Internal: Loop over each array in a geojson object and apply a function to it. Used by spatial reference converters.\n */\n function eachPosition(coordinates, func) {\n for (var i = 0; i < coordinates.length; i++) {\n // we found a number so lets convert this pair\n if(typeof coordinates[i][0] === \"number\"){\n coordinates[i] = func(coordinates[i]);\n }\n // we found an coordinates array it again and run THIS function against it\n if(typeof coordinates[i] === \"object\"){\n coordinates[i] = eachPosition(coordinates[i], func);\n }\n }\n return coordinates;\n }\n\n /*\n Public: Convert a GeoJSON Position object to Geographic (4326)\n */\n function positionToGeographic(position) {\n var x = position[0];\n var y = position[1];\n return [radToDeg(x / EarthRadius) - (Math.floor((radToDeg(x / EarthRadius) + 180) / 360) * 360), radToDeg((Math.PI / 2) - (2 * Math.atan(Math.exp(-1.0 * y / EarthRadius))))];\n }\n\n /*\n Public: Convert a GeoJSON Position object to Web Mercator (102100)\n */\n function positionToMercator(position) {\n var lng = position[0];\n var lat = Math.max(Math.min(position[1], 89.99999), -89.99999);\n return [degToRad(lng) * EarthRadius, EarthRadius/2.0 * Math.log( (1.0 + Math.sin(degToRad(lat))) / (1.0 - Math.sin(degToRad(lat))) )];\n }\n\n /*\n Public: Apply a function agaist all positions in a geojson object. Used by spatial reference converters.\n */\n function applyConverter(geojson, converter, noCrs){\n if(geojson.type === \"Point\") {\n geojson.coordinates = converter(geojson.coordinates);\n } else if(geojson.type === \"Feature\") {\n geojson.geometry = applyConverter(geojson.geometry, converter, true);\n } else if(geojson.type === \"FeatureCollection\") {\n for (var f = 0; f < geojson.features.length; f++) {\n geojson.features[f] = applyConverter(geojson.features[f], converter, true);\n }\n } else if(geojson.type === \"GeometryCollection\") {\n for (var g = 0; g < geojson.geometries.length; g++) {\n geojson.geometries[g] = applyConverter(geojson.geometries[g], converter, true);\n }\n } else {\n geojson.coordinates = eachPosition(geojson.coordinates, converter);\n }\n\n if(!noCrs){\n if(converter === positionToMercator){\n geojson.crs = MercatorCRS;\n }\n }\n\n if(converter === positionToGeographic){\n delete geojson.crs;\n }\n\n return geojson;\n }\n\n /*\n Public: Convert a GeoJSON object to ESRI Web Mercator (102100)\n */\n function toMercator(geojson) {\n return applyConverter(geojson, positionToMercator);\n }\n\n /*\n Convert a GeoJSON object to Geographic coordinates (WSG84, 4326)\n */\n function toGeographic(geojson) {\n return applyConverter(geojson, positionToGeographic);\n }\n\n\n /*\n Internal: -1,0,1 comparison function\n */\n function cmp(a, b) {\n if(a < b) {\n return -1;\n } else if(a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n\n /*\n Internal: used for sorting\n */\n function compSort(p1, p2) {\n if (p1[0] > p2[0]) {\n return -1;\n } else if (p1[0] < p2[0]) {\n return 1;\n } else if (p1[1] > p2[1]) {\n return -1;\n } else if (p1[1] < p2[1]) {\n return 1;\n } else {\n return 0;\n }\n }\n\n\n /*\n Internal: used to determine turn\n */\n function turn(p, q, r) {\n // Returns -1, 0, 1 if p,q,r forms a right, straight, or left turn.\n return cmp((q[0] - p[0]) * (r[1] - p[1]) - (r[0] - p[0]) * (q[1] - p[1]), 0);\n }\n\n /*\n Internal: used to determine euclidean distance between two points\n */\n function euclideanDistance(p, q) {\n // Returns the squared Euclidean distance between p and q.\n var dx = q[0] - p[0];\n var dy = q[1] - p[1];\n\n return dx * dx + dy * dy;\n }\n\n function nextHullPoint(points, p) {\n // Returns the next point on the convex hull in CCW from p.\n var q = p;\n for(var r in points) {\n var t = turn(p, q, points[r]);\n if(t === -1 || t === 0 && euclideanDistance(p, points[r]) > euclideanDistance(p, q)) {\n q = points[r];\n }\n }\n return q;\n }\n\n function convexHull(points) {\n // implementation of the Jarvis March algorithm\n // adapted from http://tixxit.wordpress.com/2009/12/09/jarvis-march/\n\n if(points.length === 0) {\n return [];\n } else if(points.length === 1) {\n return points;\n }\n\n // Returns the points on the convex hull of points in CCW order.\n var hull = [points.sort(compSort)[0]];\n\n for(var p = 0; p < hull.length; p++) {\n var q = nextHullPoint(points, hull[p]);\n\n if(q !== hull[0]) {\n hull.push(q);\n }\n }\n\n return hull;\n }\n\n function isConvex(points) {\n var ltz;\n\n for (var i = 0; i < points.length - 3; i++) {\n var p1 = points[i];\n var p2 = points[i + 1];\n var p3 = points[i + 2];\n var v = [p2[0] - p1[0], p2[1] - p1[1]];\n\n // p3.x * v.y - p3.y * v.x + v.x * p1.y - v.y * p1.x\n var res = p3[0] * v[1] - p3[1] * v[0] + v[0] * p1[1] - v[1] * p1[0];\n\n if (i === 0) {\n if (res < 0) {\n ltz = true;\n } else {\n ltz = false;\n }\n } else {\n if (ltz && (res > 0) || !ltz && (res < 0)) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n function coordinatesContainPoint(coordinates, point) {\n var contains = false;\n for(var i = -1, l = coordinates.length, j = l - 1; ++i < l; j = i) {\n if (((coordinates[i][1] <= point[1] && point[1] < coordinates[j][1]) ||\n (coordinates[j][1] <= point[1] && point[1] < coordinates[i][1])) &&\n (point[0] < (coordinates[j][0] - coordinates[i][0]) * (point[1] - coordinates[i][1]) / (coordinates[j][1] - coordinates[i][1]) + coordinates[i][0])) {\n contains = !contains;\n }\n }\n return contains;\n }\n\n function polygonContainsPoint(polygon, point) {\n if (polygon && polygon.length) {\n if (polygon.length === 1) { // polygon with no holes\n return coordinatesContainPoint(polygon[0], point);\n } else { // polygon with holes\n if (coordinatesContainPoint(polygon[0], point)) {\n for (var i = 1; i < polygon.length; i++) {\n if (coordinatesContainPoint(polygon[i], point)) {\n return false; // found in hole\n }\n }\n\n return true;\n } else {\n return false;\n }\n }\n } else {\n return false;\n }\n }\n\n function edgeIntersectsEdge(a1, a2, b1, b2) {\n var ua_t = (b2[0] - b1[0]) * (a1[1] - b1[1]) - (b2[1] - b1[1]) * (a1[0] - b1[0]);\n var ub_t = (a2[0] - a1[0]) * (a1[1] - b1[1]) - (a2[1] - a1[1]) * (a1[0] - b1[0]);\n var u_b = (b2[1] - b1[1]) * (a2[0] - a1[0]) - (b2[0] - b1[0]) * (a2[1] - a1[1]);\n\n if ( u_b !== 0 ) {\n var ua = ua_t / u_b;\n var ub = ub_t / u_b;\n\n if ( 0 <= ua && ua <= 1 && 0 <= ub && ub <= 1 ) {\n return true;\n }\n }\n\n return false;\n }\n\n function isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function arraysIntersectArrays(a, b) {\n if (isNumber(a[0][0])) {\n if (isNumber(b[0][0])) {\n for (var i = 0; i < a.length - 1; i++) {\n for (var j = 0; j < b.length - 1; j++) {\n if (edgeIntersectsEdge(a[i], a[i + 1], b[j], b[j + 1])) {\n return true;\n }\n }\n }\n } else {\n for (var k = 0; k < b.length; k++) {\n if (arraysIntersectArrays(a, b[k])) {\n return true;\n }\n }\n }\n } else {\n for (var l = 0; l < a.length; l++) {\n if (arraysIntersectArrays(a[l], b)) {\n return true;\n }\n }\n }\n return false;\n }\n\n /*\n Internal: Returns a copy of coordinates for s closed polygon\n */\n function closedPolygon(coordinates) {\n var outer = [ ];\n\n for (var i = 0; i < coordinates.length; i++) {\n var inner = coordinates[i].slice();\n if (pointsEqual(inner[0], inner[inner.length - 1]) === false) {\n inner.push(inner[0]);\n }\n\n outer.push(inner);\n }\n\n return outer;\n }\n\n function pointsEqual(a, b) {\n for (var i = 0; i < a.length; i++) {\n\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function coordinatesEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n var na = a.slice().sort(compSort);\n var nb = b.slice().sort(compSort);\n\n for (var i = 0; i < na.length; i++) {\n if (na[i].length !== nb[i].length) {\n return false;\n }\n for (var j = 0; j < na.length; j++) {\n if (na[i][j] !== nb[i][j]) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n /*\n Internal: An array of variables that will be excluded form JSON objects.\n */\n var excludeFromJSON = [\"length\"];\n\n /*\n Internal: Base GeoJSON Primitive\n */\n function Primitive(geojson){\n if(geojson){\n switch (geojson.type) {\n case 'Point':\n return new Point(geojson);\n\n case 'MultiPoint':\n return new MultiPoint(geojson);\n\n case 'LineString':\n return new LineString(geojson);\n\n case 'MultiLineString':\n return new MultiLineString(geojson);\n\n case 'Polygon':\n return new Polygon(geojson);\n\n case 'MultiPolygon':\n return new MultiPolygon(geojson);\n\n case 'Feature':\n return new Feature(geojson);\n\n case 'FeatureCollection':\n return new FeatureCollection(geojson);\n\n case 'GeometryCollection':\n return new GeometryCollection(geojson);\n\n default:\n throw new Error(\"Unknown type: \" + geojson.type);\n }\n }\n }\n\n Primitive.prototype.toMercator = function(){\n return toMercator(this);\n };\n\n Primitive.prototype.toGeographic = function(){\n return toGeographic(this);\n };\n\n Primitive.prototype.envelope = function(){\n return calculateEnvelope(this);\n };\n\n Primitive.prototype.bbox = function(){\n return calculateBounds(this);\n };\n\n Primitive.prototype.convexHull = function(){\n var coordinates = [ ], i, j;\n if (this.type === 'Point') {\n return null;\n } else if (this.type === 'LineString' || this.type === 'MultiPoint') {\n if (this.coordinates && this.coordinates.length >= 3) {\n coordinates = this.coordinates;\n } else {\n return null;\n }\n } else if (this.type === 'Polygon' || this.type === 'MultiLineString') {\n if (this.coordinates && this.coordinates.length > 0) {\n for (i = 0; i < this.coordinates.length; i++) {\n coordinates = coordinates.concat(this.coordinates[i]);\n }\n if(coordinates.length < 3){\n return null;\n }\n } else {\n return null;\n }\n } else if (this.type === 'MultiPolygon') {\n if (this.coordinates && this.coordinates.length > 0) {\n for (i = 0; i < this.coordinates.length; i++) {\n for (j = 0; j < this.coordinates[i].length; j++) {\n coordinates = coordinates.concat(this.coordinates[i][j]);\n }\n }\n if(coordinates.length < 3){\n return null;\n }\n } else {\n return null;\n }\n } else if(this.type === \"Feature\"){\n var primitive = new Primitive(this.geometry);\n return primitive.convexHull();\n }\n\n return new Polygon({\n type: 'Polygon',\n coordinates: closedPolygon([convexHull(coordinates)])\n });\n };\n\n Primitive.prototype.toJSON = function(){\n var obj = {};\n for (var key in this) {\n if (this.hasOwnProperty(key) && excludeFromJSON.indexOf(key) === -1) {\n obj[key] = this[key];\n }\n }\n obj.bbox = calculateBounds(this);\n return obj;\n };\n\n Primitive.prototype.contains = function(primitive){\n return new Primitive(primitive).within(this);\n };\n\n Primitive.prototype.within = function(primitive) {\n var coordinates, i, j, contains;\n\n // if we are passed a feature, use the polygon inside instead\n if (primitive.type === 'Feature') {\n primitive = primitive.geometry;\n }\n\n // point.within(point) :: equality\n if (primitive.type === \"Point\") {\n if (this.type === \"Point\") {\n return pointsEqual(this.coordinates, primitive.coordinates);\n\n }\n }\n\n // point.within(multilinestring)\n if (primitive.type === \"MultiLineString\") {\n if (this.type === \"Point\") {\n for (i = 0; i < primitive.coordinates.length; i++) {\n var linestring = { type: \"LineString\", coordinates: primitive.coordinates[i] };\n\n if (this.within(linestring)) {\n return true;\n }\n }\n }\n }\n\n // point.within(linestring), point.within(multipoint)\n if (primitive.type === \"LineString\" || primitive.type === \"MultiPoint\") {\n if (this.type === \"Point\") {\n for (i = 0; i < primitive.coordinates.length; i++) {\n if (this.coordinates.length !== primitive.coordinates[i].length) {\n return false;\n }\n\n if (pointsEqual(this.coordinates, primitive.coordinates[i])) {\n return true;\n }\n }\n }\n }\n\n if (primitive.type === \"Polygon\") {\n // polygon.within(polygon)\n if (this.type === \"Polygon\") {\n // check for equal polygons\n if (primitive.coordinates.length === this.coordinates.length) {\n for (i = 0; i < this.coordinates.length; i++) {\n if (coordinatesEqual(this.coordinates[i], primitive.coordinates[i])) {\n return true;\n }\n }\n }\n\n if (this.coordinates.length && polygonContainsPoint(primitive.coordinates, this.coordinates[0][0])) {\n return !arraysIntersectArrays(closedPolygon(this.coordinates), closedPolygon(primitive.coordinates));\n } else {\n return false;\n }\n\n // point.within(polygon)\n } else if (this.type === \"Point\") {\n return polygonContainsPoint(primitive.coordinates, this.coordinates);\n\n // linestring/multipoint withing polygon\n } else if (this.type === \"LineString\" || this.type === \"MultiPoint\") {\n if (!this.coordinates || this.coordinates.length === 0) {\n return false;\n }\n\n for (i = 0; i < this.coordinates.length; i++) {\n if (polygonContainsPoint(primitive.coordinates, this.coordinates[i]) === false) {\n return false;\n }\n }\n\n return true;\n\n // multilinestring.within(polygon)\n } else if (this.type === \"MultiLineString\") {\n for (i = 0; i < this.coordinates.length; i++) {\n var ls = new LineString(this.coordinates[i]);\n\n if (ls.within(primitive) === false) {\n contains++;\n return false;\n }\n }\n\n return true;\n\n // multipolygon.within(polygon)\n } else if (this.type === \"MultiPolygon\") {\n for (i = 0; i < this.coordinates.length; i++) {\n var p1 = new Primitive({ type: \"Polygon\", coordinates: this.coordinates[i] });\n\n if (p1.within(primitive) === false) {\n return false;\n }\n }\n\n return true;\n }\n\n }\n\n if (primitive.type === \"MultiPolygon\") {\n // point.within(multipolygon)\n if (this.type === \"Point\") {\n if (primitive.coordinates.length) {\n for (i = 0; i < primitive.coordinates.length; i++) {\n coordinates = primitive.coordinates[i];\n if (polygonContainsPoint(coordinates, this.coordinates) && arraysIntersectArrays([this.coordinates], primitive.coordinates) === false) {\n return true;\n }\n }\n }\n\n return false;\n // polygon.within(multipolygon)\n } else if (this.type === \"Polygon\") {\n for (i = 0; i < this.coordinates.length; i++) {\n if (primitive.coordinates[i].length === this.coordinates.length) {\n for (j = 0; j < this.coordinates.length; j++) {\n if (coordinatesEqual(this.coordinates[j], primitive.coordinates[i][j])) {\n return true;\n }\n }\n }\n }\n\n if (arraysIntersectArrays(this.coordinates, primitive.coordinates) === false) {\n if (primitive.coordinates.length) {\n for (i = 0; i < primitive.coordinates.length; i++) {\n coordinates = primitive.coordinates[i];\n if (polygonContainsPoint(coordinates, this.coordinates[0][0]) === false) {\n contains = false;\n } else {\n contains = true;\n }\n }\n\n return contains;\n }\n }\n\n // linestring.within(multipolygon), multipoint.within(multipolygon)\n } else if (this.type === \"LineString\" || this.type === \"MultiPoint\") {\n for (i = 0; i < primitive.coordinates.length; i++) {\n var p = { type: \"Polygon\", coordinates: primitive.coordinates[i] };\n\n if (this.within(p)) {\n return true;\n }\n\n return false;\n }\n\n // multilinestring.within(multipolygon)\n } else if (this.type === \"MultiLineString\") {\n for (i = 0; i < this.coordinates.length; i++) {\n var lines = new LineString(this.coordinates[i]);\n\n if (lines.within(primitive) === false) {\n return false;\n }\n }\n\n return true;\n\n // multipolygon.within(multipolygon)\n } else if (this.type === \"MultiPolygon\") {\n for (i = 0; i < primitive.coordinates.length; i++) {\n var mpoly = { type: \"Polygon\", coordinates: primitive.coordinates[i] };\n\n if (this.within(mpoly) === false) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n // default to false\n return false;\n };\n\n Primitive.prototype.intersects = function(primitive) {\n // if we are passed a feature, use the polygon inside instead\n if (primitive.type === 'Feature') {\n primitive = primitive.geometry;\n }\n\n var p = new Primitive(primitive);\n if (this.within(primitive) || p.within(this)) {\n return true;\n }\n\n\n if (this.type !== 'Point' && this.type !== 'MultiPoint' &&\n primitive.type !== 'Point' && primitive.type !== 'MultiPoint') {\n return arraysIntersectArrays(this.coordinates, primitive.coordinates);\n } else if (this.type === 'Feature') {\n // in the case of a Feature, use the internal primitive for intersection\n var inner = new Primitive(this.geometry);\n return inner.intersects(primitive);\n }\n\n warn(\"Type \" + this.type + \" to \" + primitive.type + \" intersection is not supported by intersects\");\n return false;\n };\n\n\n /*\n GeoJSON Point Class\n new Point();\n new Point(x,y,z,wtf);\n new Point([x,y,z,wtf]);\n new Point([x,y]);\n new Point({\n type: \"Point\",\n coordinates: [x,y]\n });\n */\n function Point(input){\n var args = Array.prototype.slice.call(arguments);\n\n if(input && input.type === \"Point\" && input.coordinates){\n extend(this, input);\n } else if(input && isArray(input)) {\n this.coordinates = input;\n } else if(args.length >= 2) {\n this.coordinates = args;\n } else {\n throw \"Terraformer: invalid input for Terraformer.Point\";\n }\n\n this.type = \"Point\";\n }\n\n Point.prototype = new Primitive();\n Point.prototype.constructor = Point;\n\n /*\n GeoJSON MultiPoint Class\n new MultiPoint();\n new MultiPoint([[x,y], [x1,y1]]);\n new MultiPoint({\n type: \"MultiPoint\",\n coordinates: [x,y]\n });\n */\n function MultiPoint(input){\n if(input && input.type === \"MultiPoint\" && input.coordinates){\n extend(this, input);\n } else if(isArray(input)) {\n this.coordinates = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.MultiPoint\";\n }\n\n this.type = \"MultiPoint\";\n }\n\n MultiPoint.prototype = new Primitive();\n MultiPoint.prototype.constructor = MultiPoint;\n MultiPoint.prototype.forEach = function(func){\n for (var i = 0; i < this.coordinates.length; i++) {\n func.apply(this, [this.coordinates[i], i, this.coordinates]);\n }\n return this;\n };\n MultiPoint.prototype.addPoint = function(point){\n this.coordinates.push(point);\n return this;\n };\n MultiPoint.prototype.insertPoint = function(point, index){\n this.coordinates.splice(index, 0, point);\n return this;\n };\n MultiPoint.prototype.removePoint = function(remove){\n if(typeof remove === \"number\"){\n this.coordinates.splice(remove, 1);\n } else {\n this.coordinates.splice(this.coordinates.indexOf(remove), 1);\n }\n return this;\n };\n MultiPoint.prototype.get = function(i){\n return new Point(this.coordinates[i]);\n };\n\n /*\n GeoJSON LineString Class\n new LineString();\n new LineString([[x,y], [x1,y1]]);\n new LineString({\n type: \"LineString\",\n coordinates: [x,y]\n });\n */\n function LineString(input){\n if(input && input.type === \"LineString\" && input.coordinates){\n extend(this, input);\n } else if(isArray(input)) {\n this.coordinates = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.LineString\";\n }\n\n this.type = \"LineString\";\n }\n\n LineString.prototype = new Primitive();\n LineString.prototype.constructor = LineString;\n LineString.prototype.addVertex = function(point){\n this.coordinates.push(point);\n return this;\n };\n LineString.prototype.insertVertex = function(point, index){\n this.coordinates.splice(index, 0, point);\n return this;\n };\n LineString.prototype.removeVertex = function(remove){\n this.coordinates.splice(remove, 1);\n return this;\n };\n\n /*\n GeoJSON MultiLineString Class\n new MultiLineString();\n new MultiLineString([ [[x,y], [x1,y1]], [[x2,y2], [x3,y3]] ]);\n new MultiLineString({\n type: \"MultiLineString\",\n coordinates: [ [[x,y], [x1,y1]], [[x2,y2], [x3,y3]] ]\n });\n */\n function MultiLineString(input){\n if(input && input.type === \"MultiLineString\" && input.coordinates){\n extend(this, input);\n } else if(isArray(input)) {\n this.coordinates = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.MultiLineString\";\n }\n\n this.type = \"MultiLineString\";\n }\n\n MultiLineString.prototype = new Primitive();\n MultiLineString.prototype.constructor = MultiLineString;\n MultiLineString.prototype.forEach = function(func){\n for (var i = 0; i < this.coordinates.length; i++) {\n func.apply(this, [this.coordinates[i], i, this.coordinates ]);\n }\n };\n MultiLineString.prototype.get = function(i){\n return new LineString(this.coordinates[i]);\n };\n\n /*\n GeoJSON Polygon Class\n new Polygon();\n new Polygon([ [[x,y], [x1,y1], [x2,y2]] ]);\n new Polygon({\n type: \"Polygon\",\n coordinates: [ [[x,y], [x1,y1], [x2,y2]] ]\n });\n */\n function Polygon(input){\n if(input && input.type === \"Polygon\" && input.coordinates){\n extend(this, input);\n } else if(isArray(input)) {\n this.coordinates = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.Polygon\";\n }\n\n this.type = \"Polygon\";\n }\n\n Polygon.prototype = new Primitive();\n Polygon.prototype.constructor = Polygon;\n Polygon.prototype.addVertex = function(point){\n this.insertVertex(point, this.coordinates[0].length - 1);\n return this;\n };\n Polygon.prototype.insertVertex = function(point, index){\n this.coordinates[0].splice(index, 0, point);\n return this;\n };\n Polygon.prototype.removeVertex = function(remove){\n this.coordinates[0].splice(remove, 1);\n return this;\n };\n Polygon.prototype.close = function() {\n this.coordinates = closedPolygon(this.coordinates);\n };\n Polygon.prototype.hasHoles = function() {\n return this.coordinates.length > 1;\n };\n Polygon.prototype.holes = function() {\n var holes = [];\n if (this.hasHoles()) {\n for (var i = 1; i < this.coordinates.length; i++) {\n holes.push(new Polygon([this.coordinates[i]]));\n }\n }\n return holes;\n };\n\n /*\n GeoJSON MultiPolygon Class\n new MultiPolygon();\n new MultiPolygon([ [ [[x,y], [x1,y1]], [[x2,y2], [x3,y3]] ] ]);\n new MultiPolygon({\n type: \"MultiPolygon\",\n coordinates: [ [ [[x,y], [x1,y1]], [[x2,y2], [x3,y3]] ] ]\n });\n */\n function MultiPolygon(input){\n if(input && input.type === \"MultiPolygon\" && input.coordinates){\n extend(this, input);\n } else if(isArray(input)) {\n this.coordinates = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.MultiPolygon\";\n }\n\n this.type = \"MultiPolygon\";\n }\n\n MultiPolygon.prototype = new Primitive();\n MultiPolygon.prototype.constructor = MultiPolygon;\n MultiPolygon.prototype.forEach = function(func){\n for (var i = 0; i < this.coordinates.length; i++) {\n func.apply(this, [this.coordinates[i], i, this.coordinates ]);\n }\n };\n MultiPolygon.prototype.get = function(i){\n return new Polygon(this.coordinates[i]);\n };\n MultiPolygon.prototype.close = function(){\n var outer = [];\n this.forEach(function(polygon){\n outer.push(closedPolygon(polygon));\n });\n this.coordinates = outer;\n return this;\n };\n\n /*\n GeoJSON Feature Class\n new Feature();\n new Feature({\n type: \"Feature\",\n geometry: {\n type: \"Polygon\",\n coordinates: [ [ [[x,y], [x1,y1]], [[x2,y2], [x3,y3]] ] ]\n }\n });\n new Feature({\n type: \"Polygon\",\n coordinates: [ [ [[x,y], [x1,y1]], [[x2,y2], [x3,y3]] ] ]\n });\n */\n function Feature(input){\n if(input && input.type === \"Feature\"){\n extend(this, input);\n } else if(input && input.type && input.coordinates) {\n this.geometry = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.Feature\";\n }\n\n this.type = \"Feature\";\n }\n\n Feature.prototype = new Primitive();\n Feature.prototype.constructor = Feature;\n\n /*\n GeoJSON FeatureCollection Class\n new FeatureCollection();\n new FeatureCollection([feature, feature1]);\n new FeatureCollection({\n type: \"FeatureCollection\",\n coordinates: [feature, feature1]\n });\n */\n function FeatureCollection(input){\n if(input && input.type === \"FeatureCollection\" && input.features){\n extend(this, input);\n } else if(isArray(input)) {\n this.features = input;\n } else {\n throw \"Terraformer: invalid input for Terraformer.FeatureCollection\";\n }\n\n this.type = \"FeatureCollection\";\n }\n\n FeatureCollection.prototype = new Primitive();\n FeatureCollection.prototype.constructor = FeatureCollection;\n FeatureCollection.prototype.forEach = function(func){\n for (var i = 0; i < this.features.length; i++) {\n func.apply(this, [this.features[i], i, this.features]);\n }\n };\n FeatureCollection.prototype.get = function(id){\n var found;\n this.forEach(function(feature){\n if(feature.id === id){\n found = feature;\n }\n });\n return new Feature(found);\n };\n\n /*\n GeoJSON GeometryCollection Class\n new GeometryCollection();\n new GeometryCollection([geometry, geometry1]);\n new GeometryCollection({\n type: \"GeometryCollection\",\n coordinates: [geometry, geometry1]\n });\n */\n function GeometryCollection(input){\n if(input && input.type === \"GeometryCollection\" && input.geometries){\n extend(this, input);\n } else if(isArray(input)) {\n this.geometries = input;\n } else if(input.coordinates && input.type){\n this.type = \"GeometryCollection\";\n this.geometries = [input];\n } else {\n throw \"Terraformer: invalid input for Terraformer.GeometryCollection\";\n }\n\n this.type = \"GeometryCollection\";\n }\n\n GeometryCollection.prototype = new Primitive();\n GeometryCollection.prototype.constructor = GeometryCollection;\n GeometryCollection.prototype.forEach = function(func){\n for (var i = 0; i < this.geometries.length; i++) {\n func.apply(this, [this.geometries[i], i, this.geometries]);\n }\n };\n GeometryCollection.prototype.get = function(i){\n return new Primitive(this.geometries[i]);\n };\n\n function createCircle(center, radius, interpolate){\n var mercatorPosition = positionToMercator(center);\n var steps = interpolate || 64;\n var polygon = {\n type: \"Polygon\",\n coordinates: [[]]\n };\n for(var i=1; i<=steps; i++) {\n var radians = i * (360/steps) * Math.PI / 180;\n polygon.coordinates[0].push([mercatorPosition[0] + radius * Math.cos(radians), mercatorPosition[1] + radius * Math.sin(radians)]);\n }\n polygon.coordinates = closedPolygon(polygon.coordinates);\n\n return toGeographic(polygon);\n }\n\n function Circle (center, radius, interpolate) {\n var steps = interpolate || 64;\n var rad = radius || 250;\n\n if(!center || center.length < 2 || !rad || !steps) {\n throw new Error(\"Terraformer: missing parameter for Terraformer.Circle\");\n }\n\n extend(this, new Feature({\n type: \"Feature\",\n geometry: createCircle(center, rad, steps),\n properties: {\n radius: rad,\n center: center,\n steps: steps\n }\n }));\n }\n\n Circle.prototype = new Primitive();\n Circle.prototype.constructor = Circle;\n Circle.prototype.recalculate = function(){\n this.geometry = createCircle(this.properties.center, this.properties.radius, this.properties.steps);\n return this;\n };\n Circle.prototype.center = function(coordinates){\n if(coordinates){\n this.properties.center = coordinates;\n this.recalculate();\n }\n return this.properties.center;\n };\n Circle.prototype.radius = function(radius){\n if(radius){\n this.properties.radius = radius;\n this.recalculate();\n }\n return this.properties.radius;\n };\n Circle.prototype.steps = function(steps){\n if(steps){\n this.properties.steps = steps;\n this.recalculate();\n }\n return this.properties.steps;\n };\n\n Circle.prototype.toJSON = function() {\n var output = Primitive.prototype.toJSON.call(this);\n return output;\n };\n\n exports.Primitive = Primitive;\n exports.Point = Point;\n exports.MultiPoint = MultiPoint;\n exports.LineString = LineString;\n exports.MultiLineString = MultiLineString;\n exports.Polygon = Polygon;\n exports.MultiPolygon = MultiPolygon;\n exports.Feature = Feature;\n exports.FeatureCollection = FeatureCollection;\n exports.GeometryCollection = GeometryCollection;\n exports.Circle = Circle;\n\n exports.toMercator = toMercator;\n exports.toGeographic = toGeographic;\n\n exports.Tools = {};\n exports.Tools.positionToMercator = positionToMercator;\n exports.Tools.positionToGeographic = positionToGeographic;\n exports.Tools.applyConverter = applyConverter;\n exports.Tools.toMercator = toMercator;\n exports.Tools.toGeographic = toGeographic;\n exports.Tools.createCircle = createCircle;\n\n exports.Tools.calculateBounds = calculateBounds;\n exports.Tools.calculateEnvelope = calculateEnvelope;\n\n exports.Tools.coordinatesContainPoint = coordinatesContainPoint;\n exports.Tools.polygonContainsPoint = polygonContainsPoint;\n exports.Tools.arraysIntersectArrays = arraysIntersectArrays;\n exports.Tools.coordinatesContainPoint = coordinatesContainPoint;\n exports.Tools.coordinatesEqual = coordinatesEqual;\n exports.Tools.convexHull = convexHull;\n exports.Tools.isConvex = isConvex;\n\n exports.MercatorCRS = MercatorCRS;\n exports.GeographicCRS = GeographicCRS;\n\n return exports;\n}));\n"],"names":["root","factory","this","exports","EarthRadius","DegreesPerRadian","RadiansPerDegree","MercatorCRS","isArray","obj","Object","prototype","toString","call","extend","destination","source","k","hasOwnProperty","calculateBounds","geojson","type","coordinates","calculateBoundsFromArray","calculateBoundsFromNestedArrays","array","x1","x2","y1","y2","i","length","inner","j","innerinner","lonlat","lon","lat","calculateBoundsFromNestedArrayOfArrays","geometry","featureCollection","extent","extents","features","push","calculateBoundsForFeatureCollection","geometryCollection","geometries","calculateBoundsForGeometryCollection","Error","calculateEnvelope","bounds","x","y","w","Math","abs","h","radToDeg","rad","degToRad","deg","eachPosition","func","positionToGeographic","position","floor","PI","atan","exp","positionToMercator","lng","max","min","log","sin","applyConverter","converter","noCrs","f","g","crs","toMercator","toGeographic","compSort","p1","p2","turn","p","q","r","a","b","euclideanDistance","dx","dy","nextHullPoint","points","t","convexHull","hull","sort","coordinatesContainPoint","point","contains","l","polygonContainsPoint","polygon","edgeIntersectsEdge","a1","a2","b1","b2","ua_t","ub_t","u_b","ua","ub","isNumber","n","isNaN","parseFloat","isFinite","arraysIntersectArrays","closedPolygon","outer","slice","pointsEqual","coordinatesEqual","na","nb","excludeFromJSON","Primitive","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","Feature","FeatureCollection","GeometryCollection","input","args","Array","arguments","createCircle","center","radius","interpolate","mercatorPosition","steps","radians","cos","Circle","properties","envelope","bbox","concat","toJSON","key","indexOf","primitive","within","linestring","mpoly","intersects","apply","undefined","console","warn","constructor","forEach","addPoint","insertPoint","index","splice","removePoint","remove","get","addVertex","insertVertex","removeVertex","close","hasHoles","holes","id","found","feature","recalculate","Tools","isConvex","ltz","p3","v","res","GeographicCRS","module","window","Terraformer"],"sourceRoot":""} \ No newline at end of file diff --git a/build/assets/js/vendors.turf.js b/build/assets/js/vendors.turf.js new file mode 100644 index 0000000..9c06f12 --- /dev/null +++ b/build/assets/js/vendors.turf.js @@ -0,0 +1,2 @@ +!function(){try{var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="b01cacd5-1b14-4d6a-aaa7-0549ec1bb0f4",t._sentryDebugIdIdentifier="sentry-dbid-b01cacd5-1b14-4d6a-aaa7-0549ec1bb0f4")}catch(t){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"5295b5abc54d9cc74f50c3b1d583a7045cbc3013"},(self.webpackChunkd6_business_directory=self.webpackChunkd6_business_directory||[]).push([[432],{208:function(t,e){!function(t){"use strict";function e(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.bbox,i=n.id;if(void 0===t)throw new Error("geometry is required");if(e&&e.constructor!==Object)throw new Error("properties must be an Object");r&&N(r),i&&C(i);var o={type:"Feature"};return i&&(o.id=i),r&&(o.bbox=r),o.properties=e||{},o.geometry=t,o}function n(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var i,s=n.bbox;if(!t)throw new Error("type is required");if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");switch(s&&N(s),t){case"Point":i=r(e).geometry;break;case"LineString":i=a(e).geometry;break;case"Polygon":i=o(e).geometry;break;case"MultiPoint":i=l(e).geometry;break;case"MultiLineString":i=h(e).geometry;break;case"MultiPolygon":i=p(e).geometry;break;default:throw new Error(t+" is invalid")}return s&&(i.bbox=s),i}function r(t,n,r){if(!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!b(t[0])||!b(t[1]))throw new Error("coordinates must contain numbers");return e({type:"Point",coordinates:t},n,r)}function i(t,e,n){if(!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");return c(t.map((function(t){return r(t,e)})),n)}function o(t,n,r){if(!t)throw new Error("coordinates is required");for(var i=0;i=0))throw new Error("precision must be a positive number");var n=Math.pow(10,e||0);return Math.round(t*n)/n}function d(t,e){if(void 0===t||null===t)throw new Error("radians is required");if(e&&"string"!=typeof e)throw new Error("units must be a string");var n=qo[e||"kilometers"];if(!n)throw new Error(e+" units is invalid");return t*n}function y(t,e){if(void 0===t||null===t)throw new Error("distance is required");if(e&&"string"!=typeof e)throw new Error("units must be a string");var n=qo[e||"kilometers"];if(!n)throw new Error(e+" units is invalid");return t/n}function _(t,e){return v(y(t,e))}function m(t){if(null===t||void 0===t)throw new Error("bearing is required");var e=t%360;return e<0&&(e+=360),e}function v(t){if(null===t||void 0===t)throw new Error("radians is required");return t%(2*Math.PI)*180/Math.PI}function x(t){if(null===t||void 0===t)throw new Error("degrees is required");return t%360*Math.PI/180}function E(t,e,n){if(null===t||void 0===t)throw new Error("length is required");if(!(t>=0))throw new Error("length must be a positive number");return d(y(t,e),n||"kilometers")}function w(t,e,n){if(null===t||void 0===t)throw new Error("area is required");if(!(t>=0))throw new Error("area must be a positive number");var r=Bo[e||"meters"];if(!r)throw new Error("invalid original units");var i=Bo[n||"kilometers"];if(!i)throw new Error("invalid final units");return t/r*i}function b(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}function I(t){return!!t&&t.constructor===Object}function N(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!b(t))throw new Error("bbox must only contain numbers")}))}function C(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}function S(t,e,n){if(null!==t)for(var r,i,o,s,a,u,c,h,l=0,p=0,f=t.type,g="FeatureCollection"===f,d="Feature"===f,y=g?t.features.length:1,_=0;_t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]1&&b(e[0])&&b(e[1]))return e;throw new Error("Coordinate is not a valid Point")}function U(t){if(!t)throw new Error("obj is required");var e;if(t.length?e=t:t.coordinates?e=t.coordinates:t.geometry&&t.geometry.coordinates&&(e=t.geometry.coordinates),e)return Y(e),e;throw new Error("No valid coordinates")}function Y(t){if(t.length>1&&b(t[0])&&b(t[1]))return!0;if(Array.isArray(t[0])&&t[0].length)return Y(t[0]);throw new Error("coordinates must only contain numbers")}function V(t,e,n){if(!e||!n)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.type)}function H(t,e,n){if(!t)throw new Error("No feature passed");if(!n)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+n+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.geometry.type)}function W(t,e,n){if(!t)throw new Error("No featureCollection passed");if(!n)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+n+", FeatureCollection required");for(var r=0;r=0&&d>=0&&d=0;h--)if(Math.abs(e[h][0][0]-u)<=1e-7&&Math.abs(e[h][0][1]-c)<=1e-7){for(var l=s.path.length-2;l>=0;--l)e[h].unshift(s.path[l]);a=!0;break}a||(e[n++]=s.path)}}))})),e}(function(t,e){for(var n=t.length-1,r=t[0].length-1,i={rows:n,cols:r,cells:[]},o=0;o=e?8:0,a|=c>=e?4:0,a|=h>=e?2:0;var p,f,g,d,y=!1;if(5===(a|=l>=e?1:0)||10===a){var _=(u+c+h+l)/4;5===a&&_e?1:0};r>n;){if(r-n>600){var o=r-n+1,s=e-n+1,a=Math.log(o),u=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*u*(o-u)/o)*(s-o/2<0?-1:1);it(t,e,Math.max(n,Math.floor(e-s*u/o+c)),Math.min(r,Math.floor(e+(o-s)*u/o+c)),i)}var h=t[e],l=n,p=r;for(ot(t,n,e),i(t[r],h)>0&&ot(t,n,r);l0;)p--}0===i(t[n],h)?ot(t,n,p):ot(t,++p,r),p<=e&&(n=p+1),e<=p&&(r=p-1)}}function ot(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function st(t,e){if(!(this instanceof st))return new st(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function at(t,e){ut(t,0,t.children.length,e,t)}function ut(t,e,n,r,i){i||(i=yt(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(var o,s=e;s=t.minX&&e.maxY>=t.minY}function yt(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function _t(t,e,n,r,i){for(var o,s=[e,n];s.length;)(n=s.pop())-(e=s.pop())<=r||(o=e+Math.ceil((n-e)/r/2)*r,Yo(t,o,e,n,i),s.push(e,o,o,n))}function mt(t,e){return t(e={exports:{}},e.exports),e.exports}function vt(t,e){if(!(this instanceof vt))return new vt(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||function(t,e){return te?1:0},this.length>0)for(var n=(this.length>>1)-1;n>=0;n--)this._down(n)}function xt(t,e,n){e=Math.max(0,void 0===e?2:e),n=n||0;for(var r,i=function(t){for(var e=t[0],n=t[0],r=t[0],i=t[0],o=0;or[0]&&(r=s),s[1]i[1]&&(i=s)}var a=[e,n,r,i],u=a.slice();for(o=0;oo||a.push({node:h,dist:l})}for(;a.length&&!a.peek().node.children;){var p=a.pop(),f=p.node,g=St(f,e,n),d=St(f,r,i);if(p.dist=e.minX&&t[0]<=e.maxX&&t[1]>=e.minY&&t[1]<=e.maxY}function bt(t,e,n){for(var r=Math.min(t[0],e[0]),i=Math.min(t[1],e[1]),o=Math.max(t[0],e[0]),s=Math.max(t[1],e[1]),a=n.search({minX:r,minY:i,maxX:o,maxY:s}),u=0;u0!=os(t,e,r)>0&&os(n,r,t)>0!=os(n,r,e)>0}(a[u].p,a[u].next.p,t,e))return!1;return!0}function It(t){var e=t.p,n=t.next.p;return t.minX=Math.min(e[0],n[0]),t.minY=Math.min(e[1],n[1]),t.maxX=Math.max(e[0],n[0]),t.maxY=Math.max(e[1],n[1]),t}function Nt(t,e){var n={p:t,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return e?(n.next=e.next,n.prev=e,e.next.prev=n,e.next=n):(n.prev=n,n.next=n),n}function Ct(t,e){var n=t[0]-e[0],r=t[1]-e[1];return n*n+r*r}function St(t,e,n){var r=e[0],i=e[1],o=n[0]-r,s=n[1]-i;if(0!==o||0!==s){var a=((t[0]-r)*o+(t[1]-i)*s)/(o*o+s*s);a>1?(r=n[0],i=n[1]):a>0&&(r+=o*a,i+=s*a)}return(o=t[0]-r)*o+(s=t[1]-i)*s}function Mt(t,e,n,r,i,o,s,a){var u,c,h,l,p=n-t,f=r-e,g=s-i,d=a-o,y=t-i,_=e-o,m=p*p+f*f,v=p*g+f*d,x=g*g+d*d,E=p*y+f*_,w=g*y+d*_,b=m*x-v*v,I=b,N=b;0===b?(c=0,I=1,l=w,N=x):(l=m*w-v*E,(c=v*w-x*E)<0?(c=0,l=w,N=x):c>I&&(c=I,l=w+v,N=x)),l<0?(l=0,-E<0?c=0:-E>m?c=I:(c=-E,I=m)):l>N&&(l=N,-E+v<0?c=0:-E+v>m?c=I:(c=-E+v,I=m));var C=(1-(h=0===l?0:l/N))*i+h*s-((1-(u=0===c?0:c/I))*t+u*n),S=(1-h)*o+h*a-((1-u)*e+u*r);return C*C+S*S}function Lt(t,e){if(!I(e=e||{}))throw new Error("options is invalid");var n=e.concavity||1/0,r=[];if(S(t,(function(t){r.push([t[0],t[1]])})),!r.length)return null;var i=ss(r,n);return i.length>3?o([i]):null}function Pt(t,e,n){if("object"!=typeof(n=n||{}))throw new Error("options is invalid");var r=n.ignoreBoundary;if(!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var i=X(t),o=U(e),s=e.geometry?e.geometry.type:e.type,a=e.bbox;if(a&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(i,a))return!1;"Polygon"===s&&(o=[o]);for(var u=0,c=!1;ut[1]!=c>t[1]&&t[0]<(u-s)*(t[1]-a)/(c-a)+s&&(r=!r)}return r}function Rt(t,e){var n=[];return A(e,(function(e){O(t,(function(t){Pt(t,e)&&n.push(t)}))})),c(n)}function Tt(t,e){if("FeatureCollection"!==t.type)throw new Error("points must be a FeatureCollection");var n=!1;return c(function(t){if(t.length<3)return[];t.sort(Dt);for(var e,n,r,i,o,s,a=t.length-1,u=t[a].x,c=t[0].x,h=t[a].y,l=h;a--;)t[a].yl&&(l=t[a].y);var p,f=c-u,g=l-h,d=f>g?f:g,y=.5*(c+u),_=.5*(l+h),m=[new At({x:y-20*d,y:_-d,__sentinel:!0},{x:y,y:_+20*d,__sentinel:!0},{x:y+20*d,y:_-d,__sentinel:!0})],v=[],x=[];for(a=t.length;a--;){for(x.length=0,p=m.length;p--;)(f=t[a].x-m[p].x)>0&&f*f>m[p].r?(v.push(m[p]),m.splice(p,1)):f*f+(g=t[a].y-m[p].y)*g>m[p].r||(x.push(m[p].a,m[p].b,m[p].b,m[p].c,m[p].c,m[p].a),m.splice(p,1));for(Ft(x),p=x.length;p;)n=x[--p],e=x[--p],r=t[a],i=n.x-e.x,o=n.y-e.y,s=2*(i*(r.y-n.y)-o*(r.x-n.x)),Math.abs(s)>1e-12&&m.push(new At(e,n,r))}for(Array.prototype.push.apply(v,m),a=v.length;a--;)(v[a].a.__sentinel||v[a].b.__sentinel||v[a].c.__sentinel)&&v.splice(a,1);return v}(t.features.map((function(t){var r={x:t.geometry.coordinates[0],y:t.geometry.coordinates[1]};return e?r.z=t.properties[e]:3===t.geometry.coordinates.length&&(n=!0,r.z=t.geometry.coordinates[2]),r}))).map((function(t){var e=[t.a.x,t.a.y],r=[t.b.x,t.b.y],i=[t.c.x,t.c.y],s={};return n?(e.push(t.a.z),r.push(t.b.z),i.push(t.c.z)):s={a:t.a.z,b:t.b.z,c:t.c.z},o([[e,r,i,e]],s)})))}function At(t,e,n){this.a=t,this.b=e,this.c=n;var r,i,o=e.x-t.x,s=e.y-t.y,a=n.x-t.x,u=n.y-t.y,c=o*(t.x+e.x)+s*(t.y+e.y),h=a*(t.x+n.x)+u*(t.y+n.y),l=2*(o*(n.y-e.y)-s*(n.x-e.x));this.x=(u*c-s*h)/l,this.y=(o*h-a*c)/l,r=this.x-t.x,i=this.y-t.y,this.r=r*r+i*i}function Dt(t,e){return e.x-t.x}function Ft(t){var e,n,r,i,o,s=t.length;t:for(;s;)for(n=t[--s],e=t[--s],r=s;r;)if(o=t[--r],i=t[--r],e===i&&n===o||e===o&&n===i){t.splice(s,2),t.splice(r,2),s-=2;continue t}}function qt(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.units,i=X(t),o=X(e),s=x(o[1]-i[1]),a=x(o[0]-i[0]),u=x(i[1]),c=x(o[1]),h=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(u)*Math.cos(c);return d(2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),r)}function Gt(t){if(!t)throw new Error("geojson is required");switch(t.type){case"Feature":return Bt(t);case"FeatureCollection":return function(t){var e={type:"FeatureCollection"};return Object.keys(t).forEach((function(n){switch(n){case"type":case"features":return;default:e[n]=t[n]}})),e.features=t.features.map((function(t){return Bt(t)})),e}(t);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return zt(t);default:throw new Error("unknown GeoJSON type")}}function Bt(t){var e={type:"Feature"};return Object.keys(t).forEach((function(n){switch(n){case"type":case"properties":case"geometry":return;default:e[n]=t[n]}})),e.properties=kt(t.properties),e.geometry=zt(t.geometry),e}function kt(t){var e={};return t?(Object.keys(t).forEach((function(n){var r=t[n];"object"==typeof r?null===r?e[n]=null:r.length?e[n]=r.map((function(t){return t})):e[n]=kt(r):e[n]=r})),e):e}function zt(t){var e={type:t.type};return t.bbox&&(e.bbox=t.bbox),"GeometryCollection"===t.type?(e.geometries=t.geometries.map((function(t){return zt(t)})),e):(e.coordinates=jt(t.coordinates),e)}function jt(t){return"object"!=typeof t[0]?t.slice():t.map((function(t){return jt(t)}))}function Xt(t,e){function n(t,e){e.length&&e.pop();for(var n=c[t<0?~t:t],r=0,i=n.length;r1)for(var s,a,u=1,c=i(r[0]);uc&&(a=r[0],r[0]=r[u],r[u]=a,c=s);return r}))}}function Yt(t,e,n){for(var r,i=e+(n---e>>1);e=Math.abs(h)?c>0?o<=r&&r<=a:a<=r&&r<=o:h>0?s<=i&&i<=u:u<=i&&i<=s)}(n,i=e[a+1],r)||o.push(r);return o.push(i),o}function ne(t,e){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r}function re(t,e,n){var r=e.x,i=e.y,o=n.x-r,s=n.y-i;if(0!==o||0!==s){var a=((t.x-r)*o+(t.y-i)*s)/(o*o+s*s);a>1?(r=n.x,i=n.y):a>0&&(r+=o*a,i+=s*a)}return(o=t.x-r)*o+(s=t.y-i)*s}function ie(t,e,n,r,i){for(var o,s=r,a=e+1;as&&(o=a,s=u)}s>r&&(o-e>1&&ie(t,e,o,r,i),i.push(t[o]),n-o>1&&ie(t,o,n,r,i))}function oe(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=n?t:function(t,e){for(var n,r=t[0],i=[r],o=1,s=t.length;oe&&(i.push(n),r=n);return r!==n&&i.push(n),i}(t,r),function(t,e){var n=t.length-1,r=[t[0]];return ie(t,0,n,e,r),r.push(t[n]),r}(t,r)}function se(t,e,n){return oe(t.map((function(t){return{x:t[0],y:t[1],z:t[2]}})),e,n).map((function(t){return t.z?[t.x,t.y,t.z]:[t.x,t.y]}))}function ae(t,e,n){return t.map((function(t){var r=t.map((function(t){return{x:t[0],y:t[1]}}));if(r.length<4)throw new Error("invalid polygon");for(var i=oe(r,e,n).map((function(t){return[t.x,t.y]}));!function(t){return!(t.length<3||3===t.length&&t[2][0]===t[0][0]&&t[2][1]===t[0][1])}(i);)i=oe(r,e-=.01*e,n).map((function(t){return[t.x,t.y]}));return i[i.length-1][0]===i[0][0]&&i[i.length-1][1]===i[0][1]||i.push(i[0]),i}))}function ue(t,e){if(!I(e=e||{}))throw new Error("options is invalid");var n=e.resolution||1e4,r=e.sharpness||.85;if(!t)throw new Error("line is required");if(!b(n))throw new Error("resolution must be an number");if(!b(r))throw new Error("sharpness must be an number");for(var i=[],o=new bs({points:J(t).coordinates.map((function(t){return{x:t[0],y:t[1]}})),duration:n,sharpness:r}),s=0;s=qt(t.slice(0,2),[e,i])){var o=(n+i)/2;return[e,o-(r-e)/2,r,o+(r-e)/2]}var s=(e+r)/2;return[s-(i-n)/2,n,s+(i-n)/2,i]}function pe(t,e,n,i){if(!I(i=i||{}))throw new Error("options is invalid");var o=i.units,s=i.properties,a=X(t),u=x(a[0]),c=x(a[1]),h=x(n),l=y(e,o),p=Math.asin(Math.sin(c)*Math.cos(l)+Math.cos(c)*Math.sin(l)*Math.cos(h));return r([v(u+Math.atan2(Math.sin(h)*Math.sin(l)*Math.cos(c),Math.cos(l)-Math.sin(c)*Math.sin(p))),v(p)],s)}function fe(t,e,n){var r=(n=n||{}).steps||64,i=n.properties;if(!t)throw new Error("center is required");if(!e)throw new Error("radius is required");if("object"!=typeof n)throw new Error("options must be an object");if("number"!=typeof r)throw new Error("steps must be a number");r=r||64,i=i||t.properties||{};for(var s=[],a=0;a=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<=i&&a>s){if(s=a,a===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x=r.x&&r.x>=h&&i!==r.x&&Ne(on.x)&&Le(r,t)&&(n=r,p=u),r=r.next;return n}(t,e)){var n=Pe(e,t);Ee(n,n.next)}}(a[i],n),n=Ee(n,n.next);return n}(t,e,p,n)),t.length>80*n){r=o=t[0],i=s=t[1];for(var g=n;go&&(o=a),u>s&&(s=u);c=0!==(c=Math.max(o-r,s-i))?1/c:0}return we(p,f,n,r,i,c),f}function xe(t,e,n,r,i){var o,s;if(i===Ae(t,e,n,r)>0)for(o=e;o=e;o-=r)s=Oe(o,t[o],t[o+1],s);return s&&Se(s,s.next)&&(Re(s),s=s.next),s}function Ee(t,e){if(!t)return t;e||(e=t);var n,r=t;do{if(n=!1,r.steiner||!Se(r,r.next)&&0!==Ce(r.prev,r,r.next))r=r.next;else{if(Re(r),(r=e=r.prev)===r.next)break;n=!0}}while(n||r!==e);return e}function we(t,e,n,r,i,o,s){if(t){!s&&o&&function(t,e,n,r){var i=t;do{null===i.z&&(i.z=Ie(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,n,r,i,o,s,a,u,c=1;do{for(n=t,t=null,o=null,s=0;n;){for(s++,r=n,a=0,e=0;e0||u>0&&r;)0!==a&&(0===u||!r||n.z<=r.z)?(i=n,n=n.nextZ,a--):(i=r,r=r.nextZ,u--),o?o.nextZ=i:t=i,i.prevZ=o,o=i;n=r}o.nextZ=null,c*=2}while(s>1)}(i)}(t,r,i,o);for(var a,u,c=t;t.prev!==t.next;)if(a=t.prev,u=t.next,o?function(t,e,n,r){var i=t.prev,o=t,s=t.next;if(Ce(i,o,s)>=0)return!1;for(var a=i.xo.x?i.x>s.x?i.x:s.x:o.x>s.x?o.x:s.x,h=i.y>o.y?i.y>s.y?i.y:s.y:o.y>s.y?o.y:s.y,l=Ie(a,u,e,n,r),p=Ie(c,h,e,n,r),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&Ne(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Ce(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=l;){if(f!==t.prev&&f!==t.next&&Ne(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Ce(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}(t,r,i,o):function(t){var e=t.prev,n=t,r=t.next;if(Ce(e,n,r)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(Ne(e.x,e.y,n.x,n.y,r.x,r.y,i.x,i.y)&&Ce(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}(t))e.push(a.i/n),e.push(t.i/n),e.push(u.i/n),Re(t),t=u.next,c=u.next;else if((t=u)===c){s?1===s?we(t=function(t,e,n){var r=t;do{var i=r.prev,o=r.next.next;!Se(i,o)&&Me(i,r,r.next,o)&&Le(i,o)&&Le(o,i)&&(e.push(i.i/n),e.push(r.i/n),e.push(o.i/n),Re(r),Re(r.next),r=t=o),r=r.next}while(r!==t);return r}(t,e,n),e,n,r,i,o,2):2===s&&function(t,e,n,r,i,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&function(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Me(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&Le(t,e)&&Le(e,t)&&function(t,e){var n=t,r=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)}(s,a)){var u=Pe(s,a);return s=Ee(s,s.next),u=Ee(u,u.next),we(s,e,n,r,i,o),void we(u,e,n,r,i,o)}a=a.next}s=s.next}while(s!==t)}(t,e,n,r,i,o):we(Ee(t),e,n,r,i,o,1);break}}}function be(t,e){return t.x-e.x}function Ie(t,e,n,r,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Ne(t,e,n,r,i,o,s,a){return(i-s)*(e-a)-(t-s)*(o-a)>=0&&(t-s)*(r-a)-(n-s)*(e-a)>=0&&(n-s)*(o-a)-(i-s)*(r-a)>=0}function Ce(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Se(t,e){return t.x===e.x&&t.y===e.y}function Me(t,e,n,r){return!!(Se(t,e)&&Se(n,r)||Se(t,r)&&Se(n,e))||Ce(t,e,n)>0!=Ce(t,e,r)>0&&Ce(n,r,t)>0!=Ce(n,r,e)>0}function Le(t,e){return Ce(t.prev,t,t.next)<0?Ce(t,e,t.next)>=0&&Ce(t,t.prev,e)>=0:Ce(t,e,t.prev)<0||Ce(t,t.next,e)<0}function Pe(t,e){var n=new Te(t.i,t.x,t.y),r=new Te(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function Oe(t,e,n,r){var i=new Te(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Re(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Te(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ae(t,e,n,r){for(var i=0,o=e,s=n-r;o0&&(r+=t[i-1].length,n.holes.push(r))}return n}(t),n=Is(e.vertices,e.holes,2),r=[],i=[];n.forEach((function(t,r){var o=n[r];i.push([e.vertices[2*o],e.vertices[2*o+1]])}));for(var s=0;se?1:0})}function Ge(t,e,n,r,i){for(;r>n;){if(r-n>600){var o=r-n+1,s=e-n+1,a=Math.log(o),u=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*u*(o-u)/o)*(s-o/2<0?-1:1);Ge(t,e,Math.max(n,Math.floor(e-s*u/o+c)),Math.min(r,Math.floor(e+(o-s)*u/o+c)),i)}var h=t[e],l=n,p=r;for(Be(t,n,e),i(t[r],h)>0&&Be(t,n,r);l0;)p--}0===i(t[n],h)?Be(t,n,p):Be(t,++p,r),p<=e&&(n=p+1),e<=p&&(r=p-1)}}function Be(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function ke(t,e){if(!(this instanceof ke))return new ke(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function ze(t,e){je(t,0,t.children.length,e,t)}function je(t,e,n,r,i){i||(i=Ze(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(var o,s=e;s=t.minX&&e.maxY>=t.minY}function Ze(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Ke(t,e,n,r,i){for(var o,s=[e,n];s.length;)(n=s.pop())-(e=s.pop())<=r||(qe(t,o=e+Math.ceil((n-e)/r/2)*r,e,n,i),s.push(e,o,o,n))}function Qe(t){var e=ke(t);return e.insert=function(t){if(Array.isArray(t)){var e=t;(t=$e(e)).bbox=e}else t.bbox=t.bbox?t.bbox:tn(t);return ke.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach((function(t){var n=$e(t);n.bbox=t,e.push(n)})):O(t,(function(t){t.bbox=t.bbox?t.bbox:tn(t),e.push(t)})),ke.prototype.load.call(this,e)},e.remove=function(t){if(Array.isArray(t)){var e=t;(t=$e(e)).bbox=e}return ke.prototype.remove.call(this,t)},e.clear=function(){return ke.prototype.clear.call(this)},e.search=function(t){return{type:"FeatureCollection",features:ke.prototype.search.call(this,this.toBBox(t))}},e.collides=function(t){return ke.prototype.collides.call(this,this.toBBox(t))},e.all=function(){return{type:"FeatureCollection",features:ke.prototype.all.call(this)}},e.toJSON=function(){return ke.prototype.toJSON.call(this)},e.fromJSON=function(t){return ke.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;return{minX:(e=t.bbox?t.bbox:Array.isArray(t)&&4===t.length?t:tn(t))[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}function $e(t){var e=[t[0],t[1]],n=[t[0],t[3]],r=[t[2],t[3]];return{type:"Feature",bbox:t,properties:{},geometry:{type:"Polygon",coordinates:[[e,[t[2],t[1]],r,n,e]]}}}function tn(t){var e=[1/0,1/0,-1/0,-1/0];return S(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]i?n:i,r>o?r:o]}(t,r),n.push(i),r})),n}(n,t.properties);r.forEach((function(t){t.id=e.length,e.push(t)}))}))}(t,e)})),c(e)}function nn(t,n){var r={},i=[];if("LineString"===t.type&&(t=e(t)),"LineString"===n.type&&(n=e(n)),"Feature"===t.type&&"Feature"===n.type&&"LineString"===t.geometry.type&&"LineString"===n.geometry.type&&2===t.geometry.coordinates.length&&2===n.geometry.coordinates.length){var o=rn(t,n);return o&&i.push(o),c(i)}var s=Qe();return s.load(en(n)),O(en(t),(function(t){O(s.search(t),(function(e){var n=rn(t,e);if(n){var o=U(n).join(",");r[o]||(r[o]=!0,i.push(n))}}))})),c(i)}function rn(t,e){var n=U(t),i=U(e);if(2!==n.length)throw new Error(" line1 must only contain 2 coordinates");if(2!==i.length)throw new Error(" line2 must only contain 2 coordinates");var o=n[0][0],s=n[0][1],a=n[1][0],u=n[1][1],c=i[0][0],h=i[0][1],l=i[1][0],p=i[1][1],f=(p-h)*(a-o)-(l-c)*(u-s);if(0===f)return null;var g=((l-c)*(s-h)-(p-h)*(o-c))/f,d=((a-o)*(s-h)-(u-s)*(o-c))/f;return g>=0&&g<=1&&d>=0&&d<=1?r([o+g*(a-o),s+g*(u-s)]):null}function on(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var i=t.geometry?t.geometry.type:t.type;if("LineString"!==i&&"MultiLineString"!==i)throw new Error("lines must be LineString or MultiLineString");var o=r([1/0,1/0],{dist:1/0}),s=0;return F(t,(function(t){for(var i=U(t),u=0;u0&&((_=y.features[0]).properties.dist=qt(e,_,n),_.properties.location=s+qt(c,_,n)),c.properties.dist180?-(360-r):r}function an(t,e){var n=x(t[1]),r=x(e[1]),i=x(e[0]-t[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var o=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(n/2+Math.PI/4));return(v(Math.atan2(i,o))+360)%360}function un(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.units;if(!t)throw new Error("from point is required");if(!e)throw new Error("to point is required");var i=X(t),o=X(e);return o[0]+=o[0]-i[0]>180?-360:i[0]-o[0]>180?360:0,E(function(t,e,n){var r=n=void 0===n?Fo:Number(n),i=t[1]*Math.PI/180,o=e[1]*Math.PI/180,s=o-i,a=Math.abs(e[0]-t[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var u=Math.log(Math.tan(o/2+Math.PI/4)/Math.tan(i/2+Math.PI/4)),c=Math.abs(u)>1e-11?s/u:Math.cos(i);return Math.sqrt(s*s+c*c*a*a)*r}(i,o),"meters",r)}function cn(t,e){return ln(t,"mercator",e)}function hn(t,e){return ln(t,"wgs84",e)}function ln(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.mutate;if(!t)throw new Error("geojson is required");return Array.isArray(t)&&b(t[0])?t="mercator"===e?pn(t):fn(t):(!0!==r&&(t=Gt(t)),S(t,(function(t){var n="mercator"===e?pn(t):fn(t);t[0]=n[0],t[1]=n[1]}))),t}function pn(t){var e=Math.PI/180,n=20037508.342789244,r=[6378137*(Math.abs(t[0])<=180?t[0]:t[0]-360*function(t){return t<0?-1:t>0?1:0}(t[0]))*e,6378137*Math.log(Math.tan(.25*Math.PI+.5*t[1]*e))];return r[0]>n&&(r[0]=n),r[0]<-n&&(r[0]=-n),r[1]>n&&(r[1]=n),r[1]<-n&&(r[1]=-n),r}function fn(t){var e=180/Math.PI;return[t[0]*e/6378137,(.5*Math.PI-2*Math.atan(Math.exp(-t[1]/6378137)))*e]}function gn(t,n,i){if(!I(i=i||{}))throw new Error("options is invalid");if(!t)throw new Error("pt is required");if(Array.isArray(t)?t=r(t):"Point"===t.type?t=e(t):H(t,"Point","point"),!n)throw new Error("line is required");Array.isArray(n)?n=a(n):"LineString"===n.type?n=e(n):H(n,"LineString","line");var o=1/0,s=t.geometry.coordinates;return G(n,(function(t){var e=t.geometry.coordinates[0],n=t.geometry.coordinates[1],a=function(t,e,n,i){var o=i.mercator,s=!0!==o?qt(e,t,i):dn(e,t,i),a=m(!0!==o?ge(e,t):sn(e,t)),u=m(!0!==o?ge(e,n):sn(e,n)),c=Math.abs(a-u);if(c>90)return s;var h=(u+180)%360,l=m(!0!==o?ge(n,t):sn(n,t)),p=Math.abs(l-h);return p>180&&(p=Math.abs(p-360)),p>90?!0!==o?qt(t,n,i):dn(t,n,i):!0!==o?s*Math.sin(x(c)):function(t,e,n,i){var o=0;(Math.abs(t[0])>=180||Math.abs(e[0])>=180||Math.abs(n[0])>=180)&&(o=t[0]>0||e[0]>0||n[0]>0?-180:180);var s=r(n),a=hn(function(t,e,n){var r=t[0],i=t[1],o=e[0]-r,s=e[1]-i,a=((n[0]-r)*o+(n[1]-i)*s)/(o*o+s*s);return[r+a*o,i+a*s]}(cn([t[0]+o,t[1]]),cn([e[0]+o,e[1]]),cn([n[0]+o,n[1]])));return 0!==o&&(a[0]-=o),un(s,a,i)}(e,n,t,i)}(s,e,n,i);o>a&&(o=a)})),o}function dn(t,e,n){var r=n.units,i=0;Math.abs(t[0])>=180&&(i=t[0]>0?-180:180),Math.abs(e[0])>=180&&(i=e[0]>0?-180:180);var o=cn([t[0]+i,t[1]]),s=cn([e[0]+i,e[1]]),a=function(t){return t*t},u=a(o[0]-s[0])+a(o[1]-s[1]);return E(Math.sqrt(u),"meters",r)}function yn(t){for(var n=function(t){return"FeatureCollection"!==t.type?"Feature"!==t.type?c([e(t)]):c([t]):t}(t),i=de(n),o=!1,s=0;!o&&s0){e+=Math.abs(En(t[0]));for(var n=1;n2){for(s=0;s=h&&l===i.length-1);l++){if(h>e&&0===o.length){if(!(s=e-h))return o.push(i[l]),a(o);u=ge(i[l],i[l-1])-180,c=pe(i[l],s,u,r),o.push(c.geometry.coordinates)}if(h>=n)return(s=n-h)?(u=ge(i[l],i[l-1])-180,c=pe(i[l],s,u,r),o.push(c.geometry.coordinates),a(o)):(o.push(i[l]),a(o));if(h>=e&&o.push(i[l]),l===i.length-1)return a(o);h+=qt(i[l],i[l+1],r)}return a(i[i.length-1])}function Nn(t,e,n){var r=(n=n||{}).ignoreEndVertices;if(!I(n))throw new Error("invalid options");if(!t)throw new Error("pt is required");if(!e)throw new Error("line is required");for(var i=X(t),o=U(e),s=0;s=Math.abs(l)?h>0?s0?a=Math.abs(l)?h>0?s<=i&&i0?a<=o&&o=Math.abs(l)?h>0?s0?a=Math.abs(l)?h>0?s<=i&&i<=u:u<=i&&i<=s:l>0?a<=o&&o<=c:c<=o&&o<=a)}(o[s],o[s+1],i,a))return!0}return!1}function Cn(t,e){var n=K(t),r=K(e),i=J(t),o=J(e);switch(n){case"Point":switch(r){case"MultiPoint":return function(t,e){var n,r=!1;for(n=0;ne[0])&&!(t[2]e[1])&&!(t[3] is required");if("number"!=typeof n)throw new Error(" must be a number");if("number"!=typeof r)throw new Error(" must be a number");!1!==i&&void 0!==i||(t=JSON.parse(JSON.stringify(t)));var o=Math.pow(10,n);return S(t,(function(t){!function(t,e,n){t.length>n&&t.splice(n,t.length);for(var r=0;r=0==e}function Tn(t,e){if(!t||!e)return!1;if(t.length!=e.length)return!1;for(var n=0,r=t.length;n1&&n.push(a(l)),c(n)}function Fn(t,e){if(!e.features.length)throw new Error("lines must contain features");if(1===e.features.length)return e.features[0];var n,r=1/0;return O(e,(function(e){var i=on(e,t).properties.dist;ip&&g.push(pe(t,e,p,s).geometry.coordinates),a(g,h)}function Bn(t){var e=t%360;return e<0&&(e+=360),e}function kn(t,e){if(!I(e=e||{}))throw new Error("options is invalid");var n=e.properties,r=K(t),i=U(t);if(n=n||t.properties||{},!i.length)throw new Error("polygon must contain coordinates");switch(r){case"Polygon":return zn(i,n);case"MultiPolygon":var o=[];return i.forEach((function(t){o.push(zn(t,n))})),c(o);default:throw new Error("geom "+r+" not supported")}}function zn(t,e){return t.length>1?h(t,e):a(t[0],e)}function jn(t,e){if(!I(e=e||{}))throw new Error("options is invalid");var n=e.properties,r=e.autoComplete,i=e.orderCoords;if(!t)throw new Error("lines is required");switch(r=void 0===r||r,i=void 0===i||i,K(t)){case"FeatureCollection":case"GeometryCollection":var o=[];return(t.features?t.features:t.geometries).forEach((function(t){o.push(U(Xn(t,{},r,i)))})),p(o,n)}return Xn(t,n,r,i)}function Xn(t,e,n,r){e=e||t.properties||{};var i=U(t),s=K(t);if(!i.length)throw new Error("line must contain coordinates");switch(s){case"LineString":return n&&(i=Un(i)),o([i],e);case"MultiLineString":var u=[],c=0;return i.forEach((function(t){if(n&&(t=Un(t)),r){var e=function(t){var e=t[0],n=t[1],r=t[2],i=t[3];return Math.abs(e-r)*Math.abs(n-i)}(j(a(t)));e>c?(u.unshift(t),c=e):u.push(t)}else u.push(t)})),o(u,e);default:throw new Error("geometry type "+s+" is not supported")}}function Un(t){var e=t[0],n=e[0],r=e[1],i=t[t.length-1],o=i[0],s=i[1];return n===o&&r===s||t.push(e),t}function Yn(t,e,n){var r,i,o,s,a,u=t.length,c=Hn(t[0],e),h=[];for(n||(n=[]),r=1;re[2]&&(n|=2),t[1]e[3]&&(n|=8),n}function Wn(t,e){for(var n=[],r=0;r0&&(i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1]||i.push(i[0]),i.length>=4&&n.push(i))}return n}function Jn(t){return"[object Arguments]"===Object.prototype.toString.call(t)}function Zn(t,e,n){return n||(n={}),t===e||(t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():!t||!e||"object"!=typeof t&&"object"!=typeof e?(n.strict,t===e):function(t,e,n){var r,i;if(Kn(t)||Kn(e))return!1;if(t.prototype!==e.prototype)return!1;if(Jn(t))return!!Jn(e)&&Zn(t=Bs.call(t),e=Bs.call(e),n);if(Qn(t)){if(!Qn(e))return!1;if(t.length!==e.length)return!1;for(r=0;r=0;r--)if(o[r]!==s[r])return!1;for(r=o.length-1;r>=0;r--)if(!Zn(t[i=o[r]],e[i],n))return!1;return typeof t==typeof e}(t,e,n))}function Kn(t){return null===t||void 0===t}function Qn(t){return!(!t||"object"!=typeof t||"number"!=typeof t.length)&&"function"==typeof t.copy&&"function"==typeof t.slice&&!(t.length>0&&"number"!=typeof t[0])}function $n(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r,i=n.tolerance||0,o=[],s=Qe();return s.load(en(t)),G(e,(function(t){var e=!1;O(s.search(t),(function(n){if(!1===e){var o=U(t).sort(),s=U(n).sort();Zn(o,s)||(0===i?Nn(o[0],n)&&Nn(o[1],n):on(n,o[0]).properties.dist<=i&&on(n,o[1]).properties.dist<=i)?(e=!0,r=r?tr(r,t):t):(0===i?Nn(s[0],t)&&Nn(s[1],t):on(t,s[0]).properties.dist<=i&&on(t,s[1]).properties.dist<=i)&&(r=r?tr(r,n):n)}})),!1===e&&r&&(o.push(r),r=void 0)})),r&&o.push(r),c(o)}function tr(t,e){var n=U(e),r=U(t),i=r[0],o=r[r.length-1],s=t.geometry.coordinates;return Zn(n[0],i)?s.unshift(n[1]):Zn(n[0],o)?s.push(n[1]):Zn(n[1],i)?s.unshift(n[0]):Zn(n[1],o)&&s.push(n[0]),t}function er(t){var e=t%360;return e<0&&(e+=360),e}function nr(t,e,n,i){if(!I(i=i||{}))throw new Error("options is invalid");var o=i.units,s=i.properties;if(!t)throw new Error("origin is required");if(void 0===e||null===e)throw new Error("distance is required");if(void 0===n||null===n)throw new Error("bearing is required");if(!(e>=0))throw new Error("distance must be greater than 0");var a=E(e,o,"meters"),u=X(t),c=function(t,e,n,r){var i=e/(r=void 0===r?Fo:Number(r)),o=t[0]*Math.PI/180,s=x(t[1]),a=x(n),u=i*Math.cos(a),c=s+u;Math.abs(c)>Math.PI/2&&(c=c>0?Math.PI-c:-Math.PI-c);var h=Math.log(Math.tan(c/2+Math.PI/4)/Math.tan(s/2+Math.PI/4)),l=Math.abs(h)>1e-11?u/h:Math.cos(s);return[(180*(o+i*Math.sin(a)/l)/Math.PI+540)%360-180,180*c/Math.PI]}(u,a,n);return c[0]+=c[0]-u[0]>180?-360:u[0]-c[0]>180?360:0,r(c,s)}function rr(t,e,n,r,i,o){for(var s=0;s0?function(t,e,n){return ir(t,e,n)<0}(e,a,i)||(i=a):n>0&&r<=0&&(function(t,e,n){return ir(t,e,n)>0}(e,a,o)||(o=a)),n=r}return[i,o]}function ir(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(n[0]-t[0])*(e[1]-t[1])}function or(t){if(!t)throw new Error("line is required");var e=t.geometry?t.geometry.type:t.type;if(!Array.isArray(t)&&"LineString"!==e)throw new Error("geometry must be a LineString");for(var n,r,i=U(t),o=0,s=1;s0}function sr(t,e){switch("Feature"===t.type?t.geometry.type:t.type){case"GeometryCollection":return A(t,(function(t){sr(t,e)})),t;case"LineString":return ar(U(t),e),t;case"Polygon":return ur(U(t),e),t;case"MultiLineString":return U(t).forEach((function(t){ar(t,e)})),t;case"MultiPolygon":return U(t).forEach((function(t){ur(t,e)})),t;case"Point":case"MultiPoint":return t}}function ar(t,e){or(t)===e&&t.reverse()}function ur(t,e){or(t[0])!==e&&t[0].reverse();for(var n=1;ns?128:64,c|=ls?32:16,c|=ps?8:4;var g=+(c|=fs?2:1),d=0;if(17===c||18===c||33===c||34===c||38===c||68===c||72===c||98===c||102===c||132===c||136===c||137===c||152===c||153===c){var y=(h+l+p+f)/4;d=y>s?2:y0?(c=156,d=4):c=152:33===c?d>0?(c=139,d=4):c=137:72===c?d>0?(c=99,d=4):c=98:132===c&&(d>0?(c=39,d=4):c=38)}if(0!=c&&170!=c){var _,m,v,x,E,w,b,I;_=m=v=x=E=w=b=I=.5;var N=[];1===c?(v=1-lr(e,p,f),I=1-lr(e,h,f),N.push(Sa[c])):169===c?(v=lr(s,f,p),I=lr(s,f,h),N.push(Sa[c])):4===c?(w=1-lr(e,l,p),x=lr(e,f,p),N.push(Na[c])):166===c?(w=lr(s,p,l),x=1-lr(s,p,f),N.push(Na[c])):16===c?(E=lr(e,p,l),m=lr(e,h,l),N.push(Ia[c])):154===c?(E=1-lr(s,l,p),m=1-lr(s,l,h),N.push(Ia[c])):64===c?(b=lr(e,f,h),_=1-lr(e,l,h),N.push(La[c])):106===c?(b=1-lr(s,h,f),_=lr(s,h,l),N.push(La[c])):168===c?(x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),N.push(Ca[c]),N.push(Sa[c])):2===c?(x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),N.push(Ca[c]),N.push(Sa[c])):162===c?(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),N.push(Ca[c]),N.push(Sa[c])):8===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),N.push(Ia[c]),N.push(Na[c])):138===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Ia[c]),N.push(Na[c])):32===c?(E=lr(s,p,l),w=lr(e,p,l),_=lr(e,h,l),m=lr(s,h,l),N.push(Ia[c]),N.push(Na[c])):42===c?(I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l),N.push(Ma[c]),N.push(La[c])):128===c&&(I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Ma[c]),N.push(La[c])),5===c?(w=1-lr(e,l,p),I=1-lr(e,h,f),N.push(Na[c])):165===c?(w=lr(s,p,l),I=lr(s,f,h),N.push(Na[c])):20===c?(x=lr(e,f,p),m=lr(e,h,l),N.push(Ca[c])):150===c?(x=1-lr(s,p,f),m=1-lr(s,l,h),N.push(Ca[c])):80===c?(E=lr(e,p,l),b=lr(e,f,h),N.push(Ia[c])):90===c?(E=1-lr(s,l,p),b=1-lr(s,h,f),N.push(Ia[c])):65===c?(v=1-lr(e,p,f),_=1-lr(e,l,h),N.push(Sa[c])):105===c?(v=lr(s,f,p),_=lr(s,h,l),N.push(Sa[c])):160===c?(E=lr(s,p,l),w=lr(e,p,l),I=lr(e,f,h),b=lr(s,f,h),N.push(Ia[c]),N.push(Na[c])):10===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),I=1-lr(s,h,f),b=1-lr(e,h,f),N.push(Ia[c]),N.push(Na[c])):130===c?(x=1-lr(e,p,f),v=1-lr(s,p,f),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Ca[c]),N.push(Sa[c])):40===c?(x=lr(s,f,p),v=lr(e,f,p),_=lr(e,h,l),m=lr(s,h,l),N.push(Ca[c]),N.push(Sa[c])):101===c?(w=lr(s,p,l),_=lr(s,h,l),N.push(Na[c])):69===c?(w=1-lr(e,l,p),_=1-lr(e,l,h),N.push(Na[c])):149===c?(I=lr(s,f,h),m=1-lr(s,l,h),N.push(Ma[c])):21===c?(I=1-lr(e,h,f),m=lr(e,h,l),N.push(Ma[c])):86===c?(x=1-lr(s,p,f),b=1-lr(s,h,f),N.push(Ca[c])):84===c?(x=lr(e,f,p),b=lr(e,f,h),N.push(Ca[c])):89===c?(E=1-lr(s,l,p),v=lr(s,f,p),N.push(Sa[c])):81===c?(E=lr(e,p,l),v=1-lr(e,p,f),N.push(Sa[c])):96===c?(E=lr(s,p,l),w=lr(e,p,l),b=lr(e,f,h),_=lr(s,h,l),N.push(Ia[c]),N.push(Na[c])):74===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),b=1-lr(s,h,f),_=1-lr(e,l,h),N.push(Ia[c]),N.push(Na[c])):24===c?(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),m=lr(e,h,l),N.push(Ia[c]),N.push(Sa[c])):146===c?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),m=1-lr(s,l,h),N.push(Ia[c]),N.push(Sa[c])):6===c?(w=1-lr(e,l,p),x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),N.push(Na[c]),N.push(Ca[c])):164===c?(w=lr(s,p,l),x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),N.push(Na[c]),N.push(Ca[c])):129===c?(v=1-lr(e,p,f),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Sa[c]),N.push(Ma[c])):41===c?(v=lr(s,f,p),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l),N.push(Sa[c]),N.push(Ma[c])):66===c?(x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),_=1-lr(e,l,h),N.push(Ca[c]),N.push(Sa[c])):104===c?(x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),_=lr(s,h,l),N.push(Sa[c]),N.push(Pa[c])):144===c?(E=lr(e,p,l),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h),N.push(Ia[c]),N.push(La[c])):26===c?(E=1-lr(s,l,p),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l),N.push(Ia[c]),N.push(La[c])):36===c?(w=lr(s,p,l),x=lr(e,f,p),_=lr(e,h,l),m=lr(s,h,l),N.push(Na[c]),N.push(Ca[c])):134===c?(w=1-lr(e,l,p),x=1-lr(s,p,f),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Na[c]),N.push(Ca[c])):9===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),I=1-lr(e,h,f),N.push(Ia[c]),N.push(Na[c])):161===c?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),I=lr(s,f,h),N.push(Ia[c]),N.push(Na[c])):37===c?(w=lr(s,p,l),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l),N.push(Na[c]),N.push(Ma[c])):133===c?(w=1-lr(e,l,p),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Na[c]),N.push(Ma[c])):148===c?(x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h),N.push(Ca[c]),N.push(La[c])):22===c?(x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l),N.push(Ca[c]),N.push(La[c])):82===c?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),N.push(Ia[c]),N.push(Sa[c])):88===c?(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),N.push(Ia[c]),N.push(Sa[c])):73===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),_=1-lr(e,l,h),N.push(Ia[c]),N.push(Na[c])):97===c?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),_=lr(s,h,l),N.push(Ia[c]),N.push(Na[c])):145===c?(E=lr(e,p,l),v=1-lr(e,p,f),I=lr(s,f,h),m=1-lr(s,l,h),N.push(Ia[c]),N.push(Ma[c])):25===c?(E=1-lr(s,l,p),v=lr(s,f,p),I=1-lr(e,h,f),m=lr(e,h,l),N.push(Ia[c]),N.push(Ma[c])):70===c?(w=1-lr(e,l,p),x=1-lr(s,p,f),b=1-lr(s,h,f),_=1-lr(e,l,h),N.push(Na[c]),N.push(Ca[c])):100===c?(w=lr(s,p,l),x=lr(e,f,p),b=lr(e,f,h),_=lr(s,h,l),N.push(Na[c]),N.push(Ca[c])):34===c?(0===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(Ma[c]),N.push(La[c])):35===c?(4===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(Sa[c]),N.push(La[c])):136===c?(0===d?(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)):(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)),N.push(Ia[c]),N.push(Na[c]),N.push(Ma[c]),N.push(La[c])):153===c?(0===d?(E=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Sa[c])):102===c?(0===d?(w=1-lr(e,l,p),x=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Na[c]),N.push(La[c])):155===c?(4===d?(E=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Ma[c])):103===c?(4===d?(w=1-lr(e,l,p),x=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Na[c]),N.push(Ca[c])):152===c?(0===d?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Ca[c]),N.push(Sa[c])):156===c?(4===d?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Sa[c]),N.push(La[c])):137===c?(0===d?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)):(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)),N.push(Ia[c]),N.push(Na[c]),N.push(Sa[c])):139===c?(4===d?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)):(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)),N.push(Ia[c]),N.push(Na[c]),N.push(Ma[c])):98===c?(0===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(La[c])):99===c?(4===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(Sa[c])):38===c?(0===d?(w=1-lr(e,l,p),x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Na[c]),N.push(Ma[c]),N.push(La[c])):39===c?(4===d?(w=1-lr(e,l,p),x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Na[c]),N.push(Ca[c]),N.push(La[c])):85===c&&(E=1,w=0,x=1,v=0,I=0,b=1,_=0,m=1),(_<0||_>1||m<0||m>1||E<0||E>1||x<0||x>1||I<0||I>1||b<0||b>1)&&console.log("MarchingSquaresJS-isoBands: "+c+" "+g+" "+h+","+l+","+p+","+f+" "+d+" "+_+" "+m+" "+E+" "+w+" "+x+" "+v+" "+I+" "+b),o.cells[a][u]={cval:c,cval_real:g,flipped:d,topleft:_,topright:m,righttop:E,rightbottom:w,bottomright:x,bottomleft:v,leftbottom:I,lefttop:b,edges:N}}}}}return o}(t,e,n);return zs.polygons?(zs.verbose&&console.log("MarchingSquaresJS-isoBands: returning single polygons for each grid cell"),u=function(t){var e=[],n=0;return t.cells.forEach((function(t,r){t.forEach((function(t,i){if(void 0!==t){var o=Ra[t.cval](t);"object"==typeof o&&pr(o)?"object"==typeof o[0]&&pr(o[0])?"object"==typeof o[0][0]&&pr(o[0][0])?o.forEach((function(t){t.forEach((function(t){t[0]+=i,t[1]+=r})),e[n++]=t})):(o.forEach((function(t){t[0]+=i,t[1]+=r})),e[n++]=o):console.log("MarchingSquaresJS-isoBands: bandcell polygon with malformed coordinates"):console.log("MarchingSquaresJS-isoBands: bandcell polygon with null coordinates")}}))})),e}(c)):(zs.verbose&&console.log("MarchingSquaresJS-isoBands: returning polygon paths for entire data grid"),u=function(t){for(var e=[],n=t.rows,r=t.cols,i=[],o=0;o0){var a=function(t){if(t.edges.length>0){var e=t.edges[t.edges.length-1],n=t.cval_real;switch(e){case 0:return n&Xs?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.topleft,1],x:0,y:-1,o:0};case 1:return n&Us?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 2:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[t.topleft,1],x:0,y:-1,o:0};case 3:return n&Ys?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 4:return n&Xs?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};case 5:return n&Us?{p:[t.topright,1],x:0,y:-1,o:1}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 6:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};case 7:return n&Ys?{p:[t.topright,1],x:0,y:-1,o:1}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 8:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[1,t.righttop],x:-1,y:0,o:1};case 9:return n&Ys?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 10:return n&Ys?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[1,t.righttop],x:-1,y:0,o:1};case 11:return n&js?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[0,t.lefttop],x:1,y:0,o:1};case 12:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 13:return n&Ys?{p:[1,t.rightbottom],x:-1,y:0,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 14:return n&Ys?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 15:return n&js?{p:[1,t.rightbottom],x:-1,y:0,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 16:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[0,t.leftbottom],x:1,y:0,o:0};case 17:return n&js?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[0,t.lefttop],x:1,y:0,o:1};case 18:return n&Ys?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 19:return n&js?{p:[t.bottomleft,0],x:0,y:1,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 20:return n&js?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[0,t.leftbottom],x:1,y:0,o:0};case 21:return n&Xs?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[t.topright,1],x:0,y:-1,o:1};case 22:return n&js?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 23:return n&Xs?{p:[0,t.lefttop],x:1,y:0,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};default:console.log("MarchingSquaresJS-isoBands: edge index out of range!"),console.log(t)}}return null}(t.cells[o][s]),u=null,c=s,h=o;null!==a&&i.push([a.p[0]+c,a.p[1]+h]);do{if(null===(u=function(t,e,n,r){var i,o,s,a,u,c=t.cval;switch(e){case-1:0===r?(i=Na[c],s=ea[c],a=na[c],u=ra[c]):(i=Ia[c],s=Qs[c],a=$s[c],u=ta[c]);break;case 1:0===r?(i=Ma[c],s=fa[c],a=ga[c],u=da[c]):(i=La[c],s=ha[c],a=la[c],u=pa[c]);break;default:switch(n){case-1:0===r?(i=Pa[c],s=Vs[c],a=Hs[c],u=Ws[c]):(i=Oa[c],s=Js[c],a=Zs[c],u=Ks[c]);break;case 1:0===r?(i=Sa[c],s=ia[c],a=oa[c],u=sa[c]):(i=Ca[c],s=aa[c],a=ua[c],u=ca[c])}}if(o=t.edges.indexOf(i),void 0===t.edges[o])return null;switch(function(t,e){delete t.edges[e];for(var n=e+1;n=n||c<0||c>=r||void 0===t.cells[h][c]){var l=function(t,e,n,r,i,o){for(var s=t.cells[n][e],a=s.cval_real,u=e+r,c=n+i,h=[],l=!1;!l;){if(void 0===t.cells[c]||void 0===t.cells[c][u])if(c-=i,u-=r,a=(s=t.cells[c][u]).cval_real,-1===i)if(0===o)if(a&Ys)h.push([u,c]),r=-1,i=0,o=0;else{if(!(a&Us)){h.push([u+s.bottomright,c]),r=0,i=1,o=1,l=!0;break}h.push([u+1,c]),r=1,i=0,o=0}else{if(!(a&Ys)){if(a&Us){h.push([u+s.bottomright,c]),r=0,i=1,o=1,l=!0;break}h.push([u+s.bottomleft,c]),r=0,i=1,o=0,l=!0;break}h.push([u,c]),r=-1,i=0,o=0}else if(1===i)if(0===o){if(!(a&Xs)){if(a&js){h.push([u+s.topleft,c+1]),r=0,i=-1,o=0,l=!0;break}h.push([u+s.topright,c+1]),r=0,i=-1,o=1,l=!0;break}h.push([u+1,c+1]),r=1,i=0,o=1}else h.push([u+1,c+1]),r=1,i=0,o=1;else if(-1===r)if(0===o){if(!(a&js)){if(a&Ys){h.push([u,c+s.leftbottom]),r=1,i=0,o=0,l=!0;break}h.push([u,c+s.lefttop]),r=1,i=0,o=1,l=!0;break}h.push([u,c+1]),r=0,i=1,o=0}else{if(!(a&js)){console.log("MarchingSquaresJS-isoBands: wtf");break}h.push([u,c+1]),r=0,i=1,o=0}else{if(1!==r){console.log("MarchingSquaresJS-isoBands: we came from nowhere!");break}if(0===o){if(!(a&Us)){h.push([u+1,c+s.rightbottom]),r=-1,i=0,o=0,l=!0;break}h.push([u+1,c]),r=0,i=-1,o=1}else{if(!(a&Us)){if(a&Xs){h.push([u+1,c+s.righttop]),r=-1,i=0,o=1;break}h.push([u+1,c+s.rightbottom]),r=-1,i=0,o=0,l=!0;break}h.push([u+1,c]),r=0,i=-1,o=1}}else if(a=(s=t.cells[c][u]).cval_real,-1===r)if(0===o)if(void 0!==t.cells[c-1]&&void 0!==t.cells[c-1][u])r=0,i=-1,o=1;else{if(!(a&Ys)){h.push([u+s.bottomright,c]),r=0,i=1,o=1,l=!0;break}h.push([u,c])}else{if(!(a&js)){console.log("MarchingSquaresJS-isoBands: found entry from top at "+u+","+c);break}console.log("MarchingSquaresJS-isoBands: proceeding in x-direction!")}else if(1===r){if(0===o){console.log("MarchingSquaresJS-isoBands: wtf");break}if(void 0!==t.cells[c+1]&&void 0!==t.cells[c+1][u])r=0,i=1,o=0;else{if(!(a&Xs)){h.push([u+s.topleft,c+1]),r=0,i=-1,o=0,l=!0;break}h.push([u+1,c+1]),r=1,i=0,o=1}}else if(-1===i){if(1!==o){console.log("MarchingSquaresJS-isoBands: wtf");break}if(void 0!==t.cells[c][u+1])r=1,i=0,o=1;else{if(!(a&Us)){h.push([u+1,c+s.righttop]),r=-1,i=0,o=1,l=!0;break}h.push([u+1,c]),r=0,i=-1,o=1}}else{if(1!==i){console.log("MarchingSquaresJS-isoBands: where did we came from???");break}if(0!==o){console.log("MarchingSquaresJS-isoBands: wtf");break}if(void 0!==t.cells[c][u-1])r=-1,i=0,o=0;else{if(!(a&js)){h.push([u,c+s.leftbottom]),r=1,i=0,o=0,l=!0;break}h.push([u,c+1]),r=0,i=1,o=0}}if(c+=i,(u+=r)===e&&c===n)break}return{path:h,i:u,j:c,x:r,y:i,o}}(t,c-=u.x,h-=u.y,u.x,u.y,u.o);if(null===l)break;l.path.forEach((function(t){i.push(t)})),c=l.i,h=l.j,a=l}}while(void 0!==t.cells[h][c]&&t.cells[h][c].edges.length>0);e.push(i),i=[],t.cells[o][s].edges.length>0&&s--}return e}(c)),"function"==typeof zs.successCallback&&zs.successCallback(u),u}function lr(t,e,n){return(t-e)/(n-e)}function pr(t){return t.constructor.toString().indexOf("Array")>-1}function fr(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.pivot,i=n.mutate;if(!t)throw new Error("geojson is required");if(void 0===e||null===e||isNaN(e))throw new Error("angle is required");return 0===e||(r||(r=ye(t)),!1!==i&&void 0!==i||(t=Gt(t)),S(t,(function(t){var n=sn(r,t)+e,i=un(r,t),o=U(nr(r,i,n));t[0]=o[0],t[1]=o[1]}))),t}function gr(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.origin,i=n.mutate;if(!t)throw new Error("geojson required");if("number"!=typeof e||0===e)throw new Error("invalid factor");var o=Array.isArray(r)||"object"==typeof r;return!0!==i&&(t=Gt(t)),"FeatureCollection"!==t.type||o?dr(t,e,r):(O(t,(function(n,i){t.features[i]=dr(n,e,r)})),t)}function dr(t,e,n){var i="Point"===K(t);return n=function(t,e){if(void 0!==e&&null!==e||(e="centroid"),Array.isArray(e)||"object"==typeof e)return X(e);var n=t.bbox?t.bbox:j(t),i=n[0],o=n[1],s=n[2],a=n[3];switch(e){case"sw":case"southwest":case"westsouth":case"bottomleft":return r([i,o]);case"se":case"southeast":case"eastsouth":case"bottomright":return r([s,o]);case"nw":case"northwest":case"westnorth":case"topleft":return r([i,a]);case"ne":case"northeast":case"eastnorth":case"topright":return r([s,a]);case"center":return de(t);case void 0:case null:case"centroid":return ye(t);default:throw new Error("invalid origin")}}(t,n),1===e||i||S(t,(function(t){var r=un(n,t),i=sn(n,t),o=U(nr(n,r*e,i));t[0]=o[0],t[1]=o[1],3===t.length&&(t[2]*=e)})),t}function yr(t){var e=t[0],n=t[1];return[n[0]-e[0],n[1]-e[1]]}function _r(t,e){return t[0]*e[1]-e[0]*t[1]}function mr(t,e){return!function(t,e){return 0===_r(yr(t),yr(e))}(t,e)&&function(t,e){var n=t[0],r=yr(t),i=e[0],o=yr(e),s=_r(r,o);return function(t,e){return[t[0]+e[0],t[1]+e[1]]}(n,function(t,e){return[t*e[0],t*e[1]]}(_r(function(t,e){return[t[0]-e[0],t[1]-e[1]]}(i,n),o)/s,r))}(t,e)}function vr(t,e,n){var r=[],i=_(e,n),o=U(t),s=[];return o.forEach((function(t,e){if(e!==o.length-1){var n=function(t,e,n){var r=Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])),i=t[0]+n*(e[1]-t[1])/r,o=e[0]+n*(e[1]-t[1])/r;return[[i,t[1]+n*(t[0]-e[0])/r],[o,e[1]+n*(t[0]-e[0])/r]]}(t,o[e+1],i);if(r.push(n),e>0){var a=r[e-1],u=mr(n,a);!1!==u&&(a[1]=u,n[0]=u),s.push(a[0]),e===o.length-2&&(s.push(n[0]),s.push(n[1]))}2===o.length&&(s.push(n[0]),s.push(n[1]))}})),a(s,t.properties)}function xr(t,e,n){var r=e[0]-t[0],i=e[1]-t[1],o=n[0]-e[0],s=n[1]-e[1];return Math.sign(r*s-o*i)}function Er(t,e){return e.geometry.coordinates[0].every((function(e){return Pt(r(e),t)}))}function wr(t,e){for(var n=0;n=Math.abs(s)?o>0?t[0]<=n[0]&&n[0]<=e[0]:e[0]<=n[0]&&n[0]<=t[0]:s>0?t[1]<=n[1]&&n[1]<=e[1]:e[1]<=n[1]&&n[1]<=t[1])}(t.coordinates[n],t.coordinates[n+1],e.coordinates))return!0;return!1}function br(t,e){return nn(e,kn(t)).features.length>0}function Ir(t,e){return!(t[0]>e[0])&&!(t[2]e[1])&&!(t[3]0}function Mr(t,e){for(var n=!1,i=!1,o=t.coordinates[0].length,s=0;s=Math.abs(a)?s>0?t[0]<=n[0]&&n[0]<=e[0]:e[0]<=n[0]&&n[0]<=t[0]:a>0?t[1]<=n[1]&&n[1]<=e[1]:e[1]<=n[1]&&n[1]<=t[1]:Math.abs(s)>=Math.abs(a)?s>0?t[0]0?t[1]0}function Ar(t,e,n){n=n||[];for(var r=0;r0)){if(o/=p,p<0){if(o0){if(o>l)return;o>h&&(h=o)}if(o=r-u,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>h&&(h=o)}else if(p>0){if(o0)){if(o/=f,f<0){if(o0){if(o>l)return;o>h&&(h=o)}if(o=i-c,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>h&&(h=o)}else if(f>0){if(o0||l<1)||(h>0&&(t[0]=[u+h*p,c+h*f]),l<1&&(t[1]=[u+l*p,c+l*f]),!0)}}}}}function Kr(t,e,n,r,i){var o=t[1];if(o)return!0;var s,a,u=t[0],c=t.left,h=t.right,l=c[0],p=c[1],f=h[0],g=h[1],d=(l+f)/2,y=(p+g)/2;if(g===p){if(d=r)return;if(l>f){if(u){if(u[1]>=i)return}else u=[d,n];o=[d,i]}else{if(u){if(u[1]1)if(l>f){if(u){if(u[1]>=i)return}else u=[(n-a)/s,n];o=[(i-a)/s,i]}else{if(u){if(u[1]=r)return}else u=[e,s*e+a];o=[r,s*r+a]}else{if(u){if(u[0]=-pu)){var f=u*u+c*c,g=h*h+l*l,d=(l*f-c*g)/p,y=(u*g-h*f)/p,_=cu.pop()||new function(){Xr(this),this.x=this.y=this.arc=this.site=this.cy=null};_.arc=t,_.site=i,_.x=d+s,_.y=(_.cy=y+a)+Math.sqrt(d*d+y*y),t.circle=_;for(var m=null,v=au._;v;)if(_.ylu)a=a.L;else{if(!((i=o-function(t,e){var n=t.N;if(n)return ai(n,e);var r=t.site;return r[1]===e?r[0]:1/0}(a,s))>lu)){r>-lu?(e=a.P,n=a):i>-lu?(e=a,n=a.N):e=n=a;break}if(!a.R){e=a;break}a=a.R}!function(t){su[t.index]={site:t,halfedges:[]}}(t);var u=ri(t);if(ou.insert(e,u),e||n){if(e===n)return ni(e),n=ri(e.site),ou.insert(u,n),u.edge=n.edge=Hr(e.site,u.site),ei(e),void ei(n);if(n){ni(e),ni(n);var c=e.site,h=c[0],l=c[1],p=t[0]-h,f=t[1]-l,g=n.site,d=g[0]-h,y=g[1]-l,_=2*(p*y-f*d),m=p*p+f*f,v=d*d+y*y,x=[(y*m-f*v)/_+h,(p*v-d*m)/_+l];Jr(n.edge,c,g,x),u.edge=Hr(c,t,null,x),n.edge=Hr(t,g,null,x),ei(e),ei(n)}else u.edge=Hr(e.site,u.site)}}function ai(t,e){var n=t.site,r=n[0],i=n[1],o=i-e;if(!o)return r;var s=t.P;if(!s)return-1/0;var a=(n=s.site)[0],u=n[1],c=u-e;if(!c)return a;var h=a-r,l=1/o-1/c,p=h/c;return l?(-p+Math.sqrt(p*p-2*l*(h*h/(-2*c)-u+c/2+i-o/2)))/l+r:(r+a)/2}function ui(t,e,n){return(t[0]-n[0])*(e[1]-t[1])-(t[0]-e[0])*(n[1]-t[1])}function ci(t,e){return e[1]-t[1]||e[0]-t[0]}function hi(t,e){var n,r,i,o=t.sort(ci).pop();for(uu=[],su=new Array(t.length),ou=new jr,au=new jr;;)if(i=iu,o&&(!i||o[1]lu||Math.abs(i[0][1]-i[1][1])>lu)||delete uu[o]}(s,a,u,c),function(t,e,n,r){var i,o,s,a,u,c,h,l,p,f,g,d,y=su.length,_=!0;for(i=0;ilu||Math.abs(d-p)>lu)&&(u.splice(a,0,uu.push(Wr(s,f,Math.abs(g-t)lu?[t,Math.abs(l-t)lu?[Math.abs(p-r)lu?[n,Math.abs(l-n)lu?[Math.abs(p-e)=-270&&(d=-d),g<-180&&g>=-360&&(y=-y),"degrees"===s){var _=d*Math.cos(l)+y*Math.sin(l),m=y*Math.cos(l)-d*Math.sin(l);d=_,y=m}p.push([d+h[0],y+h[1]])}return p.push(p[0]),"degrees"===s?o([p],c):fr(o([p],c),a,{pivot:u})}function fi(t){var e=t*Math.PI/180;return Math.tan(e)}function gi(t,e){if(!I(e=e||{}))throw new Error("options is invalid");var n=e.properties,i=e.weight;if(!t)throw new Error("geojson is required");var o=0,s=0,a=0;return A(t,(function(t,e,n){var r=n[i];if(!b(r=void 0===r||null===r?1:r))throw new Error("weight value must be a number for feature index "+e);(r=Number(r))>0&&S(t,(function(t){o+=t[0]*r,s+=t[1]*r,a+=r}))})),r([o/a,s/a],n)}function di(t,e,n,i){var o=n.properties.tolerance||.001,s=0,a=0,u=0,c=0;if(O(n,(function(e){var n=e.properties.weight,r=void 0===n||null===n?1:n;if(!b(r=Number(r)))throw new Error("weight value must be a number");if(r>0){c+=1;var i=r*qt(e,t);0===i&&(i=1);var o=r/i;s+=e.geometry.coordinates[0]*o,a+=e.geometry.coordinates[1]*o,u+=o}})),c<1)throw new Error("no features to measure");var h=s/u,l=a/u;return 1===c||0===i||Math.abs(h-e[0])0?t+n[e-1]:t})),h.forEach((function(t){t=2*t*Math.PI/h[h.length-1];var e=Math.random();u.push([e*i*Math.sin(t),e*i*Math.cos(t)])})),u[u.length-1]=u[0],u=u.map(function(t){return function(e){return[e[0]+t[0],e[1]+t[1]]}}(_i(n))),s.push(o([u]))}return c(s)}function xi(t,e){if(!I(e=e||{}))throw new Error("options is invalid");var n=e.bbox,r=e.num_vertices,i=e.max_length,o=e.max_rotation;void 0!==t&&null!==t||(t=1),(!b(r)||r<2)&&(r=10),b(i)||(i=1e-4),b(o)||(o=Math.PI/8);for(var s=[],u=0;u1?t:null;case"MultiPolygon":var e=[];if(F(t,(function(t){mn(t)>1&&e.push(t.geometry.coordinates)})),e.length)return{type:"MultiPolygon",coordinates:e}}}function Yi(){this.reset()}function Vi(t,e,n){var r=t.s=e+n,i=r-e,o=r-i;t.t=e-o+(n-i)}function Hi(t){return t>1?kf:t<-1?-kf:Math.asin(t)}function Wi(){}function Ji(t,e){t&&eg.hasOwnProperty(t.type)&&eg[t.type](t,e)}function Zi(t,e,n){var r,i=-1,o=t.length-n;for(e.lineStart();++iBf?t-jf:t<-Bf?t+jf:t,e]}function so(t,e,n){return(t%=jf)?e||n?rg(uo(t),co(e,n)):uo(t):e||n?co(e,n):oo}function ao(t){return function(e,n){return[(e+=t)>Bf?e-jf:e<-Bf?e+jf:e,n]}}function uo(t){var e=ao(t);return e.invert=ao(-t),e}function co(t,e){function n(t,e){var n=Wf(e),a=Wf(t)*n,u=Kf(t)*n,c=Kf(e),h=c*r+a*i;return[Hf(u*o-h*s,a*r-c*i),Hi(h*o+u*s)]}var r=Wf(t),i=Kf(t),o=Wf(e),s=Kf(e);return n.invert=function(t,e){var n=Wf(e),a=Wf(t)*n,u=Kf(t)*n,c=Kf(e),h=c*o-u*s;return[Hf(u*o+c*s,a*r+h*i),Hi(h*r-a*i)]},n}function ho(t,e){(e=$i(e))[0]-=t,io(e);var n=function(t){return t>1?0:t<-1?Bf:Math.acos(t)}(-e[1]);return((-e[2]<0?-n:n)+jf-Gf)%jf}function lo(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function po(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r0)do{c.point(0===h||3===h?t:n,h>1?r:e)}while((h=(h+a+4)%4)!==l);else c.point(o[0],o[1])}function s(r,i){return Yf(r[0]-t)0?0:3:Yf(r[0]-n)0?2:1:Yf(r[1]-e)0?1:0:i>0?3:2}function a(t,e){return u(t.x,e.x)}function u(t,e){var n=s(t,1),r=s(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(s){function u(t,e){i(t,e)&&E.point(t,e)}function c(o,s){var a=i(o,s);if(l&&p.push([o,s]),v)f=o,g=s,d=a,v=!1,a&&(E.lineStart(),E.point(o,s));else if(a&&m)E.point(o,s);else{var u=[y=Math.max(pg,Math.min(lg,y)),_=Math.max(pg,Math.min(lg,_))],c=[o=Math.max(pg,Math.min(lg,o)),s=Math.max(pg,Math.min(lg,s))];sg(u,c,t,e,n,r)?(m||(E.lineStart(),E.point(u[0],u[1])),E.point(c[0],c[1]),a||E.lineEnd(),x=!1):a&&(E.lineStart(),E.point(o,s),x=!1)}y=o,_=s,m=a}var h,l,p,f,g,d,y,_,m,v,x,E=s,w=og(),b={point:u,lineStart:function(){b.point=c,l&&l.push(p=[]),v=!0,m=!1,y=_=NaN},lineEnd:function(){h&&(c(f,g),d&&m&&w.rejoin(),h.push(w.result())),b.point=u,m&&E.lineEnd()},polygonStart:function(){E=w,h=[],l=[],x=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=l.length;nr&&(p-o)*(r-s)>(f-s)*(t-o)&&++e:f<=r&&(p-o)*(r-s)<(f-s)*(t-o)&&--e;return e}(),n=x&&e,i=(h=hg(h)).length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),i&&ug(h,a,e,o,s),s.polygonEnd()),E=s,h=l=p=null}};return b}}function go(t){return t.length>1}function yo(t,e){return((t=t.x)[0]<0?t[1]-kf-Gf:kf-t[1])-((e=e.x)[0]<0?e[1]-kf-Gf:kf-e[1])}function _o(t){return function(e){var n=new mo;for(var r in t)n[r]=t[r];return n.stream=e,n}}function mo(){}function vo(t,e,n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]),null!=o&&t.clipExtent(null),ng(n,t.stream(vg));var s=vg.result(),a=Math.min(r/(s[1][0]-s[0][0]),i/(s[1][1]-s[0][1])),u=+e[0][0]+(r-a*(s[1][0]+s[0][0]))/2,c=+e[0][1]+(i-a*(s[1][1]+s[0][1]))/2;return null!=o&&t.clipExtent(o),t.scale(150*a).translate([u,c])}function xo(t){return function(t){function e(t){return[(t=c(t[0]*Uf,t[1]*Uf))[0]*d+s,a-t[1]*d]}function n(t,e){return[(t=o(t,e))[0]*d+s,a-t[1]*d]}function r(){c=rg(u=so(x,E,w),o);var t=o(m,v);return s=y-t[0]*d,a=_+t[1]*d,i()}function i(){return f=g=null,e}var o,s,a,u,c,h,l,p,f,g,d=150,y=480,_=250,m=0,v=0,x=0,E=0,w=0,b=null,I=Eg,N=null,C=gg,S=.5,M=Ng(n,S);return e.stream=function(t){return f&&g===t?f:f=Cg(I(u,M(C(g=t))))},e.clipAngle=function(t){return arguments.length?(I=+t?wg(b=t*Uf,6*Uf):(b=null,Eg),i()):b*Xf},e.clipExtent=function(t){return arguments.length?(C=null==t?(N=h=l=p=null,gg):fo(N=+t[0][0],h=+t[0][1],l=+t[1][0],p=+t[1][1]),i()):null==N?null:[[N,h],[l,p]]},e.scale=function(t){return arguments.length?(d=+t,r()):d},e.translate=function(t){return arguments.length?(y=+t[0],_=+t[1],r()):[y,_]},e.center=function(t){return arguments.length?(m=t[0]%360*Uf,v=t[1]%360*Uf,r()):[m*Xf,v*Xf]},e.rotate=function(t){return arguments.length?(x=t[0]%360*Uf,E=t[1]%360*Uf,w=t.length>2?t[2]%360*Uf:0,r()):[x*Xf,E*Xf,w*Xf]},e.precision=function(t){return arguments.length?(M=Ng(n,S=t*t),i()):Qf(S)},e.fitExtent=function(t,n){return vo(e,t,n)},e.fitSize=function(t,n){return function(t,e,n){return vo(t,[[0,0],e],n)}(e,t,n)},function(){return o=t.apply(this,arguments),e.invert=o.invert&&function(t){return(t=c.invert((t[0]-s)/d,(a-t[1])/d))&&[t[0]*Xf,t[1]*Xf]},r()}}((function(){return t}))()}function Eo(t,e){return[t,Zf($f((kf+e)/2))]}function wo(t,e){return[Zf($f((kf+e)/2)),-t]}function bo(t,n,r,i){var o=t.properties||{},s="Feature"===t.type?t.geometry:t;if("GeometryCollection"===s.type){var a=[];return A(t,(function(t){var e=bo(t,n,r,i);e&&a.push(e)})),c(a)}var u,h=j(t),l=h[1]>50&&h[3]>50;u=l?{type:s.type,coordinates:No(s.coordinates,So(s))}:cn(s);var p,f=(new bh).read(u),g=d(y(n,r),"meters"),_=gp.bufferOp(f,g);if(!Io((_=(new Ih).write(_)).coordinates))return(p=l?{type:_.type,coordinates:Co(_.coordinates,So(s))}:hn(_)).geometry?p:e(p,o)}function Io(t){return Array.isArray(t[0])?Io(t[0]):isNaN(t[0])}function No(t,e){return"object"!=typeof t[0]?e(t):t.map((function(t){return No(t,e)}))}function Co(t,e){return"object"!=typeof t[0]?e.invert(t):t.map((function(t){return Co(t,e)}))}function So(t){var e=de(t).geometry.coordinates.reverse(),n=e.map((function(t){return-t}));return Sg().center(e).rotate(n).scale(Fo)}function Mo(){for(var t=new bh,e=t.read(JSON.stringify(arguments[0].geometry)),n=1;n=0&&(void 0===i||sm/2;P&&(L-=m/4);for(var O=[],R=[],T=0;T<6;T++){var A=2*Math.PI/6*T;O.push(Math.cos(A)),R.push(Math.sin(A))}for(var D=[],F=0;F<=C;F++)for(var q=0;q<=M;q++){var G=F%2==1;if((0!==q||!G)&&(0!==q||!P)){var B=F*E+a-S,k=q*w+u+L;if(G&&(k-=m/2),!0===i)(function(t,e,n,r,i,s){for(var a=[],u=0;u<6;u++){var c=[];c.push(t),c.push([t[0]+e*i[u],t[1]+n*s[u]]),c.push([t[0]+e*i[(u+1)%6],t[1]+n*s[(u+1)%6]]),c.push(t),a.push(o([c],r))}return a})([B,k],g/2,d/2,r,O,R).forEach((function(t){s?Lo(s,t)&&D.push(t):D.push(t)}));else{var z=function(t,e,n,r,i,s){for(var a=[],u=0;u<6;u++){var c=t[0]+e*i[u],h=t[1]+n*s[u];a.push([c,h])}return a.push(a[0].slice()),o([a],r)}([B,k],g/2,d/2,r,O,R);s?Lo(s,z)&&D.push(z):D.push(z)}}}return c(D)}function Ro(t){if(t.features.length<=1)return t;var e=function(t){var e=Vo(),n=[];return F(t,(function(t,e){var r=j(t);n.push({minX:r[0],minY:r[1],maxX:r[2],maxY:r[3],geojson:t,index:e})})),e.load(n),e}(t),n=[],r={};return F(t,(function(t,i){if(r[i])return!0;for(e.remove({index:i},To),r[i]=!0;;){var o=j(t),s=e.search({minX:o[0],minY:o[1],maxX:o[2],maxY:o[3]});if(s.length>0){var a=s.map((function(t){return r[t.index]=!0,e.remove({index:t.index},To),t.geojson}));a.push(t),t=Mo.apply(this,a)}if(0===s.length)break}n.push(t)})),c(n)}function To(t,e){return t.index===e.index}function Ao(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.properties,i=n.mask,s=[];if(null===e||void 0===e)throw new Error("cellSide is required");if(!b(e))throw new Error("cellSide is invalid");if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be array");if(4!==t.length)throw new Error("bbox must contain 4 numbers");if(i&&-1===["Polygon","MultiPolygon"].indexOf(K(i)))throw new Error("options.mask must be a (Multi)Polygon");for(var a=t[0],u=t[1],h=t[2],l=t[3],p=e/qt([a,u],[h,u],n)*(h-a),f=e/qt([a,u],[a,l],n)*(l-u),g=h-a,d=l-u,y=Math.floor(g/p),_=Math.floor(d/f),m=(d-_*f)/2,v=a+(g-y*p)/2,x=0;x=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(i,o,e)},_split:function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var o=this._chooseSplitIndex(n,i,r),s=yt(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,at(n,this.toBBox),at(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s)},_splitRoot:function(t,e){this.data=yt([t,e]),this.data.height=t.height+1,this.data.leaf=!1,at(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var r,i,o,s,a,u,c,h;for(u=c=1/0,r=e;r<=n-e;r++)s=function(t,e){var n=Math.max(t.minX,e.minX),r=Math.max(t.minY,e.minY),i=Math.min(t.maxX,e.maxX),o=Math.min(t.maxY,e.maxY);return Math.max(0,i-n)*Math.max(0,o-r)}(i=ut(t,0,r,this.toBBox),o=ut(t,r,n,this.toBBox)),a=pt(i)+pt(o),s=e;i--)o=t.children[i],ct(u,t.leaf?s(o):o),c+=ft(u);return c},_adjustParentBBoxes:function(t,e,n){for(var r=n;r>=0;r--)ct(e[r],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():at(t[n],this.toBBox)},_initFormat:function(t){var e=["return a"," - b",";"];this.compareMinX=new Function("a","b",e.join(t[0])),this.compareMinY=new Function("a","b",e.join(t[1])),this.toBBox=new Function("a","return {minX: a"+t[0]+", minY: a"+t[1]+", maxX: a"+t[2]+", maxY: a"+t[3]+"};")}};var Ho=function(t,e,n){var r=t*e,i=Wo*t,o=i-(i-t),s=t-o,a=Wo*e,u=a-(a-e),c=e-u,h=s*c-(r-o*u-s*u-o*c);return n?(n[0]=h,n[1]=r,n):[h,r]},Wo=+(Math.pow(2,27)+1),Jo=function(t,e){var n=0|t.length,r=0|e.length;if(1===n&&1===r)return function(t,e){var n=t+e,r=n-t,i=t-(n-r)+(e-r);return i?[i,n]:[n]}(t[0],e[0]);var i,o,s=new Array(n+r),a=0,u=0,c=0,h=Math.abs,l=t[u],p=h(l),f=e[c],g=h(f);p=r?(i=l,(u+=1)=r?(i=l,(u+=1)>1;return["sum(",r(t.slice(0,e)),",",r(t.slice(e)),")"].join("")}function i(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var o=[],s=0;s0){if(o<=0)return s;r=i+o}else{if(!(i<0))return s;if(o>=0)return s;r=-(i+o)}var u=33306690738754716e-32*r;return s>=u||s<=-u?s:a(t,e,n)},function(t,e,n,r){var i=t[0]-r[0],o=e[0]-r[0],s=n[0]-r[0],a=t[1]-r[1],c=e[1]-r[1],h=n[1]-r[1],l=t[2]-r[2],p=e[2]-r[2],f=n[2]-r[2],g=o*h,d=s*c,y=s*a,_=i*h,m=i*c,v=o*a,x=l*(g-d)+p*(y-_)+f*(m-v),E=7771561172376103e-31*((Math.abs(g)+Math.abs(d))*Math.abs(l)+(Math.abs(y)+Math.abs(_))*Math.abs(p)+(Math.abs(m)+Math.abs(v))*Math.abs(f));return x>E||-x>E?x:u(t,e,n,r)}];!function(){for(;c.length<=s;)c.push(o(c.length));for(var e=[],n=["slow"],r=0;r<=s;++r)e.push("a"+r),n.push("o"+r);var i=["function getOrientation(",e.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(r=2;r<=s;++r)i.push("case ",r,":return o",r,"(",e.slice(0,r).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i1&&es(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(a),c=s.length;c>1&&es(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(a)}n=new Array(s.length+o.length-2);for(var h=0,l=(r=0,o.length);r0;--p)n[h++]=s[p];return n},es=$o[3],ns=vt,rs=vt;vt.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,n=this.compare,r=e[t];t>0;){var i=t-1>>1,o=e[i];if(n(r,o)>=0)break;e[t]=o,t=i}e[t]=r},_down:function(t){for(var e=this.data,n=this.compare,r=this.length>>1,i=e[t];t=0)break;e[t]=a,t=o}e[t]=i}},ns.default=rs;var is=function(t,e){for(var n=t[0],r=t[1],i=!1,o=0,s=e.length-1;or!=h>r&&n<(c-a)*(r-u)/(h-u)+a&&(i=!i)}return i},os=$o[3],ss=xt,as=xt;ss.default=as;var us=function(t){return t},cs=function(t){if(null==t)return us;var e,n,r=t.scale[0],i=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,a){a||(e=n=0);var u=2,c=t.length,h=new Array(c);for(h[0]=(e+=t[0])*r+o,h[1]=(n+=t[1])*i+s;u=t)throw new Error("full hashmap");h=s[c=c+1&u]}return s[c]=r,a[c]=o,o},maybeSet:function(r,o){for(var c=e(r)&u,h=s[c],l=0;h!=i;){if(n(h,r))return a[c];if(++l>=t)throw new Error("full hashmap");h=s[c=c+1&u]}return s[c]=r,a[c]=o,o},get:function(r,o){for(var c=e(r)&u,h=s[c],l=0;h!=i;){if(n(h,r))return a[c];if(++l>=t)break;h=s[c=c+1&u]}return o},keys:function(){for(var t=[],e=0,n=s.length;e>7^_s[2]^_s[3])},vs=function(t){function e(t,e,n,r){if(p[n]!==t){p[n]=t;var i=f[n];if(i>=0){var o=g[n];i===e&&o===r||i===r&&o===e||(++y,d[n]=1)}else f[n]=e,g[n]=r}}function n(t){return ms(u[t])}function r(t,e){return gs(u[t],u[e])}var i,o,s,a,u=t.coordinates,c=t.lines,h=t.rings,l=function(){for(var t=fs(1.4*u.length,n,r,Int32Array,-1,Int32Array),e=new Int32Array(u.length),i=0,o=u.length;i=t)throw new Error("full hashset");u=o[a=a+1&s]}return o[a]=r,!0},has:function(r){for(var a=e(r)&s,u=o[a],c=0;u!=i;){if(n(u,r))return!0;if(++c>=t)break;u=o[a=a+1&s]}return!1},values:function(){for(var t=[],e=0,n=o.length;ea&&(a=e),nu&&(u=n)}function r(t){t.forEach(n)}function i(t){t.forEach(r)}var o=1/0,s=1/0,a=-1/0,u=-1/0,c={GeometryCollection:function(t){t.geometries.forEach(e)},Point:function(t){n(t.coordinates)},MultiPoint:function(t){t.coordinates.forEach(n)},LineString:function(t){r(t.arcs)},MultiLineString:function(t){t.arcs.forEach(r)},Polygon:function(t){t.arcs.forEach(r)},MultiPolygon:function(t){t.arcs.forEach(i)}};for(var h in t)e(t[h]);return a>=o&&u>=s?[o,s,a,u]:void 0}(t=function(t){var e,n={};for(e in t)n[e]=Vt(t[e]);return n}(t)),s=e>0&&o&&function(t,e,n){function r(t){return[Math.round((t[0]-c)*f),Math.round((t[1]-h)*g)]}function i(t,e){for(var n,r,i,o,s,a=-1,u=0,l=t.length,p=new Array(l);++at&&(e.push(r),n=i)}return e},bs.prototype.vector=function(t){var e=this.pos(t+10),n=this.pos(t-10);return{angle:180*Math.atan2(e.y-n.y,e.x-n.x)/3.14,speed:Math.sqrt((n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y)+(n.z-e.z)*(n.z-e.z))}},bs.prototype.pos=function(t){var e=t-this.delay;e<0&&(e=0),e>this.duration&&(e=this.duration-1);var n=e/this.duration;if(n>=1)return this.points[this.length-1];var r=Math.floor((this.points.length-1)*n);return function(t,e,n,r,i){var o=function(t){var e=t*t;return[e*t,3*e*(1-t),3*t*(1-t)*(1-t),(1-t)*(1-t)*(1-t)]}(t);return{x:i.x*o[0]+r.x*o[1]+n.x*o[2]+e.x*o[3],y:i.y*o[0]+r.y*o[1]+n.y*o[2]+e.y*o[3],z:i.z*o[0]+r.z*o[1]+n.z*o[2]+e.z*o[3]}}((this.length-1)*n-r,this.points[r],this.controls[r][1],this.controls[r+1][0],this.points[r+1])};var Is=ve,Ns=ve;ve.deviation=function(t,e,n,r){var i=e&&e.length,o=i?e[0]*n:t.length,s=Math.abs(Ae(t,0,o,n));if(i)for(var a=0,u=e.length;a0&&(r+=t[i-1].length,n.holes.push(r))}return n},Is.default=Ns,ke.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,n=[],r=this.toBBox;if(!Je(t,e))return n;for(var i,o,s,a,u=[];e;){for(i=0,o=e.children.length;i=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(i,o,e)},_split:function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var o=this._chooseSplitIndex(n,i,r),s=Ze(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,ze(n,this.toBBox),ze(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s)},_splitRoot:function(t,e){this.data=Ze([t,e]),this.data.height=t.height+1,this.data.leaf=!1,ze(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var r,i,o,s,a,u,c,h;for(u=c=1/0,r=e;r<=n-e;r++)s=function(t,e){var n=Math.max(t.minX,e.minX),r=Math.max(t.minY,e.minY),i=Math.min(t.maxX,e.maxX),o=Math.min(t.maxY,e.maxY);return Math.max(0,i-n)*Math.max(0,o-r)}(i=je(t,0,r,this.toBBox),o=je(t,r,n,this.toBBox)),a=Ve(i)+Ve(o),s=e;i--)o=t.children[i],Xe(u,t.leaf?s(o):o),c+=He(u);return c},_adjustParentBBoxes:function(t,e,n){for(var r=n;r>=0;r--)Xe(e[r],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():ze(t[n],this.toBBox)},_initFormat:function(t){var e=["return a"," - b",";"];this.compareMinX=new Function("a","b",e.join(t[0])),this.compareMinY=new Function("a","b",e.join(t[1])),this.toBBox=new Function("a","return {minX: a"+t[0]+", minY: a"+t[1]+", maxX: a"+t[2]+", maxY: a"+t[3]+"};")}};var Cs=Object.freeze({toMercator:cn,toWgs84:hn}),Ss=6378137,Ms=function(t,e,n){function r(t,n,r,i){var u,c,h=o[t][n],l=o[t][n+1],p=o[r][i],f=o[r][i+1],g=function(t,e,n,r){if(On(t,n)||On(t,r)||On(e,n)||On(r,n))return null;var i=t[0],o=t[1],s=e[0],a=e[1],u=n[0],c=n[1],h=r[0],l=r[1],p=(i-s)*(c-l)-(o-a)*(u-h);return 0===p?null:[((i*a-o*s)*(u-h)-(i-s)*(u*l-c*h))/p,((i*a-o*s)*(c-l)-(o-a)*(u*l-c*h))/p]}(h,l,p,f);if(null!==g&&(u=l[0]!==h[0]?(g[0]-h[0])/(l[0]-h[0]):(g[1]-h[1])/(l[1]-h[1]),c=f[0]!==p[0]?(g[0]-p[0])/(f[0]-p[0]):(g[1]-p[1])/(f[1]-p[1]),!(u>=1||u<=0||c>=1||c<=0))){var d=g,y=!a[d];y&&(a[d]=!0),e?s.push(e(g,t,n,h,l,u,r,i,p,f,c,y)):s.push(g)}}function i(t,e){var n,r,i,s,a=o[t][e],u=o[t][e+1];return a[0]1)for(e=0;ey[e.isect].coord?-1:1})),f=[];N.length>0;){var P=N.pop(),O=P.isect,R=P.parent,T=P.winding,A=f.length,D=[y[O].coord],F=O;if(y[O].ringAndEdge1Walkable)var q=y[O].ringAndEdge1,G=y[O].nxtIsectAlongRingAndEdge1;else q=y[O].ringAndEdge2,G=y[O].nxtIsectAlongRingAndEdge2;for(;!Tn(y[O].coord,y[G].coord);){D.push(y[G].coord);var B=void 0;for(a=0;ap&&(d>h&&gh&&du&&(u=y)}var _=[];if(a&&u0&&Math.abs(x-n[v-1][0])>p){var E=parseFloat(n[v-1][0]),w=parseFloat(n[v-1][1]),b=parseFloat(n[v][0]),I=parseFloat(n[v][1]);if(E>-180&&E-180&&n[v-1][0]h&&E<180&&-180===b&&v+1h&&n[v-1][0]<180){m.push([180,n[v][1]]),v++,m.push([n[v][0],n[v][1]]);continue}if(Eh){var N=E;E=b,b=N;var C=w;w=I,I=C}if(E>h&&b=180&&Eh?180:-180,M]),(m=[]).push([n[v-1][0]>h?-180:180,M]),_.push(m)}else m=[],_.push(m);m.push([x,n[v][1]])}else m.push([n[v][0],n[v][1]])}}else{var L=[];_.push(L);for(var P=0;P=0&&i.coordinates[0]-t.coordinates[0]<0)return 1;if(r.coordinates[0]-t.coordinates[0]<0&&i.coordinates[0]-t.coordinates[0]>=0)return-1;if(r.coordinates[0]-t.coordinates[0]==0&&i.coordinates[0]-t.coordinates[0]==0)return r.coordinates[1]-t.coordinates[1]>=0||i.coordinates[1]-t.coordinates[1]>=0?r.coordinates[1]-i.coordinates[1]:i.coordinates[1]-r.coordinates[1];var o=xr(t.coordinates,r.coordinates,i.coordinates);return o<0?1:o>0?-1:Math.pow(r.coordinates[0]-t.coordinates[0],2)+Math.pow(r.coordinates[1]-t.coordinates[1],2)-(Math.pow(i.coordinates[0]-t.coordinates[0],2)+Math.pow(i.coordinates[1]-t.coordinates[1],2))})),this.outerEdgesSorted=!0)},Ta.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},Ta.prototype.getOuterEdge=function(t){return this.sortOuterEdges(),this.outerEdges[t]},Ta.prototype.addInnerEdge=function(t){this.innerEdges.push(t)};var Aa=function(t,e){this.from=t,this.to=e,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)};Aa.prototype.getSymetric=function(){return this.symetric||(this.symetric=new Aa(this.to,this.from),this.symetric.symetric=this),this.symetric},Aa.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},Aa.prototype.isEqual=function(t){return this.from.id===t.from.id&&this.to.id===t.to.id},Aa.prototype.toString=function(){return"Edge { "+this.from.id+" -> "+this.to.id+" }"},Aa.prototype.toLineString=function(){return a([this.from.coordinates,this.to.coordinates])},Aa.prototype.compareTo=function(t){return xr(t.from.coordinates,t.to.coordinates,this.to.coordinates)};var Da=function(){this.edges=[],this.polygon=void 0,this.envelope=void 0},Fa={length:{configurable:!0}};Da.prototype.push=function(t){this[this.edges.length]=t,this.edges.push(t),this.polygon=this.envelope=void 0},Da.prototype.get=function(t){return this.edges[t]},Fa.length.get=function(){return this.edges.length},Da.prototype.forEach=function(t){this.edges.forEach(t)},Da.prototype.map=function(t){return this.edges.map(t)},Da.prototype.some=function(t){return this.edges.some(t)},Da.prototype.isValid=function(){return!0},Da.prototype.isHole=function(){var t=this,e=this.edges.reduce((function(e,n,r){return n.from.coordinates[1]>t.edges[e].from.coordinates[1]&&(e=r),e}),0),n=(0===e?this.length:e)-1,r=(e+1)%this.length,i=xr(this.edges[n].from.coordinates,this.edges[e].from.coordinates,this.edges[r].from.coordinates);return 0===i?this.edges[n].from.coordinates[0]>this.edges[r].from.coordinates[0]:i>0},Da.prototype.toMultiPoint=function(){return l(this.edges.map((function(t){return t.from.coordinates})))},Da.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var t=this.edges.map((function(t){return t.from.coordinates}));return t.push(this.edges[0].from.coordinates),this.polygon=o([t])},Da.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=he(this.toPolygon())},Da.findEdgeRingContaining=function(t,e){var n,i,o=t.getEnvelope();return e.forEach((function(e){var s=e.getEnvelope();if(i&&(n=i.getEnvelope()),!function(t,e){var n=t.geometry.coordinates.map((function(t){return t[0]})),r=t.geometry.coordinates.map((function(t){return t[1]})),i=e.geometry.coordinates.map((function(t){return t[0]})),o=e.geometry.coordinates.map((function(t){return t[1]}));return Math.max(null,n)===Math.max(null,i)&&Math.max(null,r)===Math.max(null,o)&&Math.min(null,n)===Math.min(null,i)&&Math.min(null,r)===Math.min(null,o)}(s,o)&&Er(s,o)){var a=t.map((function(t){return t.from.coordinates})).find((function(t){return!e.some((function(e){return function(t,e){return t[0]===e[0]&&t[1]===e[1]}(t,e.from.coordinates)}))}));a&&e.inside(r(a))&&(i&&!Er(n,s)||(i=e))}})),i},Da.prototype.inside=function(t){return Pt(t,this.toPolygon())},Object.defineProperties(Da.prototype,Fa);var qa=function(){this.edges=[],this.nodes={}};qa.fromGeoJson=function(t){!function(t){if(!t)throw new Error("No geojson passed");if("FeatureCollection"!==t.type&&"GeometryCollection"!==t.type&&"MultiLineString"!==t.type&&"LineString"!==t.type&&"Feature"!==t.type)throw new Error("Invalid input type '"+t.type+"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature")}(t);var e=new qa;return F(t,(function(t){H(t,"LineString","Graph::fromGeoJson"),M(t,(function(t,n){if(t){var r=e.getNode(t),i=e.getNode(n);e.addEdge(r,i)}return n}))})),e},qa.prototype.getNode=function(t){var e=Ta.buildId(t),n=this.nodes[e];return n||(n=this.nodes[e]=new Ta(t)),n},qa.prototype.addEdge=function(t,e){var n=new Aa(t,e),r=n.getSymetric();this.edges.push(n),this.edges.push(r)},qa.prototype.deleteDangles=function(){var t=this;Object.keys(this.nodes).map((function(e){return t.nodes[e]})).forEach((function(e){return t._removeIfDangle(e)}))},qa.prototype._removeIfDangle=function(t){var e=this;if(t.innerEdges.length<=1){var n=t.getOuterEdges().map((function(t){return t.to}));this.removeNode(t),n.forEach((function(t){return e._removeIfDangle(t)}))}},qa.prototype.deleteCutEdges=function(){var t=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach((function(e){e.label===e.symetric.label&&(t.removeEdge(e.symetric),t.removeEdge(e))}))},qa.prototype._computeNextCWEdges=function(t){var e=this;void 0===t?Object.keys(this.nodes).forEach((function(t){return e._computeNextCWEdges(e.nodes[t])})):t.getOuterEdges().forEach((function(e,n){t.getOuterEdge((0===n?t.getOuterEdges().length:n)-1).symetric.next=e}))},qa.prototype._computeNextCCWEdges=function(t,e){for(var n,r,i=t.getOuterEdges(),o=i.length-1;o>=0;--o){var s=i[o],a=s.symetric,u=void 0,c=void 0;s.label===e&&(u=s),a.label===e&&(c=a),u&&c&&(c&&(r=c),u&&(r&&(r.next=u,r=void 0),n||(n=u)))}r&&(r.next=n)},qa.prototype._findLabeledEdgeRings=function(){var t=[],e=0;return this.edges.forEach((function(n){if(!(n.label>=0)){t.push(n);var r=n;do{r.label=e,r=r.next}while(!n.isEqual(r));e++}})),t},qa.prototype.getEdgeRings=function(){var t=this;this._computeNextCWEdges(),this.edges.forEach((function(t){t.label=void 0})),this._findLabeledEdgeRings().forEach((function(e){t._findIntersectionNodes(e).forEach((function(n){t._computeNextCCWEdges(n,e.label)}))}));var e=[];return this.edges.forEach((function(n){n.ring||e.push(t._findEdgeRing(n))})),e},qa.prototype._findIntersectionNodes=function(t){var e=[],n=t,r=function(){var r=0;n.from.getOuterEdges().forEach((function(e){e.label===t.label&&++r})),r>1&&e.push(n.from),n=n.next};do{r()}while(!t.isEqual(n));return e},qa.prototype._findEdgeRing=function(t){var e=t,n=new Da;do{n.push(e),e.ring=n,e=e.next}while(!t.isEqual(e));return n},qa.prototype.removeNode=function(t){var e=this;t.getOuterEdges().forEach((function(t){return e.removeEdge(t)})),t.innerEdges.forEach((function(t){return e.removeEdge(t)})),delete this.nodes[t.id]},qa.prototype.removeEdge=function(t){this.edges=this.edges.filter((function(e){return!e.isEqual(t)})),t.deleteEdge()};var Ga=mt((function(t,e){function n(t){var e=[];for(var n in t)e.push(n);return e}(t.exports="function"==typeof Object.keys?Object.keys:n).shim=n})),Ba=(Ga.shim,mt((function(t,e){function n(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function r(t){return t&&"object"==typeof t&&"number"==typeof t.length&&Object.prototype.hasOwnProperty.call(t,"callee")&&!Object.prototype.propertyIsEnumerable.call(t,"callee")||!1}var i="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();(e=t.exports=i?n:r).supported=n,e.unsupported=r}))),ka=(Ba.supported,Ba.unsupported,mt((function(t){function e(t){return null===t||void 0===t}function n(t){return!(!t||"object"!=typeof t||"number"!=typeof t.length)&&"function"==typeof t.copy&&"function"==typeof t.slice&&!(t.length>0&&"number"!=typeof t[0])}var r=Array.prototype.slice,i=t.exports=function(t,o,s){return s||(s={}),t===o||(t instanceof Date&&o instanceof Date?t.getTime()===o.getTime():!t||!o||"object"!=typeof t&&"object"!=typeof o?s.strict?t===o:t==o:function(t,o,s){var a,u;if(e(t)||e(o))return!1;if(t.prototype!==o.prototype)return!1;if(Ba(t))return!!Ba(o)&&(t=r.call(t),o=r.call(o),i(t,o,s));if(n(t)){if(!n(o))return!1;if(t.length!==o.length)return!1;for(a=0;a=0;a--)if(c[a]!=h[a])return!1;for(a=c.length-1;a>=0;a--)if(u=c[a],!i(t[u],o[u],s))return!1;return typeof t==typeof o}(t,o,s))}}))),za=function(t){this.precision=t&&t.precision?t.precision:17,this.direction=!(!t||!t.direction)&&t.direction,this.pseudoNode=!(!t||!t.pseudoNode)&&t.pseudoNode,this.objectComparator=t&&t.objectComparator?t.objectComparator:Rr};za.prototype.compare=function(t,e){if(t.type!==e.type||!Or(t,e))return!1;switch(t.type){case"Point":return this.compareCoord(t.coordinates,e.coordinates);case"LineString":return this.compareLine(t.coordinates,e.coordinates,0,!1);case"Polygon":return this.comparePolygon(t,e);case"Feature":return this.compareFeature(t,e);default:if(0===t.type.indexOf("Multi")){var n=this,r=Pr(t),i=Pr(e);return r.every((function(t){return this.some((function(e){return n.compare(t,e)}))}),i)}}return!1},za.prototype.compareCoord=function(t,e){if(t.length!==e.length)return!1;for(var n=0;n=0&&(n=[].concat(t.slice(r,t.length),t.slice(1,r+1))),n},za.prototype.comparePath=function(t,e){var n=this;return t.every((function(t,e){return n.compareCoord(t,this[e])}),e)},za.prototype.comparePolygon=function(t,e){if(this.compareLine(t.coordinates[0],e.coordinates[0],1,!0)){var n=t.coordinates.slice(1,t.coordinates.length),r=e.coordinates.slice(1,e.coordinates.length),i=this;return n.every((function(t){return this.some((function(e){return i.compareLine(t,e,1,!0)}))}),r)}return!1},za.prototype.compareFeature=function(t,e){return!(t.id!==e.id||!this.objectComparator(t.properties,e.properties)||!this.compareBBox(t,e))&&this.compare(t.geometry,e.geometry)},za.prototype.compareBBox=function(t,e){return!!(!t.bbox&&!e.bbox||t.bbox&&e.bbox&&this.compareCoord(t.bbox,e.bbox))},za.prototype.removePseudo=function(t){return t};var ja=za,Xa=mt((function(t){function e(t,e,n,r){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(t,e,n,r)}e.prototype.run=function(t,e,n,r){this._init(t,e,n,r);for(var i=0;i=this.minPts&&(e=this._mergeArrays(e,i))}1!==this._assigned[r]&&this._addToCluster(r,t)}},e.prototype._addToCluster=function(t,e){this.clusters[e].push(t),this._assigned[t]=1},e.prototype._regionQuery=function(t){for(var e=[],n=0;n0){for(u=0;u=0);return t},e.prototype.assign=function(){for(var t,e=!1,n=this.dataset.length,r=0;ri&&(n=r):e=this.minPts)return n},e.prototype._regionQuery=function(t,e){e=e||this.epsilon;for(var n=[],r=0,i=this.dataset.length;r0;r.length0;){var a=t[Math.floor(Math.random()*o)],u=s?a.join("_"):""+a;n[u]||(n[u]=!0,r.push(a))}if(r.length0,s=t[Math.floor(Math.random()*i)];for(o&&s.join("_"),r.push(s);r.length0,f=[];if(n)i="kmrand"==n?Qa(t,e):"kmpp"==n?$a(t,e):n;else for(var g={};i.length0;){var u=s.pop();if(u===n)return Fr(u);u.closed=!0;for(var c=t.neighbors(u),h=0,l=c.length;h0&&(this.content[0]=e,this.bubbleUp(0)),t},remove:function(t){var e=this.content.indexOf(t),n=this.content.pop();e!==this.content.length-1&&(this.content[e]=n,this.scoreFunction(n)0;){var n=(t+1>>1)-1,r=this.content[n];if(!(this.scoreFunction(e)=a)return null;var u=t-i.site[0],c=e-i.site[1],h=u*u+c*c;do{i=o.cells[r=s],s=null,i.halfedges.forEach((function(n){var r=o.edges[n],a=r.left;if(a!==i.site&&a||(a=r.right)){var u=t-a[0],c=e-a[1],l=u*u+c*c;le.x?1:this.ye.y?1:0},bu.prototype.clone=function(){},bu.prototype.copy=function(){return new bu(this)},bu.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},bu.prototype.distance3D=function(t){var e=this.x-t.x,n=this.y-t.y,r=this.z-t.z;return Math.sqrt(e*e+n*n+r*r)},bu.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},bu.prototype.hashCode=function(){var t=17;return 37*(t=37*t+bu.hashCode(this.x))+bu.hashCode(this.y)},bu.prototype.setCoordinate=function(t){this.x=t.x,this.y=t.y,this.z=t.z},bu.prototype.interfaces_=function(){return[xu,Eu,Li]},bu.prototype.getClass=function(){return bu},bu.hashCode=function(){if(1===arguments.length){var t=arguments[0],e=mu.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},Iu.DimensionalComparator.get=function(){return Nu},Iu.serialVersionUID.get=function(){return 0x5cbf2c235c7e5800},Iu.NULL_ORDINATE.get=function(){return mu.NaN},Iu.X.get=function(){return 0},Iu.Y.get=function(){return 1},Iu.Z.get=function(){return 2},Object.defineProperties(bu,Iu);var Nu=function(t){if(this._dimensionsToTest=2,0===arguments.length);else if(1===arguments.length){var e=arguments[0];if(2!==e&&3!==e)throw new _u("only 2 or 3 dimensions may be specified");this._dimensionsToTest=e}};Nu.prototype.compare=function(t,e){var n=t,r=e,i=Nu.compare(n.x,r.x);if(0!==i)return i;var o=Nu.compare(n.y,r.y);return 0!==o?o:this._dimensionsToTest<=2?0:Nu.compare(n.z,r.z)},Nu.prototype.interfaces_=function(){return[wu]},Nu.prototype.getClass=function(){return Nu},Nu.compare=function(t,e){return te?1:mu.isNaN(t)?mu.isNaN(e)?0:-1:mu.isNaN(e)?1:0};var Cu=function(){};Cu.prototype.create=function(){},Cu.prototype.interfaces_=function(){return[]},Cu.prototype.getClass=function(){return Cu};var Su=function(){},Mu={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};Su.prototype.interfaces_=function(){return[]},Su.prototype.getClass=function(){return Su},Su.toLocationSymbol=function(t){switch(t){case Su.EXTERIOR:return"e";case Su.BOUNDARY:return"b";case Su.INTERIOR:return"i";case Su.NONE:return"-"}throw new _u("Unknown location value: "+t)},Mu.INTERIOR.get=function(){return 0},Mu.BOUNDARY.get=function(){return 1},Mu.EXTERIOR.get=function(){return 2},Mu.NONE.get=function(){return-1},Object.defineProperties(Su,Mu);var Lu=function(t,e){return t.interfaces_&&t.interfaces_().indexOf(e)>-1},Pu=function(){},Ou={LOG_10:{configurable:!0}};Pu.prototype.interfaces_=function(){return[]},Pu.prototype.getClass=function(){return Pu},Pu.log10=function(t){var e=Math.log(t);return mu.isInfinite(e)||mu.isNaN(e)?e:e/Pu.LOG_10},Pu.min=function(t,e,n,r){var i=t;return en?n:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var r=arguments[0],i=arguments[1],o=arguments[2];return ro?o:r}},Pu.wrap=function(t,e){return t<0?e- -t%e:t%e},Pu.max=function(){if(3===arguments.length){var t=arguments[1],e=arguments[2],n=arguments[0];return t>n&&(n=t),e>n&&(n=e),n}if(4===arguments.length){var r=arguments[1],i=arguments[2],o=arguments[3],s=arguments[0];return r>s&&(s=r),i>s&&(s=i),o>s&&(s=o),s}},Pu.average=function(t,e){return(t+e)/2},Ou.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(Pu,Ou);var Ru=function(t){this.str=t};Ru.prototype.append=function(t){this.str+=t},Ru.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},Ru.prototype.toString=function(t){return this.str};var Tu=function(t){this.value=t};Tu.prototype.intValue=function(){return this.value},Tu.prototype.compareTo=function(t){return this.valuet?1:0},Tu.isNaN=function(t){return Number.isNaN(t)};var Au=function(){};Au.isWhitespace=function(t){return t<=32&&t>=0||127===t},Au.toUpperCase=function(t){return t.toUpperCase()};var Du=function t(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length)if("number"==typeof arguments[0]){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof t){var n=arguments[0];this.init(n)}else"string"==typeof arguments[0]&&t.call(this,t.parse(arguments[0]));else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.init(r,i)}},Fu={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};Du.prototype.le=function(t){return(this._hi9?(h=!0,l="9"):l="0"+c,s.append(l),n=n.subtract(Du.valueOf(c)).multiply(Du.TEN),h&&n.selfAdd(Du.TEN);var p=!0,f=Du.magnitude(n._hi);if(f<0&&Math.abs(f)>=a-u&&(p=!1),!p)break}return e[0]=r,s.toString()},Du.prototype.sqr=function(){return this.multiply(this)},Du.prototype.doubleValue=function(){return this._hi+this._lo},Du.prototype.subtract=function(){if(arguments[0]instanceof Du){var t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){var e=arguments[0];return this.add(-e)}},Du.prototype.equals=function(){if(1===arguments.length){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}},Du.prototype.isZero=function(){return 0===this._hi&&0===this._lo},Du.prototype.selfSubtract=function(){if(arguments[0]instanceof Du){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e,0)}},Du.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},Du.prototype.min=function(t){return this.le(t)?this:t},Du.prototype.selfDivide=function(){if(1===arguments.length){if(arguments[0]instanceof Du){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){var e=arguments[0];return this.selfDivide(e,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=null,o=null,s=null,a=null,u=null,c=null,h=null,l=null;return u=this._hi/n,l=(i=(c=Du.SPLIT*u)-(i=c-u))*(s=(l=Du.SPLIT*n)-(s=l-n))-(h=u*n)+i*(a=n-s)+(o=u-i)*s+o*a,l=u+(c=(this._hi-h-l+this._lo-u*r)/n),this._hi=l,this._lo=u-l+c,this}},Du.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},Du.prototype.divide=function(){if(arguments[0]instanceof Du){var t=arguments[0],e=null,n=null,r=null,i=null,o=null,s=null,a=null,u=null;return n=(o=this._hi/t._hi)-(e=(s=Du.SPLIT*o)-(e=s-o)),u=e*(r=(u=Du.SPLIT*t._hi)-(r=u-t._hi))-(a=o*t._hi)+e*(i=t._hi-r)+n*r+n*i,s=(this._hi-a-u+this._lo-o*t._lo)/t._hi,new Du(u=o+s,o-u+s)}if("number"==typeof arguments[0]){var c=arguments[0];return mu.isNaN(c)?Du.createNaN():Du.copy(this).selfDivide(c,0)}},Du.prototype.ge=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>=t._lo},Du.prototype.pow=function(t){if(0===t)return Du.valueOf(1);var e=new Du(this),n=Du.valueOf(1),r=Math.abs(t);if(r>1)for(;r>0;)r%2==1&&n.selfMultiply(e),(r/=2)>0&&(e=e.sqr());else n=e;return t<0?n.reciprocal():n},Du.prototype.ceil=function(){if(this.isNaN())return Du.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new Du(t,e)},Du.prototype.compareTo=function(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0},Du.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},Du.prototype.setValue=function(){if(arguments[0]instanceof Du){var t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){var e=arguments[0];return this.init(e),this}},Du.prototype.max=function(t){return this.ge(t)?this:t},Du.prototype.sqrt=function(){if(this.isZero())return Du.valueOf(0);if(this.isNegative())return Du.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,n=Du.valueOf(e),r=this.subtract(n.sqr())._hi*(.5*t);return n.add(r)},Du.prototype.selfAdd=function(){if(1===arguments.length){if(arguments[0]instanceof Du){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){var e=arguments[0],n=null,r=null,i=null,o=null,s=null,a=null;return o=(i=this._hi+e)-(s=i-this._hi),r=(a=(o=e-s+(this._hi-o))+this._lo)+(i-(n=i+a)),this._hi=n+r,this._lo=r+(n-this._hi),this}}else if(2===arguments.length){var u=arguments[0],c=arguments[1],h=null,l=null,p=null,f=null,g=null,d=null,y=null;f=this._hi+u,l=this._lo+c,g=f-(d=f-this._hi),p=l-(y=l-this._lo);var _=(h=f+(d=(g=u-d+(this._hi-g))+l))+(d=(p=c-y+(this._lo-p))+(d+(f-h))),m=d+(h-_);return this._hi=_,this._lo=m,this}},Du.prototype.selfMultiply=function(){if(1===arguments.length){if(arguments[0]instanceof Du){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){var e=arguments[0];return this.selfMultiply(e,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=null,o=null,s=null,a=null,u=null,c=null;i=(u=Du.SPLIT*this._hi)-this._hi,c=Du.SPLIT*n,i=u-i,o=this._hi-i,s=c-n;var h=(u=this._hi*n)+(c=i*(s=c-s)-u+i*(a=n-s)+o*s+o*a+(this._hi*r+this._lo*n)),l=c+(i=u-h);return this._hi=h,this._lo=l,this}},Du.prototype.selfSqr=function(){return this.selfMultiply(this)},Du.prototype.floor=function(){if(this.isNaN())return Du.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new Du(t,e)},Du.prototype.negate=function(){return this.isNaN()?this:new Du(-this._hi,-this._lo)},Du.prototype.clone=function(){},Du.prototype.multiply=function(){if(arguments[0]instanceof Du){var t=arguments[0];return t.isNaN()?Du.createNaN():Du.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){var e=arguments[0];return mu.isNaN(e)?Du.createNaN():Du.copy(this).selfMultiply(e,0)}},Du.prototype.isNaN=function(){return mu.isNaN(this._hi)},Du.prototype.intValue=function(){return Math.trunc(this._hi)},Du.prototype.toString=function(){var t=Du.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},Du.prototype.toStandardNotation=function(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!0,e),r=e[0]+1,i=n;if("."===n.charAt(0))i="0"+n;else if(r<0)i="0."+Du.stringOfChar("0",-r)+n;else if(-1===n.indexOf(".")){var o=r-n.length;i=n+Du.stringOfChar("0",o)+".0"}return this.isNegative()?"-"+i:i},Du.prototype.reciprocal=function(){var t=null,e=null,n=null,r=null,i=null,o=null,s=null,a=null;e=(i=1/this._hi)-(t=(o=Du.SPLIT*i)-(t=o-i)),n=(a=Du.SPLIT*this._hi)-this._hi;var u=i+(o=(1-(s=i*this._hi)-(a=t*(n=a-n)-s+t*(r=this._hi-n)+e*n+e*r)-i*this._lo)/this._hi);return new Du(u,i-u+o)},Du.prototype.toSciNotation=function(){if(this.isZero())return Du.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!1,e),r=Du.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===n.charAt(0))throw new Error("Found leading zero: "+n);var i="";n.length>1&&(i=n.substring(1));var o=n.charAt(0)+"."+i;return this.isNegative()?"-"+o+r:o+r},Du.prototype.abs=function(){return this.isNaN()?Du.NaN:this.isNegative()?this.negate():new Du(this)},Du.prototype.isPositive=function(){return(this._hi>0||0===this._hi)&&this._lo>0},Du.prototype.lt=function(t){return(this._hit._hi||this._hi===t._hi)&&this._lo>t._lo},Du.prototype.isNegative=function(){return(this._hi<0||0===this._hi)&&this._lo<0},Du.prototype.trunc=function(){return this.isNaN()?Du.NaN:this.isPositive()?this.floor():this.ceil()},Du.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},Du.prototype.interfaces_=function(){return[Li,xu,Eu]},Du.prototype.getClass=function(){return Du},Du.sqr=function(t){return Du.valueOf(t).selfMultiply(t)},Du.valueOf=function(){if("string"==typeof arguments[0]){var t=arguments[0];return Du.parse(t)}if("number"==typeof arguments[0])return new Du(arguments[0])},Du.sqrt=function(t){return Du.valueOf(t).sqrt()},Du.parse=function(t){for(var e=0,n=t.length;Au.isWhitespace(t.charAt(e));)e++;var r=!1;if(e=n);){var c=t.charAt(e);if(e++,Au.isDigit(c)){var h=c-"0";o.selfMultiply(Du.TEN),o.selfAdd(h),s++}else{if("."!==c){if("e"===c||"E"===c){var l=t.substring(e);try{u=Tu.parseInt(l)}catch(e){throw e instanceof Error?new Error("Invalid exponent "+l+" in string "+t):e}break}throw new Error("Unexpected character '"+c+"' at position "+e+" in string "+t)}a=s}}var p=o,f=s-a-u;if(0===f)p=o;else if(f>0){var g=Du.TEN.pow(f);p=o.divide(g)}else if(f<0){var d=Du.TEN.pow(-f);p=o.multiply(d)}return r?p.negate():p},Du.createNaN=function(){return new Du(mu.NaN,mu.NaN)},Du.copy=function(t){return new Du(t)},Du.magnitude=function(t){var e=Math.abs(t),n=Math.log(e)/Math.log(10),r=Math.trunc(Math.floor(n));return 10*Math.pow(10,r)<=e&&(r+=1),r},Du.stringOfChar=function(t,e){for(var n=new Ru,r=0;r0){if(o<=0)return qu.signum(s);r=i+o}else{if(!(i<0))return qu.signum(s);if(o>=0)return qu.signum(s);r=-i-o}var a=qu.DP_SAFE_EPSILON*r;return s>=a||-s>=a?qu.signum(s):2},qu.signum=function(t){return t>0?1:t<0?-1:0},Gu.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(qu,Gu);var Bu=function(){},ku={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};ku.X.get=function(){return 0},ku.Y.get=function(){return 1},ku.Z.get=function(){return 2},ku.M.get=function(){return 3},Bu.prototype.setOrdinate=function(t,e,n){},Bu.prototype.size=function(){},Bu.prototype.getOrdinate=function(t,e){},Bu.prototype.getCoordinate=function(){},Bu.prototype.getCoordinateCopy=function(t){},Bu.prototype.getDimension=function(){},Bu.prototype.getX=function(t){},Bu.prototype.clone=function(){},Bu.prototype.expandEnvelope=function(t){},Bu.prototype.copy=function(){},Bu.prototype.getY=function(t){},Bu.prototype.toCoordinateArray=function(){},Bu.prototype.interfaces_=function(){return[Eu]},Bu.prototype.getClass=function(){return Bu},Object.defineProperties(Bu,ku);var zu=function(){},ju=function(t){function e(){t.call(this,"Projective point not representable on the Cartesian plane.")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(zu),Xu=function(){};Xu.arraycopy=function(t,e,n,r,i){for(var o=0,s=e;st._minx?this._minx:t._minx,n=this._miny>t._miny?this._miny:t._miny,r=this._maxx=this._minx&&e.getMaxX()<=this._maxx&&e.getMinY()>=this._miny&&e.getMaxY()<=this._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return!this.isNull()&&n>=this._minx&&n<=this._maxx&&r>=this._miny&&r<=this._maxy}},Yu.prototype.intersects=function(){if(1===arguments.length){if(arguments[0]instanceof Yu){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||nthis._maxy||rthis._maxx&&(this._maxx=e._maxx),e._minythis._maxy&&(this._maxy=e._maxy))}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=r,this._maxy=r):(nthis._maxx&&(this._maxx=n),rthis._maxy&&(this._maxy=r))}},Yu.prototype.minExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0},Yu.prototype.translate=function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)},Yu.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},Yu.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},Yu.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},Yu.prototype.maxExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e},Yu.prototype.expandBy=function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=n,this._maxy+=n,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},Yu.prototype.contains=function(){if(1===arguments.length){if(arguments[0]instanceof Yu){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof bu){var e=arguments[0];return this.covers(e)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return this.covers(n,r)}},Yu.prototype.centre=function(){return this.isNull()?null:new bu((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},Yu.prototype.init=function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof bu){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Yu){var e=arguments[0];this._minx=e._minx,this._maxx=e._maxx,this._miny=e._miny,this._maxy=e._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];it._maxx&&(e=this._minx-t._maxx);var n=0;return this._maxyt._maxy&&(n=this._miny-t._maxy),0===e?n:0===n?e:Math.sqrt(e*e+n*n)},Yu.prototype.hashCode=function(){var t=17;return 37*(t=37*(t=37*(t=37*t+bu.hashCode(this._minx))+bu.hashCode(this._maxx))+bu.hashCode(this._miny))+bu.hashCode(this._maxy)},Yu.prototype.interfaces_=function(){return[xu,Li]},Yu.prototype.getClass=function(){return Yu},Yu.intersects=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2];return n.x>=(t.xe.x?t.x:e.x)&&n.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],s=arguments[3],a=Math.min(o.x,s.x),u=Math.max(o.x,s.x),c=Math.min(r.x,i.x),h=Math.max(r.x,i.x);return!(c>u)&&!(hu)&&!(hthis.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}},ec.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},ec.prototype.setPrecisionModel=function(t){this._precisionModel=t},ec.prototype.isInteriorIntersection=function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],e=0;ei?r:i;else{var s=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(o=r>i?s:a)||t.equals(e)||(o=Math.max(s,a))}return tc.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o},ec.nonRobustComputeEdgeDistance=function(t,e,n){var r=t.x-e.x,i=t.y-e.y,o=Math.sqrt(r*r+i*i);return tc.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o},nc.DONT_INTERSECT.get=function(){return 0},nc.DO_INTERSECT.get=function(){return 1},nc.COLLINEAR.get=function(){return 2},nc.NO_INTERSECTION.get=function(){return 0},nc.POINT_INTERSECTION.get=function(){return 1},nc.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(ec,nc);var rc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(t){var e=new Yu(this._inputLines[0][0],this._inputLines[0][1]),n=new Yu(this._inputLines[1][0],this._inputLines[1][1]);return e.contains(t)&&n.contains(t)},e.prototype.computeIntersection=function(){if(3!==arguments.length)return t.prototype.computeIntersection.apply(this,arguments);var e=arguments[0],n=arguments[1],r=arguments[2];if(this._isProper=!1,Yu.intersects(n,r,e)&&0===sc.orientationIndex(n,r,e)&&0===sc.orientationIndex(r,n,e))return this._isProper=!0,(e.equals(n)||e.equals(r))&&(this._isProper=!1),this._result=t.POINT_INTERSECTION,null;this._result=t.NO_INTERSECTION},e.prototype.normalizeToMinimum=function(t,e,n,r,i){i.x=this.smallestInAbsValue(t.x,e.x,n.x,r.x),i.y=this.smallestInAbsValue(t.y,e.y,n.y,r.y),t.x-=i.x,t.y-=i.y,e.x-=i.x,e.y-=i.y,n.x-=i.x,n.y-=i.y,r.x-=i.x,r.y-=i.y},e.prototype.safeHCoordinateIntersection=function(t,n,r,i){var o=null;try{o=Uu.intersection(t,n,r,i)}catch(s){if(!(s instanceof ju))throw s;o=e.nearestEndpoint(t,n,r,i)}return o},e.prototype.intersection=function(t,n,r,i){var o=this.intersectionWithNormalization(t,n,r,i);return this.isInSegmentEnvelopes(o)||(o=new bu(e.nearestEndpoint(t,n,r,i))),null!==this._precisionModel&&this._precisionModel.makePrecise(o),o},e.prototype.smallestInAbsValue=function(t,e,n,r){var i=t,o=Math.abs(i);return Math.abs(e)1e-4&&Xu.out.println("Distance = "+i.distance(o))},e.prototype.intersectionWithNormalization=function(t,e,n,r){var i=new bu(t),o=new bu(e),s=new bu(n),a=new bu(r),u=new bu;this.normalizeToEnvCentre(i,o,s,a,u);var c=this.safeHCoordinateIntersection(i,o,s,a);return c.x+=u.x,c.y+=u.y,c},e.prototype.computeCollinearIntersection=function(e,n,r,i){var o=Yu.intersects(e,n,r),s=Yu.intersects(e,n,i),a=Yu.intersects(r,i,e),u=Yu.intersects(r,i,n);return o&&s?(this._intPt[0]=r,this._intPt[1]=i,t.COLLINEAR_INTERSECTION):a&&u?(this._intPt[0]=e,this._intPt[1]=n,t.COLLINEAR_INTERSECTION):o&&a?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||s||u?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):o&&u?(this._intPt[0]=r,this._intPt[1]=n,!r.equals(n)||s||a?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):s&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||o||u?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):s&&u?(this._intPt[0]=i,this._intPt[1]=n,!i.equals(n)||o||a?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):t.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(t,e,n,r,i){var o=t.xe.x?t.x:e.x,u=t.y>e.y?t.y:e.y,c=n.xr.x?n.x:r.x,p=n.y>r.y?n.y:r.y,f=((o>c?o:c)+(ah?s:h)+(u0&&s>0||o<0&&s<0)return t.NO_INTERSECTION;var a=sc.orientationIndex(r,i,e),u=sc.orientationIndex(r,i,n);return a>0&&u>0||a<0&&u<0?t.NO_INTERSECTION:0===o&&0===s&&0===a&&0===u?this.computeCollinearIntersection(e,n,r,i):(0===o||0===s||0===a||0===u?(this._isProper=!1,e.equals2D(r)||e.equals2D(i)?this._intPt[0]=e:n.equals2D(r)||n.equals2D(i)?this._intPt[0]=n:0===o?this._intPt[0]=new bu(r):0===s?this._intPt[0]=new bu(i):0===a?this._intPt[0]=new bu(e):0===u&&(this._intPt[0]=new bu(n))):(this._isProper=!0,this._intPt[0]=this.intersection(e,n,r,i)),t.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(t,e,n,r){var i=t,o=sc.distancePointLine(t,n,r),s=sc.distancePointLine(e,n,r);return s0?n>0?-i:i:n>0?i:-i;if(0===e||0===n)return r>0?t>0?i:-i:t>0?-i:i;if(e>0?r>0?e<=r||(i=-i,o=t,t=n,n=o,o=e,e=r,r=o):e<=-r?(i=-i,n=-n,r=-r):(o=t,t=-n,n=o,o=e,e=-r,r=o):r>0?-e<=r?(i=-i,t=-t,e=-e):(o=-t,t=n,n=o,o=-e,e=r,r=o):e>=r?(t=-t,e=-e,n=-n,r=-r):(i=-i,o=-t,t=-n,n=o,o=-e,e=-r,r=o),t>0){if(!(n>0))return i;if(!(t<=n))return i}else{if(n>0)return-i;if(!(t>=n))return-i;i=-i,t=-t,n=-n}for(;;){if((r-=(s=Math.floor(n/t))*e)<0)return-i;if(r>e)return i;if(t>(n-=s*t)+n){if(er+r)return-i;n=t-n,r=e-r,i=-i}if(0===r)return 0===n?0:-i;if(0===n)return i;if((e-=(s=Math.floor(t/n))*r)<0)return i;if(e>r)return-i;if(n>(t-=s*n)+t){if(re+e)return i;t=n-t,e=r-e,i=-i}if(0===e)return 0===t?0:i;if(0===t)return-i}};var oc=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};oc.prototype.countSegment=function(t,e){if(t.xr&&(n=e.x,r=t.x),this._p.x>=n&&this._p.x<=r&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=t.x-this._p.x,o=t.y-this._p.y,s=e.x-this._p.x,a=e.y-this._p.y,u=ic.signOfDet2x2(i,o,s,a);if(0===u)return this._isPointOnSegment=!0,null;a0&&this._crossingCount++}},oc.prototype.isPointInPolygon=function(){return this.getLocation()!==Su.EXTERIOR},oc.prototype.getLocation=function(){return this._isPointOnSegment?Su.BOUNDARY:this._crossingCount%2==1?Su.INTERIOR:Su.EXTERIOR},oc.prototype.isOnSegment=function(){return this._isPointOnSegment},oc.prototype.interfaces_=function(){return[]},oc.prototype.getClass=function(){return oc},oc.locatePointInRing=function(){if(arguments[0]instanceof bu&&Lu(arguments[1],Bu)){for(var t=arguments[1],e=new oc(arguments[0]),n=new bu,r=new bu,i=1;i1||a<0||a>1)&&(i=!0)}}else i=!0;return i?Pu.min(sc.distancePointLine(t,n,r),sc.distancePointLine(e,n,r),sc.distancePointLine(n,t,e),sc.distancePointLine(r,t,e)):0},sc.isPointInRing=function(t,e){return sc.locatePointInRing(t,e)!==Su.EXTERIOR},sc.computeLength=function(t){var e=t.size();if(e<=1)return 0;var n=0,r=new bu;t.getCoordinate(0,r);for(var i=r.x,o=r.y,s=1;sn.y&&(n=o,r=i)}var s=r;do{(s-=1)<0&&(s=e)}while(t[s].equals2D(n)&&s!==r);var a=r;do{a=(a+1)%e}while(t[a].equals2D(n)&&a!==r);var u=t[s],c=t[a];if(u.equals2D(n)||c.equals2D(n)||u.equals2D(c))return!1;var h=sc.computeOrientation(u,n,c);return 0===h?u.x>c.x:h>0},sc.locatePointInRing=function(t,e){return oc.locatePointInRing(t,e)},sc.distancePointLinePerpendicular=function(t,e,n){var r=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),i=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/r;return Math.abs(i)*Math.sqrt(r)},sc.computeOrientation=function(t,e,n){return sc.orientationIndex(t,e,n)},sc.distancePointLine=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];if(0===e.length)throw new _u("Line array must contain at least one vertex");for(var n=t.distance(e[0]),r=0;r=1)return o.distance(a);var h=((s.y-o.y)*(a.x-s.x)-(s.x-o.x)*(a.y-s.y))/u;return Math.abs(h)*Math.sqrt(u)}},sc.isOnLine=function(t,e){for(var n=new rc,r=1;r0},yc.prototype.interfaces_=function(){return[fc]},yc.prototype.getClass=function(){return yc};var _c=function(){};_c.prototype.isInBoundary=function(t){return t>1},_c.prototype.interfaces_=function(){return[fc]},_c.prototype.getClass=function(){return _c};var mc=function(){};mc.prototype.isInBoundary=function(t){return 1===t},mc.prototype.interfaces_=function(){return[fc]},mc.prototype.getClass=function(){return mc};var vc=function(){};vc.prototype.add=function(){},vc.prototype.addAll=function(){},vc.prototype.isEmpty=function(){},vc.prototype.iterator=function(){},vc.prototype.size=function(){},vc.prototype.toArray=function(){},vc.prototype.remove=function(){};var xc=function(t){function e(e){t.call(this),this.message=e||""}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var n={name:{configurable:!0}};return n.name.get=function(){return"IndexOutOfBoundsException"},Object.defineProperties(e,n),e}(Error),Ec=function(){};Ec.prototype.hasNext=function(){},Ec.prototype.next=function(){},Ec.prototype.remove=function(){};var wc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(vc);(Pi.prototype=new Error).name="NoSuchElementException";var bc=function(t){function e(){t.call(this),this.array_=[],arguments[0]instanceof vc&&this.addAll(arguments[0])}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[t,vc]},e.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},e.prototype.set=function(t,e){var n=this.array_[t];return this.array_[t]=e,n},e.prototype.iterator=function(){return new Ic(this)},e.prototype.get=function(t){if(t<0||t>=this.size())throw new xc;return this.array_[t]},e.prototype.isEmpty=function(){return 0===this.array_.length},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e=1&&this.get(this.size()-1).equals2D(i))return null;t.prototype.add.call(this,i)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){var o=arguments[0],s=arguments[1];return this.add(o,s),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var a=arguments[0],u=arguments[1];if(arguments[2])for(var c=0;c=0;h--)this.add(a[h],u);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof bu){var l=arguments[0],p=arguments[1];if(!arguments[2]){var f=this.size();if(f>0){if(l>0&&this.get(l-1).equals2D(p))return null;if(l_&&(m=-1);for(var v=y;v!==_;v+=m)this.add(g[v],d);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new bu(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,n),e}(bc),Cc=function(){},Sc={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Sc.ForwardComparator.get=function(){return Mc},Sc.BidirectionalComparator.get=function(){return Lc},Sc.coordArrayType.get=function(){return new Array(0).fill(null)},Cc.prototype.interfaces_=function(){return[]},Cc.prototype.getClass=function(){return Cc},Cc.isRing=function(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])},Cc.ptNotInList=function(t,e){for(var n=0;n=t?e:[]},Cc.indexOf=function(t,e){for(var n=0;n0)&&(e=t[n]);return e},Cc.extract=function(t,e,n){e=Pu.clamp(e,0,t.length);var r=(n=Pu.clamp(n,-1,t.length))-e+1;n<0&&(r=0),e>=t.length&&(r=0),nr.length)return 1;if(0===n.length)return 0;var i=Cc.compare(n,r);return Cc.isEqualReversed(n,r)?0:i},Lc.prototype.OLDcompare=function(t,e){var n=t,r=e;if(n.lengthr.length)return 1;if(0===n.length)return 0;for(var i=Cc.increasingDirection(n),o=Cc.increasingDirection(r),s=i>0?0:n.length-1,a=o>0?0:n.length-1,u=0;u0))return e.value;e=e.right}}return null},Gi.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:Ac,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var n,r,i=this.root_;do{if(n=i,(r=t.compareTo(i.key))<0)i=i.left;else{if(!(r>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var s={key:t,left:null,right:null,value:e,parent:n,color:Ac,getValue:function(){return this.value},getKey:function(){return this.key}};return r<0?n.left=s:n.right=s,this.fixAfterInsertion(s),this.size_++,null},Gi.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)if(Ai(t)===Fi(Ai(Ai(t)))){var e=qi(Ai(Ai(t)));1===Ti(e)?(Di(Ai(t),Ac),Di(e,Ac),Di(Ai(Ai(t)),1),t=Ai(Ai(t))):(t===qi(Ai(t))&&(t=Ai(t),this.rotateLeft(t)),Di(Ai(t),Ac),Di(Ai(Ai(t)),1),this.rotateRight(Ai(Ai(t))))}else{var n=Fi(Ai(Ai(t)));1===Ti(n)?(Di(Ai(t),Ac),Di(n,Ac),Di(Ai(Ai(t)),1),t=Ai(Ai(t))):(t===Fi(Ai(t))&&(t=Ai(t),this.rotateRight(t)),Di(Ai(t),Ac),Di(Ai(Ai(t)),1),this.rotateLeft(Ai(Ai(t))))}this.root_.color=Ac},Gi.prototype.values=function(){var t=new bc,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=Gi.successor(e));)t.add(e.value);return t},Gi.prototype.entrySet=function(){var t=new Rc,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=Gi.successor(e));)t.add(e);return t},Gi.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},Gi.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},Gi.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},Gi.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}for(var n=t.parent,r=t;null!==n&&r===n.right;)r=n,n=n.parent;return n},Gi.prototype.size=function(){return this.size_};var Dc=function(){};Dc.prototype.interfaces_=function(){return[]},Dc.prototype.getClass=function(){return Dc},Bi.prototype=new Ri,(ki.prototype=new Bi).contains=function(t){for(var e=0,n=this.array_.length;e=0;){var s=i.substring(0,o);r.add(s),o=(i=i.substring(o+n)).indexOf(e)}i.length>0&&r.add(i);for(var a=new Array(r.size()).fill(null),u=0;u0)for(var o=i;o0&&r.append(" ");for(var o=0;o0&&r.append(","),r.append(Vc.toString(t.getOrdinate(i,o)))}return r.append(")"),r.toString()}},Wc.ensureValidRing=function(t,e){var n=e.size();return 0===n?e:n<=3?Wc.createClosedRing(t,e,4):e.getOrdinate(0,Bu.X)===e.getOrdinate(n-1,Bu.X)&&e.getOrdinate(0,Bu.Y)===e.getOrdinate(n-1,Bu.Y)?e:Wc.createClosedRing(t,e,n+1)},Wc.createClosedRing=function(t,e,n){var r=t.create(n,e.getDimension()),i=e.size();Wc.copy(e,0,r,0,i);for(var o=i;o0&&Wc.reverse(this._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Gc.FALSE:0},e.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return sc.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var t=this._points.copy();return Wc.reverse(t),this.getFactory().createLineString(t)},e.prototype.compareToSameClass=function(){if(1===arguments.length){for(var t=arguments[0],e=0,n=0;e= 2)");this._points=t},e.prototype.isCoordinate=function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")},e.prototype.getGeometryType=function(){return"LinearRing"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.MINIMUM_VALID_SIZE.get=function(){return 4},n.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,n),e}(Jc),nh=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return cc.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&t.prototype.equalsExact.call(this,e,n)}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var t=this._geometries.length,e=new Array(t).fill(null),n=0;n0?e.createPoint(n[0]):e.createPoint():t},sh.prototype.interfaces_=function(){return[rh.GeometryEditorOperation]},sh.prototype.getClass=function(){return sh};var ah=function(){};ah.prototype.edit=function(t,e){return t instanceof eh?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof Jc?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Kc?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},ah.prototype.interfaces_=function(){return[rh.GeometryEditorOperation]},ah.prototype.getClass=function(){return ah};var uh=function(){if(this._dimension=3,this._coordinates=null,1===arguments.length){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var e=0;e0){var t=new Ru(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new uh(t):new uh(t,e)}},hh.prototype.interfaces_=function(){return[Cu,Li]},hh.prototype.getClass=function(){return hh},hh.instance=function(){return hh.instanceObject},lh.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},lh.instanceObject.get=function(){return new hh},Object.defineProperties(hh,lh);var ph=function(t){function e(){t.call(this),this.map_=new Map}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return this.map_.get(t)||null},e.prototype.put=function(t,e){return this.map_.set(t,e),e},e.prototype.values=function(){for(var t=new bc,e=this.map_.values(),n=e.next();!n.done;)t.add(n.value),n=e.next();return t},e.prototype.entrySet=function(){var t=new Rc;return this.map_.entries().forEach((function(e){return t.add(e)})),t},e.prototype.size=function(){return this.map_.size()},e}(Pc),fh=function t(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=t.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof dh){var e=arguments[0];this._modelType=e,e===t.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){var n=arguments[0];this._modelType=t.FIXED,this.setScale(n)}else if(arguments[0]instanceof t){var r=arguments[0];this._modelType=r._modelType,this._scale=r._scale}},gh={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};fh.prototype.equals=function(t){if(!(t instanceof fh))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},fh.prototype.compareTo=function(t){var e=t,n=this.getMaximumSignificantDigits(),r=e.getMaximumSignificantDigits();return new Tu(n).compareTo(new Tu(r))},fh.prototype.getScale=function(){return this._scale},fh.prototype.isFloating=function(){return this._modelType===fh.FLOATING||this._modelType===fh.FLOATING_SINGLE},fh.prototype.getType=function(){return this._modelType},fh.prototype.toString=function(){var t="UNKNOWN";return this._modelType===fh.FLOATING?t="Floating":this._modelType===fh.FLOATING_SINGLE?t="Floating-Single":this._modelType===fh.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t},fh.prototype.makePrecise=function(){if("number"==typeof arguments[0]){var t=arguments[0];return mu.isNaN(t)||this._modelType===fh.FLOATING_SINGLE?t:this._modelType===fh.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof bu){var e=arguments[0];if(this._modelType===fh.FLOATING)return null;e.x=this.makePrecise(e.x),e.y=this.makePrecise(e.y)}},fh.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===fh.FLOATING?t=16:this._modelType===fh.FLOATING_SINGLE?t=6:this._modelType===fh.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},fh.prototype.setScale=function(t){this._scale=Math.abs(t)},fh.prototype.interfaces_=function(){return[Li,xu]},fh.prototype.getClass=function(){return fh},fh.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},gh.serialVersionUID.get=function(){return 0x6bee6404e9a25c00},gh.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(fh,gh);var dh=function t(e){this._name=e||null,t.nameToTypeMap.put(e,this)},yh={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};dh.prototype.readResolve=function(){return dh.nameToTypeMap.get(this._name)},dh.prototype.toString=function(){return this._name},dh.prototype.interfaces_=function(){return[Li]},dh.prototype.getClass=function(){return dh},yh.serialVersionUID.get=function(){return-552860263173159e4},yh.nameToTypeMap.get=function(){return new ph},Object.defineProperties(dh,yh),fh.Type=dh,fh.FIXED=new dh("FIXED"),fh.FLOATING=new dh("FLOATING"),fh.FLOATING_SINGLE=new dh("FLOATING SINGLE");var _h=function t(){this._precisionModel=new fh,this._SRID=0,this._coordinateSequenceFactory=t.getDefaultCoordinateSequenceFactory(),0===arguments.length||(1===arguments.length?Lu(arguments[0],Cu)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof fh&&(this._precisionModel=arguments[0]):2===arguments.length?(this._precisionModel=arguments[0],this._SRID=arguments[1]):3===arguments.length&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},mh={serialVersionUID:{configurable:!0}};_h.prototype.toGeometry=function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new bu(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new bu(t.getMinX(),t.getMinY()),new bu(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new bu(t.getMinX(),t.getMinY()),new bu(t.getMinX(),t.getMaxY()),new bu(t.getMaxX(),t.getMaxY()),new bu(t.getMaxX(),t.getMinY()),new bu(t.getMinX(),t.getMinY())]),null)},_h.prototype.createLineString=function(t){return t?t instanceof Array?new Jc(this.getCoordinateSequenceFactory().create(t),this):Lu(t,Bu)?new Jc(t,this):void 0:new Jc(this.getCoordinateSequenceFactory().create([]),this)},_h.prototype.createMultiLineString=function(){return 0===arguments.length?new Xc(null,this):1===arguments.length?new Xc(arguments[0],this):void 0},_h.prototype.buildGeometry=function(t){for(var e=null,n=!1,r=!1,i=t.iterator();i.hasNext();){var o=i.next(),s=o.getClass();null===e&&(e=s),s!==e&&(n=!0),o.isGeometryCollectionOrDerived()&&(r=!0)}if(null===e)return this.createGeometryCollection();if(n||r)return this.createGeometryCollection(_h.toGeometryArray(t));var a=t.iterator().next();if(t.size()>1){if(a instanceof $c)return this.createMultiPolygon(_h.toPolygonArray(t));if(a instanceof Jc)return this.createMultiLineString(_h.toLineStringArray(t));if(a instanceof Kc)return this.createMultiPoint(_h.toPointArray(t));tc.shouldNeverReachHere("Unhandled class: "+a.getClass().getName())}return a},_h.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)},_h.prototype.createPoint=function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof bu){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(Lu(arguments[0],Bu))return new Kc(arguments[0],this)}},_h.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},_h.prototype.createPolygon=function(){if(0===arguments.length)return new $c(null,null,this);if(1===arguments.length){if(Lu(arguments[0],Bu)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof eh){var n=arguments[0];return this.createPolygon(n,null)}}else if(2===arguments.length)return new $c(arguments[0],arguments[1],this)},_h.prototype.getSRID=function(){return this._SRID},_h.prototype.createGeometryCollection=function(){return 0===arguments.length?new jc(null,this):1===arguments.length?new jc(arguments[0],this):void 0},_h.prototype.createGeometry=function(t){return new rh(this).edit(t,{edit:function(){if(2===arguments.length){var t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})},_h.prototype.getPrecisionModel=function(){return this._precisionModel},_h.prototype.createLinearRing=function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Lu(arguments[0],Bu))return new eh(arguments[0],this)}},_h.prototype.createMultiPolygon=function(){return 0===arguments.length?new nh(null,this):1===arguments.length?new nh(arguments[0],this):void 0},_h.prototype.createMultiPoint=function(){if(0===arguments.length)return new th(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new th(arguments[0],this);if(arguments[0]instanceof Array){var t=arguments[0];return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Lu(arguments[0],Bu)){var e=arguments[0];if(null===e)return this.createMultiPoint(new Array(0).fill(null));for(var n=new Array(e.size()).fill(null),r=0;r=this.size())throw new Error;return this.array_[t]},Xi.prototype.push=function(t){return this.array_.push(t),t},Xi.prototype.pop=function(t){if(0===this.array_.length)throw new ji;return this.array_.pop()},Xi.prototype.peek=function(){if(0===this.array_.length)throw new ji;return this.array_[this.array_.length-1]},Xi.prototype.empty=function(){return 0===this.array_.length},Xi.prototype.isEmpty=function(){return this.empty()},Xi.prototype.search=function(t){return this.array_.indexOf(t)},Xi.prototype.size=function(){return this.array_.length},Xi.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e0&&this._minIndexthis._minCoord.y&&n.y>this._minCoord.y&&r===sc.CLOCKWISE)&&(i=!0),i&&(this._minIndex=this._minIndex-1)},Sh.prototype.getRightmostSideOfSegment=function(t,e){var n=t.getEdge().getCoordinates();if(e<0||e+1>=n.length)return-1;if(n[e].y===n[e+1].y)return-1;var r=Nh.LEFT;return n[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=n,this._minCoord=e[n])},Sh.prototype.findRightmostEdgeAtNode=function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},Sh.prototype.findEdge=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();n.isForward()&&this.checkForRightmostCoordinate(n)}tc.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===Nh.LEFT&&(this._orientedDe=this._minDe.getSym())},Sh.prototype.interfaces_=function(){return[]},Sh.prototype.getClass=function(){return Sh};var Mh=function(t){function e(n,r){t.call(this,e.msgWithCoord(n,r)),this.pt=r?new bu(r):null,this.name="TopologyException"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(t,e){return e?t:t+" [ "+e+" ]"},e}(Qu),Lh=function(){this.array_=[]};Lh.prototype.addLast=function(t){this.array_.push(t)},Lh.prototype.removeFirst=function(){return this.array_.shift()},Lh.prototype.isEmpty=function(){return 0===this.array_.length};var Ph=function(){this._finder=null,this._dirEdgeList=new bc,this._nodes=new bc,this._rightMostCoord=null,this._env=null,this._finder=new Sh};Ph.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();)t.next().setVisited(!1)},Ph.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Ph.prototype.computeNodeDepth=function(t){for(var e=null,n=t.getEdges().iterator();n.hasNext();){var r=n.next();if(r.isVisited()||r.getSym().isVisited()){e=r;break}}if(null===e)throw new Mh("unable to find edge to compute depths at "+t.getCoordinate());t.getEdges().computeDepths(e);for(var i=t.getEdges().iterator();i.hasNext();){var o=i.next();o.setVisited(!0),this.copySymDepths(o)}},Ph.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(Nh.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},Ph.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Ph.prototype.findResultEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(Nh.RIGHT)>=1&&e.getDepth(Nh.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},Ph.prototype.computeDepths=function(t){var e=new Rc,n=new Lh,r=t.getNode();for(n.addLast(r),e.add(r),t.setVisited(!0);!n.isEmpty();){var i=n.removeFirst();e.add(i),this.computeNodeDepth(i);for(var o=i.getEdges().iterator();o.hasNext();){var s=o.next().getSym();if(!s.isVisited()){var a=s.getNode();e.contains(a)||(n.addLast(a),e.add(a))}}}},Ph.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0},Ph.prototype.getEnvelope=function(){if(null===this._env){for(var t=new Yu,e=this._dirEdgeList.iterator();e.hasNext();)for(var n=e.next().getEdge().getCoordinates(),r=0;rthis.location.length){var e=new Array(3).fill(null);e[Nh.ON]=this.location[Nh.ON],e[Nh.LEFT]=Su.NONE,e[Nh.RIGHT]=Su.NONE,this.location=e}for(var n=0;n1&&t.append(Su.toLocationSymbol(this.location[Nh.LEFT])),t.append(Su.toLocationSymbol(this.location[Nh.ON])),this.location.length>1&&t.append(Su.toLocationSymbol(this.location[Nh.RIGHT])),t.toString()},Oh.prototype.setLocations=function(t,e,n){this.location[Nh.ON]=t,this.location[Nh.LEFT]=e,this.location[Nh.RIGHT]=n},Oh.prototype.get=function(t){return t1},Oh.prototype.isAnyNull=function(){for(var t=0;tthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},Th.prototype.addPoints=function(t,e,n){var r=t.getCoordinates();if(e){var i=1;n&&(i=0);for(var o=i;o=0;a--)this._pts.add(r[a])}},Th.prototype.isHole=function(){return this._isHole},Th.prototype.setInResult=function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)},Th.prototype.containsPoint=function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!sc.isPointInRing(t,e.getCoordinates()))return!1;for(var n=this._holes.iterator();n.hasNext();)if(n.next().containsPoint(t))return!1;return!0},Th.prototype.addHole=function(t){this._holes.add(t)},Th.prototype.isShell=function(){return null===this._shell},Th.prototype.getLabel=function(){return this._label},Th.prototype.getEdges=function(){return this._edges},Th.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},Th.prototype.getShell=function(){return this._shell},Th.prototype.mergeLabel=function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[1],n=arguments[0].getLocation(e,Nh.RIGHT);if(n===Su.NONE)return null;if(this._label.getLocation(e)===Su.NONE)return this._label.setLocation(e,n),null}},Th.prototype.setShell=function(t){this._shell=t,null!==t&&t.addHole(this)},Th.prototype.toPolygon=function(t){for(var e=new Array(this._holes.size()).fill(null),n=0;n=2,"found partial label"),this.computeIM(t)},Fh.prototype.isInResult=function(){return this._isInResult},Fh.prototype.isVisited=function(){return this._isVisited},Fh.prototype.interfaces_=function(){return[]},Fh.prototype.getClass=function(){return Fh};var qh=function(t){function e(){t.call(this),this._coord=null,this._edges=null;var e=arguments[0],n=arguments[1];this._coord=e,this._edges=n,this._label=new Rh(0,Su.NONE)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();)if(t.next().getEdge().isInResult())return!0;return!1},e.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(t){t.println("node "+this._coord+" lbl: "+this._label)},e.prototype.computeIM=function(t){},e.prototype.computeMergedLocation=function(t,e){var n=Su.NONE;if(n=this._label.getLocation(e),!t.isNull(e)){var r=t.getLocation(e);n!==Su.BOUNDARY&&(n=r)}return n},e.prototype.setLabel=function(){if(2!==arguments.length)return t.prototype.setLabel.apply(this,arguments);var e=arguments[0],n=arguments[1];null===this._label?this._label=new Rh(e,n):this._label.setLocation(e,n)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){if(arguments[0]instanceof e){var t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof Rh)for(var n=arguments[0],r=0;r<2;r++){var i=this.computeMergedLocation(n,r);this._label.getLocation(r)===Su.NONE&&this._label.setLocation(r,i)}},e.prototype.add=function(t){this._edges.insert(t),t.setNode(this)},e.prototype.setLabelBoundary=function(t){if(null===this._label)return null;var e=Su.NONE;null!==this._label&&(e=this._label.getLocation(t));var n=null;switch(e){case Su.BOUNDARY:n=Su.INTERIOR;break;case Su.INTERIOR:default:n=Su.BOUNDARY}this._label.setLocation(t,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Fh),Gh=function(){this.nodeMap=new Gi,this.nodeFact=null;var t=arguments[0];this.nodeFact=t};Gh.prototype.find=function(t){return this.nodeMap.get(t)},Gh.prototype.addNode=function(){if(arguments[0]instanceof bu){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof qh){var n=arguments[0],r=this.nodeMap.get(n.getCoordinate());return null===r?(this.nodeMap.put(n.getCoordinate(),n),n):(r.mergeLabel(n),r)}},Gh.prototype.print=function(t){for(var e=this.iterator();e.hasNext();)e.next().print(t)},Gh.prototype.iterator=function(){return this.nodeMap.values().iterator()},Gh.prototype.values=function(){return this.nodeMap.values()},Gh.prototype.getBoundaryNodes=function(t){for(var e=new bc,n=this.iterator();n.hasNext();){var r=n.next();r.getLabel().getLocation(t)===Su.BOUNDARY&&e.add(r)}return e},Gh.prototype.add=function(t){var e=t.getCoordinate();this.addNode(e).add(t)},Gh.prototype.interfaces_=function(){return[]},Gh.prototype.getClass=function(){return Gh};var Bh=function(){},kh={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Bh.prototype.interfaces_=function(){return[]},Bh.prototype.getClass=function(){return Bh},Bh.isNorthern=function(t){return t===Bh.NE||t===Bh.NW},Bh.isOpposite=function(t,e){return t!==e&&2===(t-e+4)%4},Bh.commonHalfPlane=function(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var n=te?t:e)?3:n},Bh.isInHalfPlane=function(t,e){return e===Bh.SE?t===Bh.SE||t===Bh.SW:t===e||t===e+1},Bh.quadrant=function(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new _u("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?Bh.NE:Bh.SE:e>=0?Bh.NW:Bh.SW}if(arguments[0]instanceof bu&&arguments[1]instanceof bu){var n=arguments[0],r=arguments[1];if(r.x===n.x&&r.y===n.y)throw new _u("Cannot compute the quadrant for two identical points "+n);return r.x>=n.x?r.y>=n.y?Bh.NE:Bh.SE:r.y>=n.y?Bh.NW:Bh.SW}},kh.NE.get=function(){return 0},kh.NW.get=function(){return 1},kh.SW.get=function(){return 2},kh.SE.get=function(){return 3},Object.defineProperties(Bh,kh);var zh=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,1===arguments.length){var t=arguments[0];this._edge=t}else if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2];this._edge=e,this.init(n,r),this._label=null}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this._edge=i,this.init(o,s),this._label=a}};zh.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant2){o.linkDirectedEdgesForMinimalEdgeRings();var s=o.buildMinimalRings(),a=this.findShell(s);null!==a?(this.placePolygonHoles(a,s),e.add(a)):n.addAll(s)}else r.add(o)}return r},Yh.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();)if(e.next().containsPoint(t))return!0;return!1},Yh.prototype.buildMaximalEdgeRings=function(t){for(var e=new bc,n=t.iterator();n.hasNext();){var r=n.next();if(r.isInResult()&&r.getLabel().isArea()&&null===r.getEdgeRing()){var i=new Dh(r,this._geometryFactory);e.add(i),i.setInResult()}}return e},Yh.prototype.placePolygonHoles=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next();r.isHole()&&r.setShell(t)}},Yh.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},Yh.prototype.findEdgeRingContaining=function(t,e){for(var n=t.getLinearRing(),r=n.getEnvelopeInternal(),i=n.getCoordinateN(0),o=null,s=null,a=e.iterator();a.hasNext();){var u=a.next(),c=u.getLinearRing(),h=c.getEnvelopeInternal();null!==o&&(s=o.getLinearRing().getEnvelopeInternal());var l=!1;h.contains(r)&&sc.isPointInRing(i,c.getCoordinates())&&(l=!0),l&&(null===o||s.contains(h))&&(o=u)}return o},Yh.prototype.findShell=function(t){for(var e=0,n=null,r=t.iterator();r.hasNext();){var i=r.next();i.isHole()||(n=i,e++)}return tc.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),n},Yh.prototype.add=function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],n=arguments[1];Uh.linkResultDirectedEdges(n);var r=this.buildMaximalEdgeRings(e),i=new bc,o=this.buildMinimalEdgeRings(r,this._shellList,i);this.sortShellsAndHoles(o,this._shellList,i),this.placeFreeHoles(this._shellList,i)}},Yh.prototype.interfaces_=function(){return[]},Yh.prototype.getClass=function(){return Yh};var Vh=function(){};Vh.prototype.getBounds=function(){},Vh.prototype.interfaces_=function(){return[]},Vh.prototype.getClass=function(){return Vh};var Hh=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};Hh.prototype.getItem=function(){return this._item},Hh.prototype.getBounds=function(){return this._bounds},Hh.prototype.interfaces_=function(){return[Vh,Li]},Hh.prototype.getClass=function(){return Hh};var Wh=function(){this._size=null,this._items=null,this._size=0,this._items=new bc,this._items.add(null)};Wh.prototype.poll=function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t},Wh.prototype.size=function(){return this._size},Wh.prototype.reorder=function(t){for(var e=null,n=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(n)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,n)},Wh.prototype.clear=function(){this._size=0,this._items.clear()},Wh.prototype.isEmpty=function(){return 0===this._size},Wh.prototype.add=function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)},Wh.prototype.interfaces_=function(){return[]},Wh.prototype.getClass=function(){return Wh};var Jh=function(){};Jh.prototype.visitItem=function(t){},Jh.prototype.interfaces_=function(){return[]},Jh.prototype.getClass=function(){return Jh};var Zh=function(){};Zh.prototype.insert=function(t,e){},Zh.prototype.remove=function(t,e){},Zh.prototype.query=function(){},Zh.prototype.interfaces_=function(){return[]},Zh.prototype.getClass=function(){return Zh};var Kh=function(){if(this._childBoundables=new bc,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}},Qh={serialVersionUID:{configurable:!0}};Kh.prototype.getLevel=function(){return this._level},Kh.prototype.size=function(){return this._childBoundables.size()},Kh.prototype.getChildBoundables=function(){return this._childBoundables},Kh.prototype.addChildBoundable=function(t){tc.isTrue(null===this._bounds),this._childBoundables.add(t)},Kh.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},Kh.prototype.getBounds=function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds},Kh.prototype.interfaces_=function(){return[Vh,Li]},Kh.prototype.getClass=function(){return Kh},Qh.serialVersionUID.get=function(){return 0x5a1e55ec41369800},Object.defineProperties(Kh,Qh);var $h=function(){};$h.reverseOrder=function(){return{compare:function(t,e){return e.compareTo(t)}}},$h.min=function(t){return $h.sort(t),t.get(0)},$h.sort=function(t,e){var n=t.toArray();e?qc.sort(n,e):qc.sort(n);for(var r=t.iterator(),i=0,o=n.length;itl.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(r)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new _u("neither boundable is composite")},tl.prototype.isLeaves=function(){return!(tl.isComposite(this._boundable1)||tl.isComposite(this._boundable2))},tl.prototype.compareTo=function(t){var e=t;return this._distancee._distance?1:0},tl.prototype.expand=function(t,e,n,r){for(var i=t.getChildBoundables().iterator();i.hasNext();){var o=i.next(),s=new tl(o,e,this._itemDistance);s.getDistance()1,"Node capacity must be greater than 1"),this._nodeCapacity=n}},nl={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};el.prototype.getNodeCapacity=function(){return this._nodeCapacity},el.prototype.lastNode=function(t){return t.get(t.size()-1)},el.prototype.size=function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.size(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var n=e.next();n instanceof Kh?t+=this.size(n):n instanceof Hh&&(t+=1)}return t}},el.prototype.removeItem=function(t,e){for(var n=null,r=t.getChildBoundables().iterator();r.hasNext();){var i=r.next();i instanceof Hh&&i.getItem()===e&&(n=i)}return null!==n&&(t.getChildBoundables().remove(n),!0)},el.prototype.itemsTree=function(){if(0===arguments.length){this.build();var t=this.itemsTree(this._root);return null===t?new bc:t}if(1===arguments.length){for(var e=arguments[0],n=new bc,r=e.getChildBoundables().iterator();r.hasNext();){var i=r.next();if(i instanceof Kh){var o=this.itemsTree(i);null!==o&&n.add(o)}else i instanceof Hh?n.add(i.getItem()):tc.shouldNeverReachHere()}return n.size()<=0?null:n}},el.prototype.insert=function(t,e){tc.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Hh(t,e))},el.prototype.boundablesAtLevel=function(){if(1===arguments.length){var t=arguments[0],e=new bc;return this.boundablesAtLevel(t,this._root,e),e}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];if(tc.isTrue(n>-2),r.getLevel()===n)return i.add(r),null;for(var o=r.getChildBoundables().iterator();o.hasNext();){var s=o.next();s instanceof Kh?this.boundablesAtLevel(n,s,i):(tc.isTrue(s instanceof Hh),-1===n&&i.add(s))}return null}},el.prototype.query=function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new bc;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,e),e}if(2===arguments.length){var n=arguments[0],r=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),n)&&this.query(n,this._root,r)}else if(3===arguments.length)if(Lu(arguments[2],Jh)&&arguments[0]instanceof Object&&arguments[1]instanceof Kh)for(var i=arguments[0],o=arguments[2],s=arguments[1].getChildBoundables(),a=0;at&&(t=r)}}return t+1}},el.prototype.createParentBoundables=function(t,e){tc.isTrue(!t.isEmpty());var n=new bc;n.add(this.createNode(e));var r=new bc(t);$h.sort(r,this.getComparator());for(var i=r.iterator();i.hasNext();){var o=i.next();this.lastNode(n).getChildBoundables().size()===this.getNodeCapacity()&&n.add(this.createNode(e)),this.lastNode(n).addChildBoundable(o)}return n},el.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},el.prototype.interfaces_=function(){return[Li]},el.prototype.getClass=function(){return el},el.compareDoubles=function(t,e){return t>e?1:t0);for(var n=new bc,r=0;r0;){var l=h.poll(),p=l.getDistance();if(p>=u)break;l.isLeaves()?(u=p,c=l):l.expandToQueue(h,u)}return[c.getBoundable(0).getItem(),c.getBoundable(1).getItem()]}}else if(3===arguments.length){var f=arguments[2],g=new Hh(arguments[0],arguments[1]),d=new tl(this.getRoot(),g,f);return this.nearestNeighbour(d)[0]}},e.prototype.interfaces_=function(){return[Zh,Li]},e.prototype.getClass=function(){return e},e.centreX=function(t){return e.avg(t.getMinX(),t.getMaxX())},e.avg=function(t,e){return(t+e)/2},e.centreY=function(t){return e.avg(t.getMinY(),t.getMaxY())},n.STRtreeNode.get=function(){return sl},n.serialVersionUID.get=function(){return 0x39920f7d5f261e0},n.xComparator.get=function(){return{interfaces_:function(){return[wu]},compare:function(n,r){return t.compareDoubles(e.centreX(n.getBounds()),e.centreX(r.getBounds()))}}},n.yComparator.get=function(){return{interfaces_:function(){return[wu]},compare:function(n,r){return t.compareDoubles(e.centreY(n.getBounds()),e.centreY(r.getBounds()))}}},n.intersectsOp.get=function(){return{interfaces_:function(){return[t.IntersectsOp]},intersects:function(t,e){return t.intersects(e)}}},n.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,n),e}(el),sl=function(t){function e(){var e=arguments[0];t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var n=e.next();null===t?t=new Yu(n.getBounds()):t.expandToInclude(n.getBounds())}return t},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kh),al=function(){};al.prototype.interfaces_=function(){return[]},al.prototype.getClass=function(){return al},al.relativeSign=function(t,e){return te?1:0},al.compare=function(t,e,n){if(e.equals2D(n))return 0;var r=al.relativeSign(e.x,n.x),i=al.relativeSign(e.y,n.y);switch(t){case 0:return al.compareValue(r,i);case 1:return al.compareValue(i,r);case 2:return al.compareValue(i,-r);case 3:return al.compareValue(-r,i);case 4:return al.compareValue(-r,-i);case 5:return al.compareValue(-i,-r);case 6:return al.compareValue(-i,r);case 7:return al.compareValue(r,-i)}return tc.shouldNeverReachHere("invalid octant value"),0},al.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var ul=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this._segString=t,this.coord=new bu(e),this.segmentIndex=n,this._segmentOctant=r,this._isInterior=!e.equals2D(t.getCoordinate(n))};ul.prototype.getCoordinate=function(){return this.coord},ul.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)},ul.prototype.compareTo=function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:al.compare(this._segmentOctant,this.coord,e.coord)},ul.prototype.isEndPoint=function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t},ul.prototype.isInterior=function(){return this._isInterior},ul.prototype.interfaces_=function(){return[xu]},ul.prototype.getClass=function(){return ul};var cl=function(){this._nodeMap=new Gi,this._edge=null;var t=arguments[0];this._edge=t};cl.prototype.getSplitCoordinates=function(){var t=new Nc;this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var r=e.next();this.addEdgeCoordinates(n,r,t),n=r}return t.toCoordinateArray()},cl.prototype.addCollapsedNodes=function(){var t=new bc;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var n=e.next().intValue();this.add(this._edge.getCoordinate(n),n)}},cl.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)},cl.prototype.findCollapsesFromExistingVertices=function(t){for(var e=0;e=0?e>=0?n>=r?0:1:n>=r?7:6:e>=0?n>=r?3:2:n>=r?4:5}if(arguments[0]instanceof bu&&arguments[1]instanceof bu){var i=arguments[0],o=arguments[1],s=o.x-i.x,a=o.y-i.y;if(0===s&&0===a)throw new _u("Cannot compute the octant for two identical points "+i);return hl.octant(s,a)}};var ll=function(){};ll.prototype.getCoordinates=function(){},ll.prototype.size=function(){},ll.prototype.getCoordinate=function(t){},ll.prototype.isClosed=function(){},ll.prototype.setData=function(t){},ll.prototype.getData=function(){},ll.prototype.interfaces_=function(){return[]},ll.prototype.getClass=function(){return ll};var pl=function(){};pl.prototype.addIntersection=function(t,e){},pl.prototype.interfaces_=function(){return[ll]},pl.prototype.getClass=function(){return pl};var fl=function(){this._nodeList=new cl(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};fl.prototype.getCoordinates=function(){return this._pts},fl.prototype.size=function(){return this._pts.length},fl.prototype.getCoordinate=function(t){return this._pts[t]},fl.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},fl.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},fl.prototype.setData=function(t){this._data=t},fl.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:hl.octant(t,e)},fl.prototype.getData=function(){return this._data},fl.prototype.addIntersection=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var n=arguments[1],r=arguments[3],i=new bu(arguments[0].getIntersection(r));this.addIntersection(i,n)}},fl.prototype.toString=function(){return Ku.toLineString(new uh(this._pts))},fl.prototype.getNodeList=function(){return this._nodeList},fl.prototype.addIntersectionNode=function(t,e){var n=e,r=n+1;if(r=0&&n>=0||e<=0&&n<=0?Math.max(e,n):0}if(arguments[0]instanceof bu){var r=arguments[0];return sc.orientationIndex(this.p0,this.p1,r)}},gl.prototype.toGeometry=function(t){return t.createLineString([this.p0,this.p1])},gl.prototype.isVertical=function(){return this.p0.x===this.p1.x},gl.prototype.equals=function(t){if(!(t instanceof gl))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},gl.prototype.intersection=function(t){var e=new rc;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},gl.prototype.project=function(){if(arguments[0]instanceof bu){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new bu(t);var e=this.projectionFactor(t),n=new bu;return n.x=this.p0.x+e*(this.p1.x-this.p0.x),n.y=this.p0.y+e*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof gl){var r=arguments[0],i=this.projectionFactor(r.p0),o=this.projectionFactor(r.p1);if(i>=1&&o>=1)return null;if(i<=0&&o<=0)return null;var s=this.project(r.p0);i<0&&(s=this.p0),i>1&&(s=this.p1);var a=this.project(r.p1);return o<0&&(a=this.p0),o>1&&(a=this.p1),new gl(s,a)}},gl.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},gl.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},gl.prototype.getCoordinate=function(t){return 0===t?this.p0:this.p1},gl.prototype.distancePerpendicular=function(t){return sc.distancePointLinePerpendicular(t,this.p0,this.p1)},gl.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},gl.prototype.midPoint=function(){return gl.midPoint(this.p0,this.p1)},gl.prototype.projectionFactor=function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,r=e*e+n*n;return r<=0?mu.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*n)/r},gl.prototype.closestPoints=function(t){var e=this.intersection(t);if(null!==e)return[e,e];var n=new Array(2).fill(null),r=mu.MAX_VALUE,i=null,o=this.closestPoint(t.p0);r=o.distance(t.p0),n[0]=o,n[1]=t.p0;var s=this.closestPoint(t.p1);(i=s.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||mu.isNaN(e))&&(e=1),e},gl.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},gl.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},gl.prototype.distance=function(){if(arguments[0]instanceof gl){var t=arguments[0];return sc.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof bu){var e=arguments[0];return sc.distancePointLine(e,this.p0,this.p1)}},gl.prototype.pointAlong=function(t){var e=new bu;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e},gl.prototype.hashCode=function(){var t=mu.doubleToLongBits(this.p0.x);t^=31*mu.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),n=mu.doubleToLongBits(this.p1.x);return n^=31*mu.doubleToLongBits(this.p1.y),e^Math.trunc(n)^Math.trunc(n>>32)},gl.prototype.interfaces_=function(){return[xu,Li]},gl.prototype.getClass=function(){return gl},gl.midPoint=function(t,e){return new bu((t.x+e.x)/2,(t.y+e.y)/2)},dl.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(gl,dl);var yl=function(){this.tempEnv1=new Yu,this.tempEnv2=new Yu,this._overlapSeg1=new gl,this._overlapSeg2=new gl};yl.prototype.overlap=function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[1],e=arguments[2],n=arguments[3];arguments[0].getLineSegment(t,this._overlapSeg1),e.getLineSegment(n,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},yl.prototype.interfaces_=function(){return[]},yl.prototype.getClass=function(){return yl};var _l=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this._pts=t,this._start=e,this._end=n,this._context=r};_l.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},_l.prototype.computeSelect=function(t,e,n,r){var i=this._pts[e],o=this._pts[n];if(r.tempEnv1.init(i,o),n-e==1)return r.select(this,e),null;if(!t.intersects(r.tempEnv1))return null;var s=Math.trunc((e+n)/2);e=t.length-1)return t.length-1;for(var r=Bh.quadrant(t[n],t[n+1]),i=e+1;in.getId()&&(n.computeOverlaps(i,t),this._nOverlaps++),this._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.SegmentOverlapAction.get=function(){return wl},Object.defineProperties(e,n),e}(xl),wl=function(t){function e(){t.call(this),this._si=null;var e=arguments[0];this._si=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(4!==arguments.length)return t.prototype.overlap.apply(this,arguments);var e=arguments[1],n=arguments[2],r=arguments[3],i=arguments[0].getContext(),o=n.getContext();this._si.processIntersections(i,e,o,r)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(yl),bl=function t(){if(this._quadrantSegments=t.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=t.CAP_ROUND,this._joinStyle=t.JOIN_ROUND,this._mitreLimit=t.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=t.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this.setQuadrantSegments(e)}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.setQuadrantSegments(n),this.setEndCapStyle(r)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(o),this.setJoinStyle(s),this.setMitreLimit(a)}},Il={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};bl.prototype.getEndCapStyle=function(){return this._endCapStyle},bl.prototype.isSingleSided=function(){return this._isSingleSided},bl.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=bl.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=bl.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==bl.JOIN_ROUND&&(this._quadrantSegments=bl.DEFAULT_QUADRANT_SEGMENTS)},bl.prototype.getJoinStyle=function(){return this._joinStyle},bl.prototype.setJoinStyle=function(t){this._joinStyle=t},bl.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},bl.prototype.getSimplifyFactor=function(){return this._simplifyFactor},bl.prototype.getQuadrantSegments=function(){return this._quadrantSegments},bl.prototype.setEndCapStyle=function(t){this._endCapStyle=t},bl.prototype.getMitreLimit=function(){return this._mitreLimit},bl.prototype.setMitreLimit=function(t){this._mitreLimit=t},bl.prototype.setSingleSided=function(t){this._isSingleSided=t},bl.prototype.interfaces_=function(){return[]},bl.prototype.getClass=function(){return bl},bl.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},Il.CAP_ROUND.get=function(){return 1},Il.CAP_FLAT.get=function(){return 2},Il.CAP_SQUARE.get=function(){return 3},Il.JOIN_ROUND.get=function(){return 1},Il.JOIN_MITRE.get=function(){return 2},Il.JOIN_BEVEL.get=function(){return 3},Il.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Il.DEFAULT_MITRE_LIMIT.get=function(){return 5},Il.DEFAULT_SIMPLIFY_FACTOR.get=function(){return.01},Object.defineProperties(bl,Il);var Nl=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=sc.COUNTERCLOCKWISE,this._inputLine=t||null},Cl={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Nl.prototype.isDeletable=function(t,e,n,r){var i=this._inputLine[t],o=this._inputLine[e],s=this._inputLine[n];return!!this.isConcave(i,o,s)&&!!this.isShallow(i,o,s,r)&&this.isShallowSampled(i,o,t,n,r)},Nl.prototype.deleteShallowConcavities=function(){for(var t=1,e=this.findNextNonDeletedIndex(t),n=this.findNextNonDeletedIndex(e),r=!1;n=0;r--)this.addPt(t[r])},Sl.prototype.isRedundant=function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)Math.PI;)t-=Ll.PI_TIMES_2;for(;t<=-Math.PI;)t+=Ll.PI_TIMES_2;return t},Ll.angle=function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],n=arguments[1],r=n.x-e.x,i=n.y-e.y;return Math.atan2(i,r)}},Ll.isAcute=function(t,e,n){var r=t.x-e.x,i=t.y-e.y;return r*(n.x-e.x)+i*(n.y-e.y)>0},Ll.isObtuse=function(t,e,n){var r=t.x-e.x,i=t.y-e.y;return r*(n.x-e.x)+i*(n.y-e.y)<0},Ll.interiorAngle=function(t,e,n){var r=Ll.angle(e,t),i=Ll.angle(e,n);return Math.abs(i-r)},Ll.normalizePositive=function(t){if(t<0){for(;t<0;)t+=Ll.PI_TIMES_2;t>=Ll.PI_TIMES_2&&(t=0)}else{for(;t>=Ll.PI_TIMES_2;)t-=Ll.PI_TIMES_2;t<0&&(t=0)}return t},Ll.angleBetween=function(t,e,n){var r=Ll.angle(e,t),i=Ll.angle(e,n);return Ll.diff(r,i)},Ll.diff=function(t,e){var n=null;return(n=tMath.PI&&(n=2*Math.PI-n),n},Ll.toRadians=function(t){return t*Math.PI/180},Ll.getTurn=function(t,e){var n=Math.sin(e-t);return n>0?Ll.COUNTERCLOCKWISE:n<0?Ll.CLOCKWISE:Ll.NONE},Ll.angleBetweenOriented=function(t,e,n){var r=Ll.angle(e,t),i=Ll.angle(e,n)-r;return i<=-Math.PI?i+Ll.PI_TIMES_2:i>Math.PI?i-Ll.PI_TIMES_2:i},Pl.PI_TIMES_2.get=function(){return 2*Math.PI},Pl.PI_OVER_2.get=function(){return Math.PI/2},Pl.PI_OVER_4.get=function(){return Math.PI/4},Pl.COUNTERCLOCKWISE.get=function(){return sc.COUNTERCLOCKWISE},Pl.CLOCKWISE.get=function(){return sc.CLOCKWISE},Pl.NONE.get=function(){return sc.COLLINEAR},Object.defineProperties(Ll,Pl);var Ol=function t(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new gl,this._seg1=new gl,this._offset0=new gl,this._offset1=new gl,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],n=arguments[1],r=arguments[2];this._precisionModel=e,this._bufParams=n,this._li=new rc,this._filletAngleQuantum=Math.PI/2/n.getQuadrantSegments(),n.getQuadrantSegments()>=8&&n.getJoinStyle()===bl.JOIN_ROUND&&(this._closingSegLengthFactor=t.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Rl={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Ol.prototype.addNextSegment=function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=sc.computeOrientation(this._s0,this._s1,this._s2),r=n===sc.CLOCKWISE&&this._side===Nh.LEFT||n===sc.COUNTERCLOCKWISE&&this._side===Nh.RIGHT;0===n?this.addCollinear(e):r?this.addOutsideTurn(n,e):this.addInsideTurn(n,e)},Ol.prototype.addLineEndCap=function(t,e){var n=new gl(t,e),r=new gl;this.computeOffsetSegment(n,Nh.LEFT,this._distance,r);var i=new gl;this.computeOffsetSegment(n,Nh.RIGHT,this._distance,i);var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o);switch(this._bufParams.getEndCapStyle()){case bl.CAP_ROUND:this._segList.addPt(r.p1),this.addFilletArc(e,a+Math.PI/2,a-Math.PI/2,sc.CLOCKWISE,this._distance),this._segList.addPt(i.p1);break;case bl.CAP_FLAT:this._segList.addPt(r.p1),this._segList.addPt(i.p1);break;case bl.CAP_SQUARE:var u=new bu;u.x=Math.abs(this._distance)*Math.cos(a),u.y=Math.abs(this._distance)*Math.sin(a);var c=new bu(r.p1.x+u.x,r.p1.y+u.y),h=new bu(i.p1.x+u.x,i.p1.y+u.y);this._segList.addPt(c),this._segList.addPt(h)}},Ol.prototype.getCoordinates=function(){return this._segList.getCoordinates()},Ol.prototype.addMitreJoin=function(t,e,n,r){var i=!0,o=null;try{o=Uu.intersection(e.p0,e.p1,n.p0,n.p1),(r<=0?1:o.distance(t)/Math.abs(r))>this._bufParams.getMitreLimit()&&(i=!1)}catch(t){if(!(t instanceof ju))throw t;o=new bu(0,0),i=!1}i?this._segList.addPt(o):this.addLimitedMitreJoin(e,n,r,this._bufParams.getMitreLimit())},Ol.prototype.addFilletCorner=function(t,e,n,r,i){var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o),u=n.x-t.x,c=n.y-t.y,h=Math.atan2(c,u);r===sc.CLOCKWISE?a<=h&&(a+=2*Math.PI):a>=h&&(a-=2*Math.PI),this._segList.addPt(e),this.addFilletArc(t,a,h,r,i),this._segList.addPt(n)},Ol.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)0){var n=new bu((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var r=new bu((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Ol.prototype.createCircle=function(t){var e=new bu(t.x+this._distance,t.y);this._segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Ol.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},Ol.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Sl,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Ol.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Ol.prototype.addCollinear=function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===bl.JOIN_BEVEL||this._bufParams.getJoinStyle()===bl.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,sc.CLOCKWISE,this._distance))},Ol.prototype.closeRing=function(){this._segList.closeRing()},Ol.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Ol.prototype.interfaces_=function(){return[]},Ol.prototype.getClass=function(){return Ol},Rl.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return.001},Rl.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return.001},Rl.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},Rl.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Ol,Rl);var Tl=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};Tl.prototype.getOffsetCurve=function(t,e){if(this._distance=e,0===e)return null;var n=e<0,r=Math.abs(e),i=this.getSegGen(r);t.length<=1?this.computePointCurve(t[0],i):this.computeOffsetCurve(t,n,i);var o=i.getCoordinates();return n&&Cc.reverse(o),o},Tl.prototype.computeSingleSidedBufferCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);if(e){n.addSegments(t,!0);var i=Nl.simplify(t,-r),o=i.length-1;n.initSideSegments(i[o],i[o-1],Nh.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(i[s],!0)}else{n.addSegments(t,!1);var a=Nl.simplify(t,r),u=a.length-1;n.initSideSegments(a[0],a[1],Nh.LEFT),n.addFirstSegment();for(var c=2;c<=u;c++)n.addNextSegment(a[c],!0)}n.addLastSegment(),n.closeRing()},Tl.prototype.computeRingBufferCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);e===Nh.RIGHT&&(r=-r);var i=Nl.simplify(t,r),o=i.length-1;n.initSideSegments(i[o-1],i[0],e);for(var s=1;s<=o;s++){var a=1!==s;n.addNextSegment(i[s],a)}n.closeRing()},Tl.prototype.computeLineBufferCurve=function(t,e){var n=this.simplifyTolerance(this._distance),r=Nl.simplify(t,n),i=r.length-1;e.initSideSegments(r[0],r[1],Nh.LEFT);for(var o=2;o<=i;o++)e.addNextSegment(r[o],!0);e.addLastSegment(),e.addLineEndCap(r[i-1],r[i]);var s=Nl.simplify(t,-n),a=s.length-1;e.initSideSegments(s[a],s[a-1],Nh.LEFT);for(var u=a-2;u>=0;u--)e.addNextSegment(s[u],!0);e.addLastSegment(),e.addLineEndCap(s[1],s[0]),e.closeRing()},Tl.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case bl.CAP_ROUND:e.createCircle(t);break;case bl.CAP_SQUARE:e.createSquare(t)}},Tl.prototype.getLineCurve=function(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var n=Math.abs(e),r=this.getSegGen(n);if(t.length<=1)this.computePointCurve(t[0],r);else if(this._bufParams.isSingleSided()){var i=e<0;this.computeSingleSidedBufferCurve(t,i,r)}else this.computeLineBufferCurve(t,r);return r.getCoordinates()},Tl.prototype.getBufferParameters=function(){return this._bufParams},Tl.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},Tl.prototype.getRingCurve=function(t,e,n){if(this._distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return Tl.copyCoordinates(t);var r=this.getSegGen(n);return this.computeRingBufferCurve(t,e,r),r.getCoordinates()},Tl.prototype.computeOffsetCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);if(e){var i=Nl.simplify(t,-r),o=i.length-1;n.initSideSegments(i[o],i[o-1],Nh.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(i[s],!0)}else{var a=Nl.simplify(t,r),u=a.length-1;n.initSideSegments(a[0],a[1],Nh.LEFT),n.addFirstSegment();for(var c=2;c<=u;c++)n.addNextSegment(a[c],!0)}n.addLastSegment()},Tl.prototype.getSegGen=function(t){return new Ol(this._precisionModel,this._bufParams,t)},Tl.prototype.interfaces_=function(){return[]},Tl.prototype.getClass=function(){return Tl},Tl.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),n=0;ni.getMaxY()||this.findStabbedSegments(t,r.getDirectedEdges(),e)}return e}if(3===arguments.length)if(Lu(arguments[2],wc)&&arguments[0]instanceof bu&&arguments[1]instanceof jh){for(var o=arguments[0],s=arguments[1],a=arguments[2],u=s.getEdge().getCoordinates(),c=0;cthis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||sc.computeOrientation(this._seg.p0,this._seg.p1,o)===sc.RIGHT)){var h=s.getDepth(Nh.LEFT);this._seg.p0.equals(u[c])||(h=s.getDepth(Nh.RIGHT));var l=new Fl(this._seg,h);a.add(l)}}else if(Lu(arguments[2],wc)&&arguments[0]instanceof bu&&Lu(arguments[1],wc))for(var p=arguments[0],f=arguments[2],g=arguments[1].iterator();g.hasNext();){var d=g.next();d.isForward()&&this.findStabbedSegments(p,d,f)}},Al.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:$h.min(e)._leftDepth},Al.prototype.interfaces_=function(){return[]},Al.prototype.getClass=function(){return Al},Dl.DepthSegment.get=function(){return Fl},Object.defineProperties(Al,Dl);var Fl=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new gl(t),this._leftDepth=e};Fl.prototype.compareTo=function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==n||0!=(n=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?n:this._upwardSeg.compareTo(e._upwardSeg)},Fl.prototype.compareX=function(t,e){var n=t.p0.compareTo(e.p0);return 0!==n?n:t.p1.compareTo(e.p1)},Fl.prototype.toString=function(){return this._upwardSeg.toString()},Fl.prototype.interfaces_=function(){return[xu]},Fl.prototype.getClass=function(){return Fl};var ql=function(t,e,n){this.p0=t||null,this.p1=e||null,this.p2=n||null};ql.prototype.area=function(){return ql.area(this.p0,this.p1,this.p2)},ql.prototype.signedArea=function(){return ql.signedArea(this.p0,this.p1,this.p2)},ql.prototype.interpolateZ=function(t){if(null===t)throw new _u("Supplied point is null.");return ql.interpolateZ(t,this.p0,this.p1,this.p2)},ql.prototype.longestSideLength=function(){return ql.longestSideLength(this.p0,this.p1,this.p2)},ql.prototype.isAcute=function(){return ql.isAcute(this.p0,this.p1,this.p2)},ql.prototype.circumcentre=function(){return ql.circumcentre(this.p0,this.p1,this.p2)},ql.prototype.area3D=function(){return ql.area3D(this.p0,this.p1,this.p2)},ql.prototype.centroid=function(){return ql.centroid(this.p0,this.p1,this.p2)},ql.prototype.inCentre=function(){return ql.inCentre(this.p0,this.p1,this.p2)},ql.prototype.interfaces_=function(){return[]},ql.prototype.getClass=function(){return ql},ql.area=function(t,e,n){return Math.abs(((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2)},ql.signedArea=function(t,e,n){return((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2},ql.det=function(t,e,n,r){return t*r-e*n},ql.interpolateZ=function(t,e,n,r){var i=e.x,o=e.y,s=n.x-i,a=r.x-i,u=n.y-o,c=r.y-o,h=s*c-a*u,l=t.x-i,p=t.y-o,f=(c*l-a*p)/h,g=(-u*l+s*p)/h;return e.z+f*(n.z-e.z)+g*(r.z-e.z)},ql.longestSideLength=function(t,e,n){var r=t.distance(e),i=e.distance(n),o=n.distance(t),s=r;return i>s&&(s=i),o>s&&(s=o),s},ql.isAcute=function(t,e,n){return!!Ll.isAcute(t,e,n)&&!!Ll.isAcute(e,n,t)&&!!Ll.isAcute(n,t,e)},ql.circumcentre=function(t,e,n){var r=n.x,i=n.y,o=t.x-r,s=t.y-i,a=e.x-r,u=e.y-i,c=2*ql.det(o,s,a,u),h=ql.det(s,o*o+s*s,u,a*a+u*u),l=ql.det(o,o*o+s*s,a,a*a+u*u);return new bu(r-h/c,i+l/c)},ql.perpendicularBisector=function(t,e){var n=e.x-t.x,r=e.y-t.y,i=new Uu(t.x+n/2,t.y+r/2,1),o=new Uu(t.x-r+n/2,t.y+n+r/2,1);return new Uu(i,o)},ql.angleBisector=function(t,e,n){var r=e.distance(t),i=r/(r+e.distance(n)),o=n.x-t.x,s=n.y-t.y;return new bu(t.x+i*o,t.y+i*s)},ql.area3D=function(t,e,n){var r=e.x-t.x,i=e.y-t.y,o=e.z-t.z,s=n.x-t.x,a=n.y-t.y,u=n.z-t.z,c=i*u-o*a,h=o*s-r*u,l=r*a-i*s,p=c*c+h*h+l*l;return Math.sqrt(p)/2},ql.centroid=function(t,e,n){var r=(t.x+e.x+n.x)/3,i=(t.y+e.y+n.y)/3;return new bu(r,i)},ql.inCentre=function(t,e,n){var r=e.distance(n),i=t.distance(n),o=t.distance(e),s=r+i+o,a=(r*t.x+i*e.x+o*n.x)/s,u=(r*t.y+i*e.y+o*n.y)/s;return new bu(a,u)};var Gl=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new bc;var t=arguments[0],e=arguments[1],n=arguments[2];this._inputGeom=t,this._distance=e,this._curveBuilder=n};Gl.prototype.addPoint=function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),n=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(n,Su.EXTERIOR,Su.INTERIOR)},Gl.prototype.addPolygon=function(t){var e=this._distance,n=Nh.LEFT;this._distance<0&&(e=-this._distance,n=Nh.RIGHT);var r=t.getExteriorRing(),i=Cc.removeRepeatedPoints(r.getCoordinates());if(this._distance<0&&this.isErodedCompletely(r,this._distance))return null;if(this._distance<=0&&i.length<3)return null;this.addPolygonRing(i,e,n,Su.EXTERIOR,Su.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(s,-this._distance)||this.addPolygonRing(a,e,Nh.opposite(n),Su.INTERIOR,Su.EXTERIOR)}},Gl.prototype.isTriangleErodedCompletely=function(t,e){var n=new ql(t[0],t[1],t[2]),r=n.inCentre();return sc.distancePointLine(r,n.p0,n.p1)=eh.MINIMUM_VALID_SIZE&&sc.isCCW(t)&&(o=i,s=r,n=Nh.opposite(n));var a=this._curveBuilder.getRingCurve(t,n,e);this.addCurve(a,o,s)},Gl.prototype.add=function(t){if(t.isEmpty())return null;t instanceof $c?this.addPolygon(t):t instanceof Jc?this.addLineString(t):t instanceof Kc?this.addPoint(t):(t instanceof th||t instanceof Xc||t instanceof nh||t instanceof jc)&&this.addCollection(t)},Gl.prototype.isErodedCompletely=function(t,e){var n=t.getCoordinates();if(n.length<4)return e<0;if(4===n.length)return this.isTriangleErodedCompletely(n,e);var r=t.getEnvelopeInternal(),i=Math.min(r.getHeight(),r.getWidth());return e<0&&2*Math.abs(e)>i},Gl.prototype.addCollection=function(t){for(var e=0;e=this._max)throw new Pi;var t=this._parent.getGeometryN(this._index++);return t instanceof jc?(this._subcollectionIterator=new kl(t),this._subcollectionIterator.next()):t},kl.prototype.remove=function(){throw new Error(this.getClass().getName())},kl.prototype.hasNext=function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},kl.prototype.interfaces_=function(){return[Ec]},kl.prototype.getClass=function(){return kl},kl.isAtomic=function(t){return!(t instanceof jc)};var zl=function(){this._geom=null;var t=arguments[0];this._geom=t};zl.prototype.locate=function(t){return zl.locate(t,this._geom)},zl.prototype.interfaces_=function(){return[Bl]},zl.prototype.getClass=function(){return zl},zl.isPointInRing=function(t,e){return!!e.getEnvelopeInternal().intersects(t)&&sc.isPointInRing(t,e.getCoordinates())},zl.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var n=e.getExteriorRing();if(!zl.isPointInRing(t,n))return!1;for(var r=0;r=0;n--){var r=this._edgeList.get(n),i=r.getSym();null===e&&(e=i),null!==t&&i.setNext(t),t=r}e.setNext(t)},e.prototype.computeDepths=function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),n=t.getDepth(Nh.LEFT),r=t.getDepth(Nh.RIGHT),i=this.computeDepths(e+1,this._edgeList.size(),n);if(this.computeDepths(0,e,i)!==r)throw new Mh("depth mismatch at "+t.getCoordinate())}else if(3===arguments.length){for(var o=arguments[1],s=arguments[2],a=arguments[0];a=0;i--){var o=this._resultAreaEdgeList.get(i),s=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),r){case this._SCANNING_FOR_INCOMING:if(s.getEdgeRing()!==t)continue;n=s,r=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;n.setNextMin(o),r=this._SCANNING_FOR_INCOMING}}r===this._LINKING_TO_OUTGOING&&(tc.isTrue(null!==e,"found null for first outgoing dirEdge"),tc.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),n.setNextMin(e))},e.prototype.getOutgoingDegree=function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){for(var n=arguments[0],r=0,i=this.iterator();i.hasNext();)i.next().getEdgeRing()===n&&r++;return r}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var t=Su.NONE,e=this.iterator();e.hasNext();){var n=e.next(),r=n.getSym();if(!n.isLineEdge()){if(n.isInResult()){t=Su.INTERIOR;break}if(r.isInResult()){t=Su.EXTERIOR;break}}}if(t===Su.NONE)return null;for(var i=t,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getSym();s.isLineEdge()?s.getEdge().setCovered(i===Su.INTERIOR):(s.isInResult()&&(i=Su.EXTERIOR),a.isInResult()&&(i=Su.INTERIOR))}},e.prototype.computeLabelling=function(e){t.prototype.computeLabelling.call(this,e),this._label=new Rh(Su.NONE);for(var n=this.iterator();n.hasNext();)for(var r=n.next().getEdge().getLabel(),i=0;i<2;i++){var o=r.getLocation(i);o!==Su.INTERIOR&&o!==Su.BOUNDARY||this._label.setLocation(i,Su.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(jl),Ul=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createNode=function(t){return new qh(t,new Xl)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Xh),Yl=function t(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=t.orientation(e)};Yl.prototype.compareTo=function(t){var e=t;return Yl.compareOriented(this._pts,this._orientation,e._pts,e._orientation)},Yl.prototype.interfaces_=function(){return[xu]},Yl.prototype.getClass=function(){return Yl},Yl.orientation=function(t){return 1===Cc.increasingDirection(t)},Yl.compareOriented=function(t,e,n,r){for(var i=e?1:-1,o=r?1:-1,s=e?t.length:-1,a=r?n.length:-1,u=e?0:t.length-1,c=r?0:n.length-1;;){var h=t[u].compareTo(n[c]);if(0!==h)return h;var l=(u+=i)===s,p=(c+=o)===a;if(l&&!p)return-1;if(!l&&p)return 1;if(l&&p)return 0}};var Vl=function(){this._edges=new bc,this._ocaMap=new Gi};Vl.prototype.print=function(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var r=n.getCoordinates(),i=0;i0&&t.print(","),t.print(r[i].x+" "+r[i].y);t.println(")")}t.print(") ")},Vl.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())},Vl.prototype.findEdgeIndex=function(t){for(var e=0;e0||!e.coord.equals2D(r);i||n--;var o=new Array(n).fill(null),s=0;o[s++]=new bu(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this.edge.pts[a];return i&&(o[s]=e.coord),new ep(o,new Rh(this.edge._label))},Zl.prototype.add=function(t,e,n){var r=new Jl(t,e,n),i=this._nodeMap.get(r);return null!==i?i:(this._nodeMap.put(r,r),r)},Zl.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1},Zl.prototype.interfaces_=function(){return[]},Zl.prototype.getClass=function(){return Zl};var Kl=function(){};Kl.prototype.getChainStartIndices=function(t){var e=0,n=new bc;n.add(new Tu(e));do{var r=this.findChainEnd(t,e);n.add(new Tu(r)),e=r}while(en?e:n},Ql.prototype.getMinX=function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return ee&&(r=1),this._depth[t][n]=r}}},$l.prototype.getDelta=function(t){return this._depth[t][Nh.RIGHT]-this._depth[t][Nh.LEFT]},$l.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?Su.EXTERIOR:Su.INTERIOR},$l.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},$l.prototype.add=function(){if(1===arguments.length)for(var t=arguments[0],e=0;e<2;e++)for(var n=1;n<3;n++){var r=t.getLocation(e,n);r!==Su.EXTERIOR&&r!==Su.INTERIOR||(this.isNull(e,n)?this._depth[e][n]=$l.depthAtLocation(r):this._depth[e][n]+=$l.depthAtLocation(r))}else if(3===arguments.length){var i=arguments[0],o=arguments[1];arguments[2]===Su.INTERIOR&&this._depth[i][o]++}},$l.prototype.interfaces_=function(){return[]},$l.prototype.getClass=function(){return $l},$l.depthAtLocation=function(t){return t===Su.EXTERIOR?0:t===Su.INTERIOR?1:$l.NULL_VALUE},tp.NULL_VALUE.get=function(){return-1},Object.defineProperties($l,tp);var ep=function(t){function e(){if(t.call(this),this.pts=null,this._env=null,this.eiList=new Zl(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new $l,this._depthDelta=0,1===arguments.length){var n=arguments[0];e.call(this,n,null)}else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new e(t,Rh.toLineLabel(this._label))},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(t){this._isIsolated=t},e.prototype.setName=function(t){this._name=t},e.prototype.equals=function(t){if(!(t instanceof e))return!1;var n=t;if(this.pts.length!==n.pts.length)return!1;for(var r=!0,i=!0,o=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}},e.prototype.print=function(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)},e.prototype.computeIM=function(t){e.updateIM(this._label,t)},e.prototype.isCollapsed=function(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")},e.prototype.getMonotoneChainEdge=function(){return null===this._mce&&(this._mce=new Ql(this)),this._mce},e.prototype.getEnvelope=function(){if(null===this._env){this._env=new Yu;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()},e.prototype.isPointwiseEqual=function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;er||this._maxyo;if(s)return!1;var a=this.intersectsToleranceSquare(t,e);return tc.isTrue(!(s&&a),"Found bad envelope test"),a},sp.prototype.initCorners=function(t){this._minx=t.x-.5,this._maxx=t.x+.5,this._miny=t.y-.5,this._maxy=t.y+.5,this._corner[0]=new bu(this._maxx,this._maxy),this._corner[1]=new bu(this._minx,this._maxy),this._corner[2]=new bu(this._minx,this._miny),this._corner[3]=new bu(this._maxx,this._miny)},sp.prototype.intersects=function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},sp.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},sp.prototype.getCoordinate=function(){return this._originalPt},sp.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},sp.prototype.getSafeEnvelope=function(){if(null===this._safeEnv){var t=sp.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new Yu(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},sp.prototype.intersectsPixelClosure=function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},sp.prototype.intersectsToleranceSquare=function(t,e){var n=!1,r=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.isProper()||!(!n||!r)||!!t.equals(this._pt)||!!e.equals(this._pt))))},sp.prototype.addSnappedNode=function(t,e){var n=t.getCoordinate(e),r=t.getCoordinate(e+1);return!!this.intersects(n,r)&&(t.addIntersection(this.getCoordinate(),e),!0)},sp.prototype.interfaces_=function(){return[]},sp.prototype.getClass=function(){return sp},ap.SAFE_ENV_EXPANSION_FACTOR.get=function(){return.75},Object.defineProperties(sp,ap);var up=function(){this.tempEnv1=new Yu,this.selectedSegment=new gl};up.prototype.select=function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}},up.prototype.interfaces_=function(){return[]},up.prototype.getClass=function(){return up};var cp=function(){this._index=null;var t=arguments[0];this._index=t},hp={HotPixelSnapAction:{configurable:!0}};cp.prototype.snap=function(){if(1===arguments.length){var t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2],i=e.getSafeEnvelope(),o=new lp(e,n,r);return this._index.query(i,{interfaces_:function(){return[Jh]},visitItem:function(t){t.select(i,o)}}),o.isNodeAdded()}},cp.prototype.interfaces_=function(){return[]},cp.prototype.getClass=function(){return cp},hp.HotPixelSnapAction.get=function(){return lp},Object.defineProperties(cp,hp);var lp=function(t){function e(){t.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var e=arguments[0],n=arguments[1],r=arguments[2];this._hotPixel=e,this._parentEdge=n,this._hotPixelVertexIndex=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(2!==arguments.length)return t.prototype.select.apply(this,arguments);var e=arguments[1],n=arguments[0].getContext();if(null!==this._parentEdge&&n===this._parentEdge&&e===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(n,e)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(up),pp=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new bc};pp.prototype.processIntersections=function(t,e,n,r){if(t===n&&e===r)return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];if(this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var u=0;u=0;e--){try{t.bufferReducedPrecision(e)}catch(e){if(!(e instanceof Mh))throw e;t._saveException=e}if(null!==t._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var n=arguments[0],r=gp.precisionScaleFactor(this._argGeom,this._distance,n),i=new fh(r);this.bufferFixedPrecision(i)}},gp.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===fh.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},gp.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},gp.prototype.bufferOriginalPrecision=function(){try{var t=new np(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof Qu))throw t;this._saveException=t}},gp.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},gp.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},gp.prototype.interfaces_=function(){return[]},gp.prototype.getClass=function(){return gp},gp.bufferOp=function(){if(2===arguments.length){var t=arguments[1];return new gp(arguments[0]).getResultGeometry(t)}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof cc&&"number"==typeof arguments[1]){var e=arguments[1],n=arguments[2],r=new gp(arguments[0]);return r.setQuadrantSegments(n),r.getResultGeometry(e)}if(arguments[2]instanceof bl&&arguments[0]instanceof cc&&"number"==typeof arguments[1]){var i=arguments[1];return new gp(arguments[0],arguments[2]).getResultGeometry(i)}}else if(4===arguments.length){var o=arguments[1],s=arguments[2],a=arguments[3],u=new gp(arguments[0]);return u.setQuadrantSegments(s),u.setEndCapStyle(a),u.getResultGeometry(o)}},gp.precisionScaleFactor=function(t,e,n){var r=t.getEnvelopeInternal(),i=Pu.max(Math.abs(r.getMaxX()),Math.abs(r.getMaxY()),Math.abs(r.getMinX()),Math.abs(r.getMinY()))+2*(e>0?e:0),o=n-Math.trunc(Math.log(i)/Math.log(10)+1);return Math.pow(10,o)},dp.CAP_ROUND.get=function(){return bl.CAP_ROUND},dp.CAP_BUTT.get=function(){return bl.CAP_FLAT},dp.CAP_FLAT.get=function(){return bl.CAP_FLAT},dp.CAP_SQUARE.get=function(){return bl.CAP_SQUARE},dp.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(gp,dp);var yp=function(){this._pt=[new bu,new bu],this._distance=mu.NaN,this._isNull=!0};yp.prototype.getCoordinates=function(){return this._pt},yp.prototype.getCoordinate=function(t){return this._pt[t]},yp.prototype.setMinimum=function(){if(1===arguments.length){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var r=e.distance(n);rthis._distance&&this.initialize(e,n,r)}},yp.prototype.interfaces_=function(){return[]},yp.prototype.getClass=function(){return yp};var _p=function(){};_p.prototype.interfaces_=function(){return[]},_p.prototype.getClass=function(){return _p},_p.computeDistance=function(){if(arguments[2]instanceof yp&&arguments[0]instanceof Jc&&arguments[1]instanceof bu)for(var t=arguments[1],e=arguments[2],n=arguments[0].getCoordinates(),r=new gl,i=0;i0||this._isIn?Su.INTERIOR:Su.EXTERIOR)},Ip.prototype.interfaces_=function(){return[]},Ip.prototype.getClass=function(){return Ip};var Np=function t(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length)t.call(this,arguments[0],t.INSIDE_AREA,arguments[1]);else if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2];this._component=e,this._segIndex=n,this._pt=r}},Cp={INSIDE_AREA:{configurable:!0}};Np.prototype.isInsideArea=function(){return this._segIndex===Np.INSIDE_AREA},Np.prototype.getCoordinate=function(){return this._pt},Np.prototype.getGeometryComponent=function(){return this._component},Np.prototype.getSegmentIndex=function(){return this._segIndex},Np.prototype.interfaces_=function(){return[]},Np.prototype.getClass=function(){return Np},Cp.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Np,Cp);var Sp=function(t){this._pts=t||null};Sp.prototype.filter=function(t){t instanceof Kc&&this._pts.add(t)},Sp.prototype.interfaces_=function(){return[kc]},Sp.prototype.getClass=function(){return Sp},Sp.getPoints=function(){if(1===arguments.length){var t=arguments[0];return t instanceof Kc?$h.singletonList(t):Sp.getPoints(t,new bc)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof Kc?n.add(e):e instanceof jc&&e.apply(new Sp(n)),n}};var Mp=function(){this._locations=null;var t=arguments[0];this._locations=t};Mp.prototype.filter=function(t){(t instanceof Kc||t instanceof Jc||t instanceof $c)&&this._locations.add(new Np(t,0,t.getCoordinate()))},Mp.prototype.interfaces_=function(){return[kc]},Mp.prototype.getClass=function(){return Mp},Mp.getLocations=function(t){var e=new bc;return t.apply(new Mp(e)),e};var Lp=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Ip,this._minDistanceLocation=null,this._minDistance=mu.MAX_VALUE,2===arguments.length){var t=arguments[0],e=arguments[1];this._geom=[t,e],this._terminateDistance=0}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=n,this._geom[1]=r,this._terminateDistance=i}};Lp.prototype.computeContainmentDistance=function(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=1-e,i=wp.getPolygons(this._geom[e]);if(i.size()>0){var o=Mp.getLocations(this._geom[r]);if(this.computeContainmentDistance(o,i,n),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[r]=n[0],this._minDistanceLocation[e]=n[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&Lu(arguments[0],wc)&&Lu(arguments[1],wc)){for(var s=arguments[0],a=arguments[1],u=arguments[2],c=0;cthis._minDistance)return null;for(var r=t.getCoordinates(),i=e.getCoordinate(),o=0;othis._minDistance)return null;for(var l=u.getCoordinates(),p=c.getCoordinates(),f=0;fthis._distance&&this.initialize(e,n,r)}},Pp.prototype.interfaces_=function(){return[]},Pp.prototype.getClass=function(){return Pp};var Op=function(){};Op.prototype.interfaces_=function(){return[]},Op.prototype.getClass=function(){return Op},Op.computeDistance=function(){if(arguments[2]instanceof Pp&&arguments[0]instanceof Jc&&arguments[1]instanceof bu)for(var t=arguments[0],e=arguments[1],n=arguments[2],r=new gl,i=t.getCoordinates(),o=0;o1||t<=0)throw new _u("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t},Rp.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},Rp.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Rp.prototype.computeOrientedDistance=function(t,e,n){var r=new Ap(e);if(t.apply(r),n.setMaximum(r.getMaxPointDistance()),this._densifyFrac>0){var i=new Dp(e,this._densifyFrac);t.apply(i),n.setMaximum(i.getMaxPointDistance())}},Rp.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Rp.prototype.interfaces_=function(){return[]},Rp.prototype.getClass=function(){return Rp},Rp.distance=function(){if(2===arguments.length)return new Rp(arguments[0],arguments[1]).distance();if(3===arguments.length){var t=arguments[2],e=new Rp(arguments[0],arguments[1]);return e.setDensifyFraction(t),e.distance()}},Tp.MaxPointDistanceFilter.get=function(){return Ap},Tp.MaxDensifiedByFractionDistanceFilter.get=function(){return Dp},Object.defineProperties(Rp,Tp);var Ap=function(){this._maxPtDist=new Pp,this._minPtDist=new Pp,this._euclideanDist=new Op,this._geom=null;var t=arguments[0];this._geom=t};Ap.prototype.filter=function(t){this._minPtDist.initialize(),Op.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ap.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ap.prototype.interfaces_=function(){return[pc]},Ap.prototype.getClass=function(){return Ap};var Dp=function(){this._maxPtDist=new Pp,this._minPtDist=new Pp,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};Dp.prototype.filter=function(t,e){if(0===e)return null;for(var n=t.getCoordinate(e-1),r=t.getCoordinate(e),i=(r.x-n.x)/this._numSubSegs,o=(r.y-n.y)/this._numSubSegs,s=0;sn){this._isValid=!1;var i=r.getCoordinates();this._errorLocation=i[1],this._errorIndicator=t.getFactory().createLineString(i),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Ku.toLineString(i[0],i[1])+")"}},Fp.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Fp.MAX_DISTANCE_DIFF_FRAC*t;return this._minValidDistance=t-e,this._maxValidDistance=t+e,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Fp.VERBOSE&&Xu.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Fp.prototype.checkNegativeValid=function(){if(!(this._input instanceof $c||this._input instanceof nh||this._input instanceof jc))return null;var t=this.getPolygonLines(this._input);if(this.checkMinimumDistance(t,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(t,this._result,this._maxValidDistance)},Fp.prototype.getErrorIndicator=function(){return this._errorIndicator},Fp.prototype.checkMinimumDistance=function(t,e,n){var r=new Lp(t,e,n);if(this._minDistanceFound=r.distance(),this._minDistanceFound0&&t>e&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&t=2||this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),void this.report("ExpectedEmpty"))},Gp.prototype.report=function(t){if(!Gp.VERBOSE)return null;Xu.out.println("Check "+t+": "+(this._isValid?"passed":"FAILED"))},Gp.prototype.getErrorMessage=function(){return this._errorMsg},Gp.prototype.interfaces_=function(){return[]},Gp.prototype.getClass=function(){return Gp},Gp.isValidMsg=function(t,e,n){var r=new Gp(t,e,n);return r.isValid()?null:r.getErrorMessage()},Gp.isValid=function(t,e,n){return!!new Gp(t,e,n).isValid()},Bp.VERBOSE.get=function(){return!1},Bp.MAX_ENV_DIFF_FRAC.get=function(){return.012},Object.defineProperties(Gp,Bp);var kp=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};kp.prototype.getCoordinates=function(){return this._pts},kp.prototype.size=function(){return this._pts.length},kp.prototype.getCoordinate=function(t){return this._pts[t]},kp.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},kp.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:hl.octant(this.getCoordinate(t),this.getCoordinate(t+1))},kp.prototype.setData=function(t){this._data=t},kp.prototype.getData=function(){return this._data},kp.prototype.toString=function(){return Ku.toLineString(new uh(this._pts))},kp.prototype.interfaces_=function(){return[ll]},kp.prototype.getClass=function(){return kp};var zp=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new bc,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};zp.prototype.getInteriorIntersection=function(){return this._interiorIntersection},zp.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},zp.prototype.getIntersectionSegments=function(){return this._intSegments},zp.prototype.count=function(){return this._intersectionCount},zp.prototype.getIntersections=function(){return this._intersections},zp.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},zp.prototype.setKeepIntersections=function(t){this._keepIntersections=t},zp.prototype.processIntersections=function(t,e,n,r){if(!this._findAllIntersections&&this.hasIntersection())return null;if(t===n&&e===r)return null;if(this._isCheckEndSegmentsOnly&&!this.isEndSegment(t,e)&&!this.isEndSegment(n,r))return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=i,this._intSegments[1]=o,this._intSegments[2]=s,this._intSegments[3]=a,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},zp.prototype.isEndSegment=function(t,e){return 0===e||e>=t.size()-2},zp.prototype.hasIntersection=function(){return null!==this._interiorIntersection},zp.prototype.isDone=function(){return!this._findAllIntersections&&null!==this._interiorIntersection},zp.prototype.interfaces_=function(){return[Hl]},zp.prototype.getClass=function(){return zp},zp.createAllIntersectionsFinder=function(t){var e=new zp(t);return e.setFindAllIntersections(!0),e},zp.createAnyIntersectionFinder=function(t){return new zp(t)},zp.createIntersectionCounter=function(t){var e=new zp(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var jp=function(){this._li=new rc,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};jp.prototype.execute=function(){if(null!==this._segInt)return null;this.checkInteriorIntersections()},jp.prototype.getIntersections=function(){return this._segInt.getIntersections()},jp.prototype.isValid=function(){return this.execute(),this._isValid},jp.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},jp.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new zp(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new El;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},jp.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Mh(this.getErrorMessage(),this._segInt.getInteriorIntersection())},jp.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Ku.toLineString(t[0],t[1])+" and "+Ku.toLineString(t[2],t[3])},jp.prototype.interfaces_=function(){return[]},jp.prototype.getClass=function(){return jp},jp.computeIntersections=function(t){var e=new jp(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Xp=function t(){this._nv=null;var e=arguments[0];this._nv=new jp(t.toSegmentStrings(e))};Xp.prototype.checkValid=function(){this._nv.checkValid()},Xp.prototype.interfaces_=function(){return[]},Xp.prototype.getClass=function(){return Xp},Xp.toSegmentStrings=function(t){for(var e=new bc,n=t.iterator();n.hasNext();){var r=n.next();e.add(new kp(r.getCoordinates(),r))}return e},Xp.checkValid=function(t){new Xp(t).checkValid()};var Up=function(t){this._mapOp=t};Up.prototype.map=function(t){for(var e=new bc,n=0;n0&&r<4&&!this._preserveType?this._factory.createLineString(n):this._factory.createLinearRing(n)},Hp.prototype.interfaces_=function(){return[]},Hp.prototype.getClass=function(){return Hp};var Wp=function t(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new gl,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Jc&&"number"==typeof arguments[1]){var e=arguments[1];t.call(this,arguments[0].getCoordinates(),e)}else if(arguments[0]instanceof Array&&"number"==typeof arguments[1]){var n=arguments[0],r=arguments[1];this._srcPts=n,this._isClosed=t.isClosed(n),this._snapTolerance=r}};Wp.prototype.snapVertices=function(t,e){for(var n=this._isClosed?t.size()-1:t.size(),r=0;r=0&&t.add(o+1,new bu(i),!1)}},Wp.prototype.findSegmentIndexToSnap=function(t,e){for(var n=mu.MAX_VALUE,r=-1,i=0;ie&&(e=r)}return e}if(2===arguments.length){var i=arguments[0],o=arguments[1];return Math.min(Jp.computeOverlaySnapTolerance(i),Jp.computeOverlaySnapTolerance(o))}},Jp.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*Jp.SNAP_PRECISION_FACTOR},Jp.snapToSelf=function(t,e,n){return new Jp(t).snapToSelf(e,n)},Zp.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Jp,Zp);var Kp=function(t){function e(e,n,r){t.call(this),this._snapTolerance=e||null,this._snapPts=n||null,this._isSelfSnap=void 0!==r&&r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(t,e){var n=new Wp(t,this._snapTolerance);return n.setAllowSnappingToSourceVertices(this._isSelfSnap),n.snapTo(e)},e.prototype.transformCoordinates=function(t,e){var n=t.toCoordinateArray(),r=this.snapLine(n,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(r)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Hp),Qp=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};Qp.prototype.getCommon=function(){return mu.longBitsToDouble(this._commonBits)},Qp.prototype.add=function(t){var e=mu.doubleToLongBits(t);return this._isFirst?(this._commonBits=e,this._commonSignExp=Qp.signExpBits(this._commonBits),this._isFirst=!1,null):Qp.signExpBits(e)!==this._commonSignExp?(this._commonBits=0,null):(this._commonMantissaBitsCount=Qp.numCommonMostSigMantissaBits(this._commonBits,e),void(this._commonBits=Qp.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))))},Qp.prototype.toString=function(){if(1===arguments.length){var t=arguments[0],e=mu.longBitsToDouble(t),n="0000000000000000000000000000000000000000000000000000000000000000"+mu.toBinaryString(t),r=n.substring(n.length-64);return r.substring(0,1)+" "+r.substring(1,12)+"(exp) "+r.substring(12)+" [ "+e+" ]"}},Qp.prototype.interfaces_=function(){return[]},Qp.prototype.getClass=function(){return Qp},Qp.getBit=function(t,e){return 0!=(t&1<>52},Qp.zeroLowerBits=function(t,e){return t&~((1<=0;r--){if(Qp.getBit(t,r)!==Qp.getBit(e,r))return n;n++}return 52};var $p=function(){this._commonCoord=null,this._ccFilter=new ef},tf={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};$p.prototype.addCommonBits=function(t){var e=new nf(this._commonCoord);t.apply(e),t.geometryChanged()},$p.prototype.removeCommonBits=function(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new bu(this._commonCoord);e.x=-e.x,e.y=-e.y;var n=new nf(e);return t.apply(n),t.geometryChanged(),t},$p.prototype.getCommonCoordinate=function(){return this._commonCoord},$p.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},$p.prototype.interfaces_=function(){return[]},$p.prototype.getClass=function(){return $p},tf.CommonCoordinateFilter.get=function(){return ef},tf.Translater.get=function(){return nf},Object.defineProperties($p,tf);var ef=function(){this._commonBitsX=new Qp,this._commonBitsY=new Qp};ef.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},ef.prototype.getCommonCoordinate=function(){return new bu(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},ef.prototype.interfaces_=function(){return[pc]},ef.prototype.getClass=function(){return ef};var nf=function(){this.trans=null;var t=arguments[0];this.trans=t};nf.prototype.filter=function(t,e){var n=t.getOrdinate(e,0)+this.trans.x,r=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,n),t.setOrdinate(e,1,r)},nf.prototype.isDone=function(){return!1},nf.prototype.isGeometryChanged=function(){return!0},nf.prototype.interfaces_=function(){return[zc]},nf.prototype.getClass=function(){return nf};var rf=function(t,e){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};rf.prototype.selfSnap=function(t){return new Jp(t).snapTo(t,this._snapTolerance)},rf.prototype.removeCommonBits=function(t){this._cbr=new $p,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e},rf.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},rf.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),n=Cf.overlayOp(e[0],e[1],t);return this.prepareResult(n)},rf.prototype.checkValid=function(t){t.isValid()||Xu.out.println("Snapped geometry is invalid")},rf.prototype.computeSnapTolerance=function(){this._snapTolerance=Jp.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},rf.prototype.snap=function(t){var e=this.removeCommonBits(t);return Jp.snap(e[0],e[1],this._snapTolerance)},rf.prototype.interfaces_=function(){return[]},rf.prototype.getClass=function(){return rf},rf.overlayOp=function(t,e,n){return new rf(t,e).getResultGeometry(n)},rf.union=function(t,e){return rf.overlayOp(t,e,Cf.UNION)},rf.intersection=function(t,e){return rf.overlayOp(t,e,Cf.INTERSECTION)},rf.symDifference=function(t,e){return rf.overlayOp(t,e,Cf.SYMDIFFERENCE)},rf.difference=function(t,e){return rf.overlayOp(t,e,Cf.DIFFERENCE)};var of=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};of.prototype.getResultGeometry=function(t){var e=null,n=!1,r=null;try{e=Cf.overlayOp(this._geom[0],this._geom[1],t),n=!0}catch(t){if(!(t instanceof Qu))throw t;r=t}if(!n)try{e=rf.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof Qu?r:t}return e},of.prototype.interfaces_=function(){return[]},of.prototype.getClass=function(){return of},of.overlayOp=function(t,e,n){return new of(t,e).getResultGeometry(n)},of.union=function(t,e){return of.overlayOp(t,e,Cf.UNION)},of.intersection=function(t,e){return of.overlayOp(t,e,Cf.INTERSECTION)},of.symDifference=function(t,e){return of.overlayOp(t,e,Cf.SYMDIFFERENCE)},of.difference=function(t,e){return of.overlayOp(t,e,Cf.DIFFERENCE)};var sf=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};sf.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},sf.prototype.interfaces_=function(){return[]},sf.prototype.getClass=function(){return sf};var af=function t(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){var e=arguments[0],n=arguments[1];this._eventType=t.DELETE,this._xValue=e,this._insertEvent=n}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._eventType=t.INSERT,this._label=r,this._xValue=i,this._obj=o}},uf={INSERT:{configurable:!0},DELETE:{configurable:!0}};af.prototype.isDelete=function(){return this._eventType===af.DELETE},af.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},af.prototype.getObject=function(){return this._obj},af.prototype.compareTo=function(t){var e=t;return this._xValuee._xValue?1:this._eventTypee._eventType?1:0},af.prototype.getInsertEvent=function(){return this._insertEvent},af.prototype.isInsert=function(){return this._eventType===af.INSERT},af.prototype.isSameLabel=function(t){return null!==this._label&&this._label===t._label},af.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},af.prototype.interfaces_=function(){return[xu]},af.prototype.getClass=function(){return af},uf.INSERT.get=function(){return 1},uf.DELETE.get=function(){return 2},Object.defineProperties(af,uf);var cf=function(){};cf.prototype.interfaces_=function(){return[]},cf.prototype.getClass=function(){return cf};var hf=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=n};hf.prototype.isTrivialIntersection=function(t,e,n,r){if(t===n&&1===this._li.getIntersectionNum()){if(hf.isAdjacentSegments(e,r))return!0;if(t.isClosed()){var i=t.getNumPoints()-1;if(0===e&&r===i||0===r&&e===i)return!0}}return!1},hf.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},hf.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},hf.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},hf.prototype.isBoundaryPointInternal=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next().getCoordinate();if(t.isIntersection(r))return!0}return!1},hf.prototype.hasProperIntersection=function(){return this._hasProper},hf.prototype.hasIntersection=function(){return this._hasIntersection},hf.prototype.isDone=function(){return this._isDone},hf.prototype.isBoundaryPoint=function(t,e){return null!==e&&(!!this.isBoundaryPointInternal(t,e[0])||!!this.isBoundaryPointInternal(t,e[1]))},hf.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},hf.prototype.addIntersections=function(t,e,n,r){if(t===n&&e===r)return null;this.numTests++;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),n.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,n,r)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),n.addIntersections(this._li,r,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},hf.prototype.interfaces_=function(){return[]},hf.prototype.getClass=function(){return hf},hf.isAdjacentSegments=function(t,e){return 1===Math.abs(t-e)};var lf=function(t){function e(){t.call(this),this.events=new bc,this.nOverlaps=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){$h.sort(this.events);for(var t=0;te||this._maxo?1:0},gf.prototype.interfaces_=function(){return[wu]},gf.prototype.getClass=function(){return gf};var df=function(t){function e(){t.call(this),this._item=null;var e=arguments[0],n=arguments[1],r=arguments[2];this._min=e,this._max=n,this._item=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;n.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pf),yf=function(t){function e(){t.call(this),this._node1=null,this._node2=null;var e=arguments[0],n=arguments[1];this._node1=e,this._node2=n,this.buildExtent(this._node1,this._node2)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)},e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,n),null!==this._node2&&this._node2.query(t,e,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pf),_f=function(){this._leaves=new bc,this._root=null,this._level=0};_f.prototype.buildTree=function(){$h.sort(this._leaves,new pf.NodeComparator);for(var t=this._leaves,e=null,n=new bc;;){if(this.buildLevel(t,n),1===n.size())return n.get(0);e=t,t=n,n=e}},_f.prototype.insert=function(t,e,n){if(null!==this._root)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new df(t,e,n))},_f.prototype.query=function(t,e,n){this.init(),this._root.query(t,e,n)},_f.prototype.buildRoot=function(){if(null!==this._root)return null;this._root=this.buildTree()},_f.prototype.printNode=function(t){Xu.out.println(Ku.toLineString(new bu(t._min,this._level),new bu(t._max,this._level)))},_f.prototype.init=function(){if(null!==this._root)return null;this.buildRoot()},_f.prototype.buildLevel=function(t,e){this._level++,e.clear();for(var n=0;n=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),n=0,r=t.iterator();r.hasNext();){var i=r.next();e[n++]=i.getCoordinate().copy()}return e},e.prototype.getBoundaryNodes=function(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(t,e,n){if(this.isBoundaryNode(t,e))return null;n===Su.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,n)},e.prototype.addPolygonRing=function(t,e,n){if(t.isEmpty())return null;var r=Cc.removeRepeatedPoints(t.getCoordinates());if(r.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=r[0],null;var i=e,o=n;sc.isCCW(r)&&(i=n,o=e);var s=new ep(r,new Rh(this._argIndex,Su.BOUNDARY,i,o));this._lineEdgeMap.put(t,s),this.insertEdge(s),this.insertPoint(this._argIndex,r[0],Su.BOUNDARY)},e.prototype.insertPoint=function(t,e,n){var r=this._nodes.addNode(e),i=r.getLabel();null===i?r._label=new Rh(t,n):i.setLocation(t,n)},e.prototype.createEdgeSetIntersector=function(){return new lf},e.prototype.addSelfIntersectionNodes=function(t){for(var e=this._edges.iterator();e.hasNext();)for(var n=e.next(),r=n.getLabel().getLocation(t),i=n.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,r)}},e.prototype.add=function(){if(1!==arguments.length)return t.prototype.add.apply(this,arguments);var e=arguments[0];if(e.isEmpty())return null;if(e instanceof nh&&(this._useBoundaryDeterminationRule=!1),e instanceof $c)this.addPolygon(e);else if(e instanceof Jc)this.addLineString(e);else if(e instanceof Kc)this.addPoint(e);else if(e instanceof th)this.addCollection(e);else if(e instanceof Xc)this.addCollection(e);else if(e instanceof nh)this.addCollection(e);else{if(!(e instanceof jc))throw new Error(e.getClass().getName());this.addCollection(e)}},e.prototype.addCollection=function(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new vf(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)},e.prototype.findEdge=function(){if(1===arguments.length){var e=arguments[0];return this._lineEdgeMap.get(e)}return t.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(t,e){return t.isInBoundary(e)?Su.BOUNDARY:Su.INTERIOR},e}(Uh),If=function(){if(this._li=new rc,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){var t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new bf(0,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=fc.OGC_SFS_BOUNDARY_RULE;e.getPrecisionModel().compareTo(n.getPrecisionModel())>=0?this.setComputationPrecision(e.getPrecisionModel()):this.setComputationPrecision(n.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new bf(0,e,r),this._arg[1]=new bf(1,n,r)}else if(3===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2];i.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(i.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new bf(0,i,s),this._arg[1]=new bf(1,o,s)}};If.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},If.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},If.prototype.interfaces_=function(){return[]},If.prototype.getClass=function(){return If};var Nf=function(){};Nf.prototype.interfaces_=function(){return[]},Nf.prototype.getClass=function(){return Nf},Nf.map=function(){if(arguments[0]instanceof cc&&Lu(arguments[1],Nf.MapOp)){for(var t=arguments[0],e=arguments[1],n=new bc,r=0;r=t.size()?null:t.get(e)},Tf.union=function(t){return new Tf(t).union()},Af.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Tf,Af);var Df=function(){};Df.prototype.interfaces_=function(){return[]},Df.prototype.getClass=function(){return Df},Df.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return Cf.createEmptyResult(Cf.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),of.overlayOp(t,e,Cf.UNION)};var Ff=function(){return new Yi};Yi.prototype={constructor:Yi,reset:function(){this.s=this.t=0},add:function(t){Vi(qf,t,this.t),Vi(this,qf.s,this.s),this.s?this.t+=qf.t:this.s=qf.t},valueOf:function(){return this.s}};var qf=new Yi,Gf=1e-6,Bf=Math.PI,kf=Bf/2,zf=Bf/4,jf=2*Bf,Xf=180/Bf,Uf=Bf/180,Yf=Math.abs,Vf=Math.atan,Hf=Math.atan2,Wf=Math.cos,Jf=Math.exp,Zf=Math.log,Kf=Math.sin,Qf=Math.sqrt,$f=Math.tan,tg={Feature:function(t,e){Ji(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r2?t[2]*Uf:0),e.invert=function(e){return(e=t.invert(e[0]*Uf,e[1]*Uf))[0]*=Xf,e[1]*=Xf,e},e},og=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Wi,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},sg=function(t,e,n,r,i,o){var s,a=t[0],u=t[1],c=0,h=1,l=e[0]-a,p=e[1]-u;if(s=n-a,l||!(s>0)){if(s/=l,l<0){if(s0){if(s>h)return;s>c&&(c=s)}if(s=i-a,l||!(s<0)){if(s/=l,l<0){if(s>h)return;s>c&&(c=s)}else if(l>0){if(s0)){if(s/=p,p<0){if(s0){if(s>h)return;s>c&&(c=s)}if(s=o-u,p||!(s<0)){if(s/=p,p<0){if(s>h)return;s>c&&(c=s)}else if(p>0){if(s0&&(t[0]=a+c*l,t[1]=u+c*p),h<1&&(e[0]=a+h*l,e[1]=u+h*p),!0}}}}},ag=function(t,e){return Yf(t[0]-e[0])=0;--o)i.point((h=c[o])[0],h[1]);else r(p.x,p.p.x,-1,i);p=p.p}c=(p=p.o).z,f=!f}while(!p.v);i.lineEnd()}}},cg=function(t,e){return te?1:t>=e?0:NaN},hg=(function(t){1===t.length&&(t=function(t){return function(e,n){return cg(t(e),n)}}(t))}(cg),function(t){for(var e,n,r,i=t.length,o=-1,s=0;++o=0;)for(e=(r=t[i]).length;--e>=0;)n[--s]=r[e];return n}),lg=1e9,pg=-lg,fg=Ff(),gg=(Ff(),function(t){return t}),dg=(Ff(),Ff(),1/0),yg=dg,_g=-dg,mg=_g,vg={point:function(t,e){t_g&&(_g=t),emg&&(mg=e)},lineStart:Wi,lineEnd:Wi,polygonStart:Wi,polygonEnd:Wi,result:function(){var t=[[dg,yg],[_g,mg]];return _g=mg=-(yg=dg=1/0),t}},xg=(Ff(),function(t,e,n,r){return function(i,o){function s(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&o.point(e,n)}function a(t,e){var n=i(t,e);y.point(n[0],n[1])}function u(){E.point=a,y.lineStart()}function c(){E.point=s,y.lineEnd()}function h(t,e){d.push([t,e]);var n=i(t,e);v.point(n[0],n[1])}function l(){v.lineStart(),d=[]}function p(){h(d[0][0],d[0][1]),v.lineEnd();var t,e,n,r,i=v.clean(),s=m.result(),a=s.length;if(d.pop(),f.push(d),d=null,a)if(1&i){if((e=(n=s[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart(),t=0;t1&&2&i&&s.push(s.pop().concat(s.shift())),g.push(s.filter(go))}var f,g,d,y=e(o),_=i.invert(r[0],r[1]),m=og(),v=e(m),x=!1,E={point:s,lineStart:u,lineEnd:c,polygonStart:function(){E.point=h,E.lineStart=l,E.lineEnd=p,g=[],f=[]},polygonEnd:function(){E.point=s,E.lineStart=u,E.lineEnd=c,g=hg(g);var t=function(t,e){var n=e[0],r=e[1],i=[Kf(n),-Wf(n),0],o=0,s=0;fg.reset();for(var a=0,u=t.length;a=0?1:-1,I=b*w,N=I>Bf,C=g*x;if(fg.add(Hf(C*b*Kf(I),d*E+C*Wf(I))),o+=N?w+b*jf:w,N^p>=n^m>=n){var S=eo($i(l),$i(_));io(S);var M=eo(i,S);io(M);var L=(N^w>=0?-1:1)*Hi(M[2]);(r>L||r===L&&(S[0]||S[1]))&&(s+=N^w>=0?1:-1)}}return(o<-Gf||o0?Bf:-Bf,u=Yf(o-n);Yf(u-Bf)0?kf:-kf),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),e=0):i!==a&&u>=Bf&&(Yf(n-i)Gf?Vf((Kf(e)*(o=Wf(r))*Kf(n)-Kf(r)*(i=Wf(e))*Kf(t))/(i*o*s)):(e+r)/2}(n,r,o,s),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),e=0),t.point(n=o,r=s),i=a},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*kf,r.point(-Bf,i),r.point(0,i),r.point(Bf,i),r.point(Bf,0),r.point(Bf,-i),r.point(0,-i),r.point(-Bf,-i),r.point(-Bf,0),r.point(-Bf,i);else if(Yf(t[0]-e[0])>Gf){var o=t[0]o}function r(t,e,n){var r=[1,0,0],i=eo($i(t),$i(e)),s=to(i,i),a=i[0],u=s-a*a;if(!u)return!n&&t;var c=o*s/u,h=-o*a/u,l=eo(r,i),p=ro(r,c);no(p,ro(i,h));var f=l,g=to(p,f),d=to(f,f),y=g*g-d*(to(p,p)-1);if(!(y<0)){var _=Qf(y),m=ro(f,(-g-_)/d);if(no(m,p),m=Qi(m),!n)return m;var v,x=t[0],E=e[0],w=t[1],b=e[1];E0^m[1]<(Yf(m[0]-x)Bf^(x<=m[0]&&m[0]<=E)){var C=ro(f,(-g+_)/d);return no(C,p),[m,Qi(C)]}}}function i(e,n){var r=s?t:Bf-t,i=0;return e<-r?i|=1:e>r&&(i|=2),n<-r?i|=4:n>r&&(i|=8),i}var o=Wf(t),s=o>0,a=Yf(o)>Gf;return xg(n,(function(t){var e,o,u,c,h;return{lineStart:function(){c=u=!1,h=1},point:function(l,p){var f,g=[l,p],d=n(l,p),y=s?d?0:i(l,p):d?i(l+(l<0?Bf:-Bf),p):0;if(!e&&(c=u=d)&&t.lineStart(),d!==u&&(!(f=r(e,g))||ag(e,f)||ag(g,f))&&(g[0]+=Gf,g[1]+=Gf,d=n(g[0],g[1])),d!==u)h=0,d?(t.lineStart(),f=r(g,e),t.point(f[0],f[1])):(f=r(e,g),t.point(f[0],f[1]),t.lineEnd()),e=f;else if(a&&e&&s^d){var _;y&o||!(_=r(g,e,!0))||(h=0,s?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!d||e&&ag(e,g)||t.point(g[0],g[1]),e=g,u=d,o=y},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return h|(c&&u)<<1}}}),(function(n,r,i,o){!function(t,e,n,r,i,o){if(n){var s=Wf(e),a=Kf(e),u=r*n;null==i?(i=e+r*jf,o=e-u/2):(i=ho(s,i),o=ho(s,o),(r>0?io)&&(i+=r*jf));for(var c,h=i;r>0?h>o:h4*e&&d--){var x=s+p,E=a+f,w=u+g,b=Qf(x*x+E*E+w*w),I=Hi(w/=b),N=Yf(Yf(w)-1)e||Yf((_*L+m*P)/v-.5)>.3||s*p+a*f+u*g2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};t.projection=Cs,t.random=gu,t.clusters=du,t.helpers=ko,t.invariant=jo,t.meta=zo,t.isolines=function(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.zProperty||"elevation",i=n.commonProperties||{},o=n.breaksProperties||[];if(W(t,"Point","Input must contain Points"),!e)throw new Error("breaks is required");if(!Array.isArray(e))throw new Error("breaks must be an Array");if(!I(i))throw new Error("commonProperties must be an Object");if(!Array.isArray(o))throw new Error("breaksProperties must be an Array");var s=rt(t,{zProperty:r,flip:!0});return c(function(t,e,n){var r=j(n),i=r[2]-r[0],o=r[3]-r[1],s=r[0],a=r[1],u=e[0].length-1,c=e.length-1,h=i/u,l=o/c,p=function(t){t[0]=t[0]*h+s,t[1]=t[1]*l+a};return t.forEach((function(t){S(t,p)})),t}(function(t,e,n,r,i){for(var o=[],s=1;ss;)n=i[r=Math.floor((o+1)*Math.random())],i[r]=i[o],i[o]=n;return i.slice(s)}(t.features,e))},t.envelope=he,t.square=le,t.circle=fe,t.midpoint=function(t,e){return pe(t,qt(t,e)/2,ge(t,e))},t.center=de,t.centerOfMass=_e,t.centroid=ye,t.combine=function(t){function n(t,e,n){n?r[e].coordinates=r[e].coordinates.concat(t.geometry.coordinates):r[e].coordinates.push(t.geometry.coordinates),r[e].properties.push(t.properties)}var r={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}},i=Object.keys(r).reduce((function(t,e){return t[e.replace("Multi","")]=e,t}),{});return O(t,(function(t){t.geometry&&(r[t.geometry.type]?n(t,t.geometry.type,!0):i[t.geometry.type]&&n(t,i[t.geometry.type],!1))})),c(Object.keys(r).filter((function(t){return r[t].coordinates.length})).sort().map((function(t){return e({type:t,coordinates:r[t].coordinates},{collectedProperties:r[t].properties})})))},t.distance=qt,t.explode=me,t.bbox=j,t.tesselate=function(t){if(!t.geometry||"Polygon"!==t.geometry.type&&"MultiPolygon"!==t.geometry.type)throw new Error("input must be a Polygon or MultiPolygon");var e={type:"FeatureCollection",features:[]};return"Polygon"===t.geometry.type?e.features=De(t.geometry.coordinates):t.geometry.coordinates.forEach((function(t){e.features=e.features.concat(De(t))})),e},t.bboxPolygon=ce,t.booleanPointInPolygon=Pt,t.nearestPoint=Fe,t.nearestPointOnLine=on,t.nearestPointToLine=function(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.units,i=n.properties||{};if(!t)throw new Error("points is required");if(!(t=function(t){var e=[];switch(t.geometry?t.geometry.type:t.type){case"GeometryCollection":return A(t,(function(t){"Point"===t.type&&e.push({type:"Feature",properties:{},geometry:t})})),{type:"FeatureCollection",features:e};case"FeatureCollection":return t.features=t.features.filter((function(t){return"Point"===t.geometry.type})),t;default:throw new Error("points must be a Point Collection")}}(t)).features.length)throw new Error("points must contain features");if(!e)throw new Error("line is required");if("LineString"!==K(e))throw new Error("line must be a LineString");var o=1/0,s=null;return O(t,(function(t){var n=gn(t,e,{units:r});n=0&&c<=1&&(p.onLine1=!0),h>=0&&h<=1&&(p.onLine2=!0),!(!p.onLine1||!p.onLine2)&&[p.x,p.y])}(t[n][0],t[n][1],t[n+1][0],t[n+1][1],e[o][0],e[o][1],e[o+1][0],e[o+1][1]);s&&i.features.push(r([s[0],s[1]]))}}))})),i},t.pointOnFeature=yn,t.area=mn,t.along=function(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var i;if("Feature"===t.type)i=t.geometry.coordinates;else{if("LineString"!==t.type)throw new Error("input must be a LineString Feature or Geometry");i=t.coordinates}if(!b(e))throw new Error("distance must be a number");for(var o=0,s=0;s=o&&s===i.length-1);s++){if(o>=e){var a=e-o;if(a){var u=ge(i[s],i[s-1])-180;return pe(i[s],a,u,n)}return r(i[s])}o+=qt(i[s],i[s+1],n)}return r(i[i.length-1])},t.length=bn,t.lineSlice=function(t,e,n){var r=U(n);if("LineString"!==K(n))throw new Error("line must be a LineString");for(var i,o=on(n,t),s=on(n,e),u=[(i=o.properties.index<=s.properties.index?[o,s]:[s,o])[0].geometry.coordinates],c=i[0].properties.index+1;c is required");if("boolean"!=typeof n)throw new Error(" must be a boolean");if("boolean"!=typeof r)throw new Error(" must be a boolean");!1===r&&(t=Gt(t));var i=[];switch(t.type){case"GeometryCollection":return A(t,(function(t){sr(t,n)})),t;case"FeatureCollection":return O(t,(function(t){O(sr(t,n),(function(t){i.push(t)}))})),c(i)}return sr(t,n)},t.isobands=function(t,e,n){if(!I(n=n||{}))throw new Error("options is invalid");var r=n.zProperty||"elevation",i=n.commonProperties||{},s=n.breaksProperties||[];if(W(t,"Point","Input must contain Points"),!e)throw new Error("breaks is required");if(!Array.isArray(e))throw new Error("breaks is not an Array");if(!I(i))throw new Error("commonProperties is not an Object");if(!Array.isArray(s))throw new Error("breaksProperties is not an Array");var a=cr(t,{zProperty:r,flip:!0}),u=function(t,e,n){for(var r=[],i=1;i0}(t,e);case"Polygon":return!br(e,t)}break;case"Polygon":switch(e.type){case"Point":return!Pt(e,t);case"LineString":return!br(t,e);case"Polygon":return!function(t,e){for(var n=0;n0)for(var n=0;n0))throw new Error("Invalid maxDistance");if(!(void 0===r||null===r||Math.sign(r)>0))throw new Error("Invalid minPoints");t=Gt(t),r=r||3;var o=new Ha.DBSCAN,s=-1;return o.run(T(t),E(e,i),r,qt).forEach((function(e){s++,e.forEach((function(e){var n=t.features[e];n.properties||(n.properties={}),n.properties.cluster=s,n.properties.dbscan="core"}))})),o.noise.forEach((function(e){var n=t.features[e];n.properties||(n.properties={}),n.properties.cluster?n.properties.dbscan="edge":n.properties.dbscan="noise"})),t},t.clustersKmeans=function(t,e){if("object"!=typeof(e=e||{}))throw new Error("options is invalid");var n=e.numberOfClusters,r=e.mutate;W(t,"Point","Input must contain Points");var i=t.features.length;(n=n||Math.round(Math.sqrt(i/2)))>i&&(n=i),!1!==r&&void 0!==r||(t=Gt(t));var o=T(t),s=o.slice(0,n),a=eu(o,n,s),u={};return a.centroids.forEach((function(t,e){u[e]=t})),O(t,(function(t,e){var n=a.idxs[e];t.properties.cluster=n,t.properties.centroid=u[n]})),t},t.pointToLineDistance=gn,t.booleanParallel=function(t,e){if(!t)throw new Error("line1 is required");if(!e)throw new Error("line2 is required");if("LineString"!==Dr(t,"line1"))throw new Error("line1 must be a LineString");if("LineString"!==Dr(e,"line2"))throw new Error("line2 must be a LineString");for(var n=en(te(t)).features,r=en(te(e)).features,i=0;i=d;){for(var T=[],A=[],D=g+w,F=0;D<=y;){var q=r([D,O]),G=function(t,e){for(var n=0;n0&&0!==e)if(e>o[o.length-1])e-=o.length;else{var r=Po(e,o);0!==r&&(e-=r)}if(e!==+u){var l=i[e];l&&c&&(void 0!==n&&l.properties[n]!==c.properties[n]||Tr(c,l)&&function(t,e){return nn(a(T(t)),a(T(e))).features.length>0}(c,l)&&(i[u]=Mo(c,l),o.push(t.properties.origIndexPosition),o.sort((function(t,e){return t-e})),s.remove(t),i.splice(e,1),c.properties.origIndexPosition=u,s.remove(c,(function(t,e){return t.properties.origIndexPosition===e.properties.origIndexPosition})),h=!0))}})),h){if(!c)continue;c.properties.origIndexPosition=u,s.insert(c),u--}}return i.forEach((function(t){delete t.properties.origIndexPosition,delete t.bbox})),r},t.hexGrid=Oo,t.mask=function(t,e){var n=function(t){return o(t&&t.geometry.coordinates||[[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]])}(e),r=function(t){var e=[],n=[];return F(t,(function(t){var r=t.geometry.coordinates,i=r[0],s=r.slice(1);e.push(o([i])),s.forEach((function(t){n.push(o([t]))}))})),[c(e),c(n)]}(t),i=r[0],s=r[1];return function(t,e,n){var r=[];return r.push(t.geometry.coordinates[0]),F(e,(function(t){r.push(t.geometry.coordinates[0])})),F(n,(function(t){r.push(t.geometry.coordinates[0])})),o(r)}(n,i=Ro(i),s=Ro(s))},t.squareGrid=Ao,t.triangleGrid=Do,t.interpolate=function(t,e,n){if("object"!=typeof(n=n||{}))throw new Error("options is invalid");var r=n.gridType,i=n.property,o=n.weight;if(!t)throw new Error("points is required");if(W(t,"Point","input must contain Points"),!e)throw new Error("cellSize is required");if(void 0!==o&&"number"!=typeof o)throw new Error("weight must be a number");i=i||"elevation",r=r||"square",o=o||1;var s,a=j(t);switch(r){case"point":case"points":s=Ln(a,e,n);break;case"square":case"squares":s=Ao(a,e,n);break;case"hex":case"hexes":s=Oo(a,e,n);break;case"triangle":case"triangles":s=Do(a,e,n);break;default:throw new Error("invalid gridType")}var u=[];return O(s,(function(e){var s=0,a=0;O(t,(function(t){var u,c=qt("point"===r?e:ye(e),t,n);if(void 0!==i&&(u=t.properties[i]),void 0===u&&(u=t.geometry.coordinates[2]),void 0===u)throw new Error("zValue is missing");0===c&&(s=u);var h=1/Math.pow(c,o);a+=h,s+=h*u}));var c=Gt(e);c.properties[i]=s/a,u.push(c)})),c(u)},t.pointOnSurface=yn,t.polygonToLineString=kn,t.lineStringToPolygon=jn,t.inside=Pt,t.within=Rt,t.bezier=ue,t.nearest=Fe,t.pointOnLine=on,t.lineDistance=bn,t.radians2degrees=v,t.degrees2radians=x,t.distanceToDegrees=_,t.distanceToRadians=y,t.radiansToDistance=d,t.bearingToAngle=m,t.convertDistance=E,t.toMercator=cn,t.toWgs84=hn,t.randomPosition=_i,t.randomPoint=mi,t.randomPolygon=vi,t.randomLineString=xi,t.getCluster=wi,t.clusterEach=bi,t.clusterReduce=Ii,t.createBins=Ni,t.applyFilter=Ci,t.propertiesContainsFilter=Si,t.filterProperties=Mi,t.earthRadius=Fo,t.factors=qo,t.unitsFactors=Go,t.areaFactors=Bo,t.feature=e,t.geometry=n,t.point=r,t.points=i,t.polygon=o,t.polygons=s,t.lineString=a,t.lineStrings=u,t.featureCollection=c,t.multiLineString=h,t.multiPoint=l,t.multiPolygon=p,t.geometryCollection=f,t.round=g,t.radiansToLength=d,t.lengthToRadians=y,t.lengthToDegrees=_,t.bearingToAzimuth=m,t.radiansToDegrees=v,t.degreesToRadians=x,t.convertLength=E,t.convertArea=w,t.isNumber=b,t.isObject=I,t.validateBBox=N,t.validateId=C,t.getCoord=X,t.getCoords=U,t.containsNumber=Y,t.geojsonType=V,t.featureOf=H,t.collectionOf=W,t.getGeom=J,t.getGeomType=Z,t.getType=K,t.coordEach=S,t.coordReduce=M,t.propEach=L,t.propReduce=P,t.featureEach=O,t.featureReduce=R,t.coordAll=T,t.geomEach=A,t.geomReduce=D,t.flattenEach=F,t.flattenReduce=q,t.segmentEach=G,t.segmentReduce=B,t.lineEach=k,t.lineReduce=z,Object.defineProperty(t,"__esModule",{value:!0})}(e)}}]); +//# sourceMappingURL=vendors.turf.js.map \ No newline at end of file diff --git a/build/assets/js/vendors.turf.js.map b/build/assets/js/vendors.turf.js.map new file mode 100644 index 0000000..f720b05 --- /dev/null +++ b/build/assets/js/vendors.turf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assets/js/vendors.turf.js","mappings":"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","sources":["webpack://d6-business-directory/./node_modules/@turf/turf/turf.min.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e(t.turf={})}(this,function(t){\"use strict\";function e(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.bbox,i=n.id;if(void 0===t)throw new Error(\"geometry is required\");if(e&&e.constructor!==Object)throw new Error(\"properties must be an Object\");r&&N(r),i&&C(i);var o={type:\"Feature\"};return i&&(o.id=i),r&&(o.bbox=r),o.properties=e||{},o.geometry=t,o}function n(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var i=n.bbox;if(!t)throw new Error(\"type is required\");if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");i&&N(i);var s;switch(t){case\"Point\":s=r(e).geometry;break;case\"LineString\":s=a(e).geometry;break;case\"Polygon\":s=o(e).geometry;break;case\"MultiPoint\":s=l(e).geometry;break;case\"MultiLineString\":s=h(e).geometry;break;case\"MultiPolygon\":s=p(e).geometry;break;default:throw new Error(t+\" is invalid\")}return i&&(s.bbox=i),s}function r(t,n,r){if(!t)throw new Error(\"coordinates is required\");if(!Array.isArray(t))throw new Error(\"coordinates must be an Array\");if(t.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!b(t[0])||!b(t[1]))throw new Error(\"coordinates must contain numbers\");return e({type:\"Point\",coordinates:t},n,r)}function i(t,e,n){if(!t)throw new Error(\"coordinates is required\");if(!Array.isArray(t))throw new Error(\"coordinates must be an Array\");return c(t.map(function(t){return r(t,e)}),n)}function o(t,n,r){if(!t)throw new Error(\"coordinates is required\");for(var i=0;i=0))throw new Error(\"precision must be a positive number\");var n=Math.pow(10,e||0);return Math.round(t*n)/n}function d(t,e){if(void 0===t||null===t)throw new Error(\"radians is required\");if(e&&\"string\"!=typeof e)throw new Error(\"units must be a string\");var n=qo[e||\"kilometers\"];if(!n)throw new Error(e+\" units is invalid\");return t*n}function y(t,e){if(void 0===t||null===t)throw new Error(\"distance is required\");if(e&&\"string\"!=typeof e)throw new Error(\"units must be a string\");var n=qo[e||\"kilometers\"];if(!n)throw new Error(e+\" units is invalid\");return t/n}function _(t,e){return v(y(t,e))}function m(t){if(null===t||void 0===t)throw new Error(\"bearing is required\");var e=t%360;return e<0&&(e+=360),e}function v(t){if(null===t||void 0===t)throw new Error(\"radians is required\");return 180*(t%(2*Math.PI))/Math.PI}function x(t){if(null===t||void 0===t)throw new Error(\"degrees is required\");return t%360*Math.PI/180}function E(t,e,n){if(null===t||void 0===t)throw new Error(\"length is required\");if(!(t>=0))throw new Error(\"length must be a positive number\");return d(y(t,e),n||\"kilometers\")}function w(t,e,n){if(null===t||void 0===t)throw new Error(\"area is required\");if(!(t>=0))throw new Error(\"area must be a positive number\");var r=Bo[e||\"meters\"];if(!r)throw new Error(\"invalid original units\");var i=Bo[n||\"kilometers\"];if(!i)throw new Error(\"invalid final units\");return t/r*i}function b(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}function I(t){return!!t&&t.constructor===Object}function N(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach(function(t){if(!b(t))throw new Error(\"bbox must only contain numbers\")})}function C(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")}function S(t,e,n){if(null!==t)for(var r,i,o,s,a,u,c,h,l=0,p=0,f=t.type,g=\"FeatureCollection\"===f,d=\"Feature\"===f,y=g?t.features.length:1,_=0;_t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]1&&b(e[0])&&b(e[1]))return e;throw new Error(\"Coordinate is not a valid Point\")}function U(t){if(!t)throw new Error(\"obj is required\");var e;if(t.length?e=t:t.coordinates?e=t.coordinates:t.geometry&&t.geometry.coordinates&&(e=t.geometry.coordinates),e)return Y(e),e;throw new Error(\"No valid coordinates\")}function Y(t){if(t.length>1&&b(t[0])&&b(t[1]))return!0;if(Array.isArray(t[0])&&t[0].length)return Y(t[0]);throw new Error(\"coordinates must only contain numbers\")}function V(t,e,n){if(!e||!n)throw new Error(\"type and name required\");if(!t||t.type!==e)throw new Error(\"Invalid input to \"+n+\": must be a \"+e+\", given \"+t.type)}function H(t,e,n){if(!t)throw new Error(\"No feature passed\");if(!n)throw new Error(\".featureOf() requires a name\");if(!t||\"Feature\"!==t.type||!t.geometry)throw new Error(\"Invalid input to \"+n+\", Feature with geometry required\");if(!t.geometry||t.geometry.type!==e)throw new Error(\"Invalid input to \"+n+\": must be a \"+e+\", given \"+t.geometry.type)}function W(t,e,n){if(!t)throw new Error(\"No featureCollection passed\");if(!n)throw new Error(\".collectionOf() requires a name\");if(!t||\"FeatureCollection\"!==t.type)throw new Error(\"Invalid input to \"+n+\", FeatureCollection required\");for(var r=0;r=0&&d>=0&&d=0;h--)if(Math.abs(e[h][0][0]-u)<=1e-7&&Math.abs(e[h][0][1]-c)<=1e-7){for(var l=s.path.length-2;l>=0;--l)e[h].unshift(s.path[l]);a=!0;break}a||(e[n++]=s.path)}})}),e}(function(t,e){for(var n=t.length-1,r=t[0].length-1,i={rows:n,cols:r,cells:[]},o=0;o=e?8:0,a|=c>=e?4:0,a|=h>=e?2:0;var p=!1;if(5===(a|=l>=e?1:0)||10===a){var f=(u+c+h+l)/4;5===a&&fe?1:0};r>n;){if(r-n>600){var o=r-n+1,s=e-n+1,a=Math.log(o),u=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*u*(o-u)/o)*(s-o/2<0?-1:1);it(t,e,Math.max(n,Math.floor(e-s*u/o+c)),Math.min(r,Math.floor(e+(o-s)*u/o+c)),i)}var h=t[e],l=n,p=r;for(ot(t,n,e),i(t[r],h)>0&&ot(t,n,r);l0;)p--}0===i(t[n],h)?ot(t,n,p):ot(t,++p,r),p<=e&&(n=p+1),e<=p&&(r=p-1)}}function ot(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function st(t,e){if(!(this instanceof st))return new st(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function at(t,e){ut(t,0,t.children.length,e,t)}function ut(t,e,n,r,i){i||(i=yt(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(var o,s=e;s=t.minX&&e.maxY>=t.minY}function yt(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function _t(t,e,n,r,i){for(var o,s=[e,n];s.length;)(n=s.pop())-(e=s.pop())<=r||(o=e+Math.ceil((n-e)/r/2)*r,Yo(t,o,e,n,i),s.push(e,o,o,n))}function mt(t,e){return e={exports:{}},t(e,e.exports),e.exports}function vt(t,e){if(!(this instanceof vt))return new vt(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||function(t,e){return te?1:0},this.length>0)for(var n=(this.length>>1)-1;n>=0;n--)this._down(n)}function xt(t,e,n){e=Math.max(0,void 0===e?2:e),n=n||0;for(var r,i=function(t){for(var e=t[0],n=t[0],r=t[0],i=t[0],o=0;or[0]&&(r=s),s[1]i[1]&&(i=s)}var a=[e,n,r,i],u=a.slice();for(o=0;oo||a.push({node:h,dist:l})}for(;a.length&&!a.peek().node.children;){var p=a.pop(),f=p.node,g=St(f,e,n),d=St(f,r,i);if(p.dist=e.minX&&t[0]<=e.maxX&&t[1]>=e.minY&&t[1]<=e.maxY}function bt(t,e,n){for(var r=Math.min(t[0],e[0]),i=Math.min(t[1],e[1]),o=Math.max(t[0],e[0]),s=Math.max(t[1],e[1]),a=n.search({minX:r,minY:i,maxX:o,maxY:s}),u=0;u0!=os(t,e,r)>0&&os(n,r,t)>0!=os(n,r,e)>0}(a[u].p,a[u].next.p,t,e))return!1;return!0}function It(t){var e=t.p,n=t.next.p;return t.minX=Math.min(e[0],n[0]),t.minY=Math.min(e[1],n[1]),t.maxX=Math.max(e[0],n[0]),t.maxY=Math.max(e[1],n[1]),t}function Nt(t,e){var n={p:t,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return e?(n.next=e.next,n.prev=e,e.next.prev=n,e.next=n):(n.prev=n,n.next=n),n}function Ct(t,e){var n=t[0]-e[0],r=t[1]-e[1];return n*n+r*r}function St(t,e,n){var r=e[0],i=e[1],o=n[0]-r,s=n[1]-i;if(0!==o||0!==s){var a=((t[0]-r)*o+(t[1]-i)*s)/(o*o+s*s);a>1?(r=n[0],i=n[1]):a>0&&(r+=o*a,i+=s*a)}return o=t[0]-r,s=t[1]-i,o*o+s*s}function Mt(t,e,n,r,i,o,s,a){var u,c,h,l,p=n-t,f=r-e,g=s-i,d=a-o,y=t-i,_=e-o,m=p*p+f*f,v=p*g+f*d,x=g*g+d*d,E=p*y+f*_,w=g*y+d*_,b=m*x-v*v,I=b,N=b;0===b?(c=0,I=1,l=w,N=x):(l=m*w-v*E,(c=v*w-x*E)<0?(c=0,l=w,N=x):c>I&&(c=I,l=w+v,N=x)),l<0?(l=0,-E<0?c=0:-E>m?c=I:(c=-E,I=m)):l>N&&(l=N,-E+v<0?c=0:-E+v>m?c=I:(c=-E+v,I=m)),u=0===c?0:c/I;var C=(1-(h=0===l?0:l/N))*i+h*s-((1-u)*t+u*n),S=(1-h)*o+h*a-((1-u)*e+u*r);return C*C+S*S}function Lt(t,e){if(e=e||{},!I(e))throw new Error(\"options is invalid\");var n=e.concavity||1/0,r=[];if(S(t,function(t){r.push([t[0],t[1]])}),!r.length)return null;var i=ss(r,n);return i.length>3?o([i]):null}function Pt(t,e,n){if(\"object\"!=typeof(n=n||{}))throw new Error(\"options is invalid\");var r=n.ignoreBoundary;if(!t)throw new Error(\"point is required\");if(!e)throw new Error(\"polygon is required\");var i=X(t),o=U(e),s=e.geometry?e.geometry.type:e.type,a=e.bbox;if(a&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(i,a))return!1;\"Polygon\"===s&&(o=[o]);for(var u=0,c=!1;ut[1]!=c>t[1]&&t[0]<(u-s)*(t[1]-a)/(c-a)+s&&(r=!r)}return r}function Rt(t,e){var n=[];return A(e,function(e){O(t,function(t){Pt(t,e)&&n.push(t)})}),c(n)}function Tt(t,e){if(\"FeatureCollection\"!==t.type)throw new Error(\"points must be a FeatureCollection\");var n=!1;return c(function(t){if(t.length<3)return[];t.sort(Dt);var e,n,r,i,o,s,a=t.length-1,u=t[a].x,c=t[0].x,h=t[a].y,l=h;for(;a--;)t[a].yl&&(l=t[a].y);var p,f=c-u,g=l-h,d=f>g?f:g,y=.5*(c+u),_=.5*(l+h),m=[new At({x:y-20*d,y:_-d,__sentinel:!0},{x:y,y:_+20*d,__sentinel:!0},{x:y+20*d,y:_-d,__sentinel:!0})],v=[],x=[];a=t.length;for(;a--;){for(x.length=0,p=m.length;p--;)(f=t[a].x-m[p].x)>0&&f*f>m[p].r?(v.push(m[p]),m.splice(p,1)):(g=t[a].y-m[p].y,f*f+g*g>m[p].r||(x.push(m[p].a,m[p].b,m[p].b,m[p].c,m[p].c,m[p].a),m.splice(p,1)));for(Ft(x),p=x.length;p;)n=x[--p],e=x[--p],r=t[a],i=n.x-e.x,o=n.y-e.y,s=2*(i*(r.y-n.y)-o*(r.x-n.x)),Math.abs(s)>1e-12&&m.push(new At(e,n,r))}Array.prototype.push.apply(v,m),a=v.length;for(;a--;)(v[a].a.__sentinel||v[a].b.__sentinel||v[a].c.__sentinel)&&v.splice(a,1);return v}(t.features.map(function(t){var r={x:t.geometry.coordinates[0],y:t.geometry.coordinates[1]};return e?r.z=t.properties[e]:3===t.geometry.coordinates.length&&(n=!0,r.z=t.geometry.coordinates[2]),r})).map(function(t){var e=[t.a.x,t.a.y],r=[t.b.x,t.b.y],i=[t.c.x,t.c.y],s={};return n?(e.push(t.a.z),r.push(t.b.z),i.push(t.c.z)):s={a:t.a.z,b:t.b.z,c:t.c.z},o([[e,r,i,e]],s)}))}function At(t,e,n){this.a=t,this.b=e,this.c=n;var r,i,o=e.x-t.x,s=e.y-t.y,a=n.x-t.x,u=n.y-t.y,c=o*(t.x+e.x)+s*(t.y+e.y),h=a*(t.x+n.x)+u*(t.y+n.y),l=2*(o*(n.y-e.y)-s*(n.x-e.x));this.x=(u*c-s*h)/l,this.y=(o*h-a*c)/l,r=this.x-t.x,i=this.y-t.y,this.r=r*r+i*i}function Dt(t,e){return e.x-t.x}function Ft(t){var e,n,r,i,o,s=t.length;t:for(;s;)for(n=t[--s],e=t[--s],r=s;r;)if(o=t[--r],i=t[--r],e===i&&n===o||e===o&&n===i){t.splice(s,2),t.splice(r,2),s-=2;continue t}}function qt(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.units,i=X(t),o=X(e),s=x(o[1]-i[1]),a=x(o[0]-i[0]),u=x(i[1]),c=x(o[1]),h=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(u)*Math.cos(c);return d(2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),r)}function Gt(t){if(!t)throw new Error(\"geojson is required\");switch(t.type){case\"Feature\":return Bt(t);case\"FeatureCollection\":return function(t){var e={type:\"FeatureCollection\"};return Object.keys(t).forEach(function(n){switch(n){case\"type\":case\"features\":return;default:e[n]=t[n]}}),e.features=t.features.map(function(t){return Bt(t)}),e}(t);case\"Point\":case\"LineString\":case\"Polygon\":case\"MultiPoint\":case\"MultiLineString\":case\"MultiPolygon\":case\"GeometryCollection\":return zt(t);default:throw new Error(\"unknown GeoJSON type\")}}function Bt(t){var e={type:\"Feature\"};return Object.keys(t).forEach(function(n){switch(n){case\"type\":case\"properties\":case\"geometry\":return;default:e[n]=t[n]}}),e.properties=kt(t.properties),e.geometry=zt(t.geometry),e}function kt(t){var e={};return t?(Object.keys(t).forEach(function(n){var r=t[n];\"object\"==typeof r?null===r?e[n]=null:r.length?e[n]=r.map(function(t){return t}):e[n]=kt(r):e[n]=r}),e):e}function zt(t){var e={type:t.type};return t.bbox&&(e.bbox=t.bbox),\"GeometryCollection\"===t.type?(e.geometries=t.geometries.map(function(t){return zt(t)}),e):(e.coordinates=jt(t.coordinates),e)}function jt(t){return\"object\"!=typeof t[0]?t.slice():t.map(function(t){return jt(t)})}function Xt(t,e){function n(t,e){e.length&&e.pop();for(var n=c[t<0?~t:t],r=0,i=n.length;r1)for(var s,a,u=1,c=i(r[0]);uc&&(a=r[0],r[0]=r[u],r[u]=a,c=s);return r})}}function Yt(t,e,n){for(var r,i=e+(n---e>>1);e=Math.abs(h)?c>0?o<=r&&r<=a:a<=r&&r<=o:h>0?s<=i&&i<=u:u<=i&&i<=s)}(n,i=e[a+1],r)||o.push(r);return o.push(i),o}function ne(t,e){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r}function re(t,e,n){var r=e.x,i=e.y,o=n.x-r,s=n.y-i;if(0!==o||0!==s){var a=((t.x-r)*o+(t.y-i)*s)/(o*o+s*s);a>1?(r=n.x,i=n.y):a>0&&(r+=o*a,i+=s*a)}return o=t.x-r,s=t.y-i,o*o+s*s}function ie(t,e,n,r,i){for(var o,s=r,a=e+1;as&&(o=a,s=u)}s>r&&(o-e>1&&ie(t,e,o,r,i),i.push(t[o]),n-o>1&&ie(t,o,n,r,i))}function oe(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=n?t:function(t,e){for(var n,r=t[0],i=[r],o=1,s=t.length;oe&&(i.push(n),r=n);return r!==n&&i.push(n),i}(t,r),t=function(t,e){var n=t.length-1,r=[t[0]];return ie(t,0,n,e,r),r.push(t[n]),r}(t,r)}function se(t,e,n){return oe(t.map(function(t){return{x:t[0],y:t[1],z:t[2]}}),e,n).map(function(t){return t.z?[t.x,t.y,t.z]:[t.x,t.y]})}function ae(t,e,n){return t.map(function(t){var r=t.map(function(t){return{x:t[0],y:t[1]}});if(r.length<4)throw new Error(\"invalid polygon\");for(var i=oe(r,e,n).map(function(t){return[t.x,t.y]});!function(t){return!(t.length<3||3===t.length&&t[2][0]===t[0][0]&&t[2][1]===t[0][1])}(i);)i=oe(r,e-=.01*e,n).map(function(t){return[t.x,t.y]});return i[i.length-1][0]===i[0][0]&&i[i.length-1][1]===i[0][1]||i.push(i[0]),i})}function ue(t,e){if(e=e||{},!I(e))throw new Error(\"options is invalid\");var n=e.resolution||1e4,r=e.sharpness||.85;if(!t)throw new Error(\"line is required\");if(!b(n))throw new Error(\"resolution must be an number\");if(!b(r))throw new Error(\"sharpness must be an number\");for(var i=[],o=new bs({points:J(t).coordinates.map(function(t){return{x:t[0],y:t[1]}}),duration:n,sharpness:r}),s=0;s=qt(t.slice(0,2),[e,i])){var o=(n+i)/2;return[e,o-(r-e)/2,r,o+(r-e)/2]}var s=(e+r)/2;return[s-(i-n)/2,n,s+(i-n)/2,i]}function pe(t,e,n,i){if(i=i||{},!I(i))throw new Error(\"options is invalid\");var o=i.units,s=i.properties,a=X(t),u=x(a[0]),c=x(a[1]),h=x(n),l=y(e,o),p=Math.asin(Math.sin(c)*Math.cos(l)+Math.cos(c)*Math.sin(l)*Math.cos(h));return r([v(u+Math.atan2(Math.sin(h)*Math.sin(l)*Math.cos(c),Math.cos(l)-Math.sin(c)*Math.sin(p))),v(p)],s)}function fe(t,e,n){var r=(n=n||{}).steps||64,i=n.properties;if(!t)throw new Error(\"center is required\");if(!e)throw new Error(\"radius is required\");if(\"object\"!=typeof n)throw new Error(\"options must be an object\");if(\"number\"!=typeof r)throw new Error(\"steps must be a number\");r=r||64,i=i||t.properties||{};for(var s=[],a=0;a=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<=i&&a>s){if(s=a,a===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x=r.x&&r.x>=h&&i!==r.x&&Ne(on.x)&&Le(r,t)&&(n=r,p=u),r=r.next;return n}(t,e)){var n=Pe(e,t);Ee(n,n.next)}}(c[i],n),n=Ee(n,n.next);return n}(t,e,o,n)),t.length>80*n){a=c=t[0],u=h=t[1];for(var g=n;gc&&(c=l),p>h&&(h=p);f=0!==(f=Math.max(c-a,h-u))?1/f:0}return we(o,s,n,a,u,f),s}function xe(t,e,n,r,i){var o,s;if(i===Ae(t,e,n,r)>0)for(o=e;o=e;o-=r)s=Oe(o,t[o],t[o+1],s);return s&&Se(s,s.next)&&(Re(s),s=s.next),s}function Ee(t,e){if(!t)return t;e||(e=t);var n,r=t;do{if(n=!1,r.steiner||!Se(r,r.next)&&0!==Ce(r.prev,r,r.next))r=r.next;else{if(Re(r),(r=e=r.prev)===r.next)break;n=!0}}while(n||r!==e);return e}function we(t,e,n,r,i,o,s){if(t){!s&&o&&function(t,e,n,r){var i=t;do{null===i.z&&(i.z=Ie(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,n,r,i,o,s,a,u,c=1;do{for(n=t,t=null,o=null,s=0;n;){for(s++,r=n,a=0,e=0;e0||u>0&&r;)0!==a&&(0===u||!r||n.z<=r.z)?(i=n,n=n.nextZ,a--):(i=r,r=r.nextZ,u--),o?o.nextZ=i:t=i,i.prevZ=o,o=i;n=r}o.nextZ=null,c*=2}while(s>1)}(i)}(t,r,i,o);for(var a,u,c=t;t.prev!==t.next;)if(a=t.prev,u=t.next,o?function(t,e,n,r){var i=t.prev,o=t,s=t.next;if(Ce(i,o,s)>=0)return!1;var a=i.xo.x?i.x>s.x?i.x:s.x:o.x>s.x?o.x:s.x,h=i.y>o.y?i.y>s.y?i.y:s.y:o.y>s.y?o.y:s.y,l=Ie(a,u,e,n,r),p=Ie(c,h,e,n,r),f=t.nextZ;for(;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&Ne(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Ce(f.prev,f,f.next)>=0)return!1;f=f.nextZ}f=t.prevZ;for(;f&&f.z>=l;){if(f!==t.prev&&f!==t.next&&Ne(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Ce(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}(t,r,i,o):function(t){var e=t.prev,n=t,r=t.next;if(Ce(e,n,r)>=0)return!1;var i=t.next.next;for(;i!==t.prev;){if(Ne(e.x,e.y,n.x,n.y,r.x,r.y,i.x,i.y)&&Ce(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}(t))e.push(a.i/n),e.push(t.i/n),e.push(u.i/n),Re(t),t=u.next,c=u.next;else if((t=u)===c){s?1===s?we(t=function(t,e,n){var r=t;do{var i=r.prev,o=r.next.next;!Se(i,o)&&Me(i,r,r.next,o)&&Le(i,o)&&Le(o,i)&&(e.push(i.i/n),e.push(r.i/n),e.push(o.i/n),Re(r),Re(r.next),r=t=o),r=r.next}while(r!==t);return r}(t,e,n),e,n,r,i,o,2):2===s&&function(t,e,n,r,i,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&function(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Me(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&Le(t,e)&&Le(e,t)&&function(t,e){var n=t,r=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)}(s,a)){var u=Pe(s,a);return s=Ee(s,s.next),u=Ee(u,u.next),we(s,e,n,r,i,o),void we(u,e,n,r,i,o)}a=a.next}s=s.next}while(s!==t)}(t,e,n,r,i,o):we(Ee(t),e,n,r,i,o,1);break}}}function be(t,e){return t.x-e.x}function Ie(t,e,n,r,i){return t=32767*(t-n)*i,e=32767*(e-r)*i,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function Ne(t,e,n,r,i,o,s,a){return(i-s)*(e-a)-(t-s)*(o-a)>=0&&(t-s)*(r-a)-(n-s)*(e-a)>=0&&(n-s)*(o-a)-(i-s)*(r-a)>=0}function Ce(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Se(t,e){return t.x===e.x&&t.y===e.y}function Me(t,e,n,r){return!!(Se(t,e)&&Se(n,r)||Se(t,r)&&Se(n,e))||Ce(t,e,n)>0!=Ce(t,e,r)>0&&Ce(n,r,t)>0!=Ce(n,r,e)>0}function Le(t,e){return Ce(t.prev,t,t.next)<0?Ce(t,e,t.next)>=0&&Ce(t,t.prev,e)>=0:Ce(t,e,t.prev)<0||Ce(t,t.next,e)<0}function Pe(t,e){var n=new Te(t.i,t.x,t.y),r=new Te(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function Oe(t,e,n,r){var i=new Te(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Re(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Te(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ae(t,e,n,r){for(var i=0,o=e,s=n-r;o0&&(r+=t[i-1].length,n.holes.push(r))}return n}(t),n=Is(e.vertices,e.holes,2),r=[],i=[];n.forEach(function(t,r){var o=n[r];i.push([e.vertices[2*o],e.vertices[2*o+1]])});for(var s=0;se?1:0})}function Ge(t,e,n,r,i){for(;r>n;){if(r-n>600){var o=r-n+1,s=e-n+1,a=Math.log(o),u=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*u*(o-u)/o)*(s-o/2<0?-1:1);Ge(t,e,Math.max(n,Math.floor(e-s*u/o+c)),Math.min(r,Math.floor(e+(o-s)*u/o+c)),i)}var h=t[e],l=n,p=r;for(Be(t,n,e),i(t[r],h)>0&&Be(t,n,r);l0;)p--}0===i(t[n],h)?Be(t,n,p):Be(t,++p,r),p<=e&&(n=p+1),e<=p&&(r=p-1)}}function Be(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function ke(t,e){if(!(this instanceof ke))return new ke(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function ze(t,e){je(t,0,t.children.length,e,t)}function je(t,e,n,r,i){i||(i=Ze(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(var o,s=e;s=t.minX&&e.maxY>=t.minY}function Ze(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Ke(t,e,n,r,i){for(var o,s=[e,n];s.length;)(n=s.pop())-(e=s.pop())<=r||(qe(t,o=e+Math.ceil((n-e)/r/2)*r,e,n,i),s.push(e,o,o,n))}function Qe(t){var e=ke(t);return e.insert=function(t){if(Array.isArray(t)){var e=t;(t=$e(e)).bbox=e}else t.bbox=t.bbox?t.bbox:tn(t);return ke.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach(function(t){var n=$e(t);n.bbox=t,e.push(n)}):O(t,function(t){t.bbox=t.bbox?t.bbox:tn(t),e.push(t)}),ke.prototype.load.call(this,e)},e.remove=function(t){if(Array.isArray(t)){var e=t;(t=$e(e)).bbox=e}return ke.prototype.remove.call(this,t)},e.clear=function(){return ke.prototype.clear.call(this)},e.search=function(t){return{type:\"FeatureCollection\",features:ke.prototype.search.call(this,this.toBBox(t))}},e.collides=function(t){return ke.prototype.collides.call(this,this.toBBox(t))},e.all=function(){return{type:\"FeatureCollection\",features:ke.prototype.all.call(this)}},e.toJSON=function(){return ke.prototype.toJSON.call(this)},e.fromJSON=function(t){return ke.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;return e=t.bbox?t.bbox:Array.isArray(t)&&4===t.length?t:tn(t),{minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}function $e(t){var e=[t[0],t[1]],n=[t[0],t[3]],r=[t[2],t[3]];return{type:\"Feature\",bbox:t,properties:{},geometry:{type:\"Polygon\",coordinates:[[e,[t[2],t[1]],r,n,e]]}}}function tn(t){var e=[1/0,1/0,-1/0,-1/0];return S(t,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]i?n:i,r>o?r:o]}(t,r),n.push(i),r}),n}(n,t.properties);r.forEach(function(t){t.id=e.length,e.push(t)})})}(t,e)}),c(e)}function nn(t,n){var r={},i=[];if(\"LineString\"===t.type&&(t=e(t)),\"LineString\"===n.type&&(n=e(n)),\"Feature\"===t.type&&\"Feature\"===n.type&&\"LineString\"===t.geometry.type&&\"LineString\"===n.geometry.type&&2===t.geometry.coordinates.length&&2===n.geometry.coordinates.length){var o=rn(t,n);return o&&i.push(o),c(i)}var s=Qe();return s.load(en(n)),O(en(t),function(t){O(s.search(t),function(e){var n=rn(t,e);if(n){var o=U(n).join(\",\");r[o]||(r[o]=!0,i.push(n))}})}),c(i)}function rn(t,e){var n=U(t),i=U(e);if(2!==n.length)throw new Error(\" line1 must only contain 2 coordinates\");if(2!==i.length)throw new Error(\" line2 must only contain 2 coordinates\");var o=n[0][0],s=n[0][1],a=n[1][0],u=n[1][1],c=i[0][0],h=i[0][1],l=i[1][0],p=i[1][1],f=(p-h)*(a-o)-(l-c)*(u-s),g=(l-c)*(s-h)-(p-h)*(o-c),d=(a-o)*(s-h)-(u-s)*(o-c);if(0===f)return null;var y=g/f,_=d/f;if(y>=0&&y<=1&&_>=0&&_<=1){return r([o+y*(a-o),s+y*(u-s)])}return null}function on(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var i=t.geometry?t.geometry.type:t.type;if(\"LineString\"!==i&&\"MultiLineString\"!==i)throw new Error(\"lines must be LineString or MultiLineString\");var o=r([1/0,1/0],{dist:1/0}),s=0;return F(t,function(t){for(var i=U(t),u=0;u0&&((_=y.features[0]).properties.dist=qt(e,_,n),_.properties.location=s+qt(c,_,n)),c.properties.dist180?-(360-i):i}function an(t,e){var n=x(t[1]),r=x(e[1]),i=x(e[0]-t[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var o=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(n/2+Math.PI/4));return(v(Math.atan2(i,o))+360)%360}function un(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.units;if(!t)throw new Error(\"from point is required\");if(!e)throw new Error(\"to point is required\");var i=X(t),o=X(e);o[0]+=o[0]-i[0]>180?-360:i[0]-o[0]>180?360:0;return E(function(t,e,n){var r=n=void 0===n?Fo:Number(n),i=t[1]*Math.PI/180,o=e[1]*Math.PI/180,s=o-i,a=Math.abs(e[0]-t[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var u=Math.log(Math.tan(o/2+Math.PI/4)/Math.tan(i/2+Math.PI/4)),c=Math.abs(u)>1e-11?s/u:Math.cos(i);return Math.sqrt(s*s+c*c*a*a)*r}(i,o),\"meters\",r)}function cn(t,e){return ln(t,\"mercator\",e)}function hn(t,e){return ln(t,\"wgs84\",e)}function ln(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.mutate;if(!t)throw new Error(\"geojson is required\");return Array.isArray(t)&&b(t[0])?t=\"mercator\"===e?pn(t):fn(t):(!0!==r&&(t=Gt(t)),S(t,function(t){var n=\"mercator\"===e?pn(t):fn(t);t[0]=n[0],t[1]=n[1]})),t}function pn(t){var e=Math.PI/180,n=20037508.342789244,r=[6378137*(Math.abs(t[0])<=180?t[0]:t[0]-360*function(t){return t<0?-1:t>0?1:0}(t[0]))*e,6378137*Math.log(Math.tan(.25*Math.PI+.5*t[1]*e))];return r[0]>n&&(r[0]=n),r[0]<-n&&(r[0]=-n),r[1]>n&&(r[1]=n),r[1]<-n&&(r[1]=-n),r}function fn(t){var e=180/Math.PI;return[t[0]*e/6378137,(.5*Math.PI-2*Math.atan(Math.exp(-t[1]/6378137)))*e]}function gn(t,n,i){if(i=i||{},!I(i))throw new Error(\"options is invalid\");if(!t)throw new Error(\"pt is required\");if(Array.isArray(t)?t=r(t):\"Point\"===t.type?t=e(t):H(t,\"Point\",\"point\"),!n)throw new Error(\"line is required\");Array.isArray(n)?n=a(n):\"LineString\"===n.type?n=e(n):H(n,\"LineString\",\"line\");var o=1/0,s=t.geometry.coordinates;return G(n,function(t){var e=t.geometry.coordinates[0],n=t.geometry.coordinates[1],a=function(t,e,n,i){var o=i.mercator,s=!0!==o?qt(e,t,i):dn(e,t,i),a=m(!0!==o?ge(e,t):sn(e,t)),u=m(!0!==o?ge(e,n):sn(e,n)),c=Math.abs(a-u);if(c>90)return s;var h=(u+180)%360,l=m(!0!==o?ge(n,t):sn(n,t)),p=Math.abs(l-h);p>180&&(p=Math.abs(p-360));return p>90?!0!==o?qt(t,n,i):dn(t,n,i):!0!==o?s*Math.sin(x(c)):function(t,e,n,i){var o=0;(Math.abs(t[0])>=180||Math.abs(e[0])>=180||Math.abs(n[0])>=180)&&(o=t[0]>0||e[0]>0||n[0]>0?-180:180);var s=r(n),a=cn([t[0]+o,t[1]]),u=cn([e[0]+o,e[1]]),c=cn([n[0]+o,n[1]]),h=hn(function(t,e,n){var r=t[0],i=t[1],o=e[0],s=e[1],a=n[0],u=n[1],c=o-r,h=s-i,l=((a-r)*c+(u-i)*h)/(c*c+h*h);return[r+l*c,i+l*h]}(a,u,c));return 0!==o&&(h[0]-=o),un(s,h,i)}(e,n,t,i)}(s,e,n,i);o>a&&(o=a)}),o}function dn(t,e,n){var r=n.units,i=0;Math.abs(t[0])>=180&&(i=t[0]>0?-180:180),Math.abs(e[0])>=180&&(i=e[0]>0?-180:180);var o=cn([t[0]+i,t[1]]),s=cn([e[0]+i,e[1]]),a=function(t){return t*t},u=a(o[0]-s[0])+a(o[1]-s[1]);return E(Math.sqrt(u),\"meters\",r)}function yn(t){for(var n=function(t){if(\"FeatureCollection\"!==t.type)return\"Feature\"!==t.type?c([e(t)]):c([t]);return t}(t),i=de(n),o=!1,s=0;!o&&s0){e+=Math.abs(En(t[0]));for(var n=1;n2){for(s=0;s=h&&l===i.length-1);l++){if(h>e&&0===o.length){if(!(s=e-h))return o.push(i[l]),a(o);u=ge(i[l],i[l-1])-180,c=pe(i[l],s,u,r),o.push(c.geometry.coordinates)}if(h>=n)return(s=n-h)?(u=ge(i[l],i[l-1])-180,c=pe(i[l],s,u,r),o.push(c.geometry.coordinates),a(o)):(o.push(i[l]),a(o));if(h>=e&&o.push(i[l]),l===i.length-1)return a(o);h+=qt(i[l],i[l+1],r)}return a(i[i.length-1])}function Nn(t,e,n){var r=(n=n||{}).ignoreEndVertices;if(!I(n))throw new Error(\"invalid options\");if(!t)throw new Error(\"pt is required\");if(!e)throw new Error(\"line is required\");for(var i=X(t),o=U(e),s=0;s=Math.abs(f)?p>0?s<=i&&i<=u:u<=i&&i<=s:f>0?a<=o&&o<=c:c<=o&&o<=a;if(\"start\"===r)return Math.abs(p)>=Math.abs(f)?p>0?s0?a=Math.abs(f)?p>0?s<=i&&i0?a<=o&&o=Math.abs(f)?p>0?s0?ae[0])&&(!(t[2]e[1])&&!(t[3] is required\");if(\"number\"!=typeof n)throw new Error(\" must be a number\");if(\"number\"!=typeof r)throw new Error(\" must be a number\");!1!==i&&void 0!==i||(t=JSON.parse(JSON.stringify(t)));var o=Math.pow(10,n);return S(t,function(t){!function(t,e,n){t.length>n&&t.splice(n,t.length);for(var r=0;r=0==e}function Tn(t,e){if(!t||!e)return!1;if(t.length!=e.length)return!1;for(var n=0,r=t.length;n1&&n.push(a(l)),c(n)}function Fn(t,e){if(!e.features.length)throw new Error(\"lines must contain features\");if(1===e.features.length)return e.features[0];var n,r=1/0;return O(e,function(e){var i=on(e,t).properties.dist;ip&&g.push(pe(t,e,p,s).geometry.coordinates),a(g,h)}function Bn(t){var e=t%360;return e<0&&(e+=360),e}function kn(t,e){if(e=e||{},!I(e))throw new Error(\"options is invalid\");var n=e.properties,r=K(t),i=U(t);if(n=n||t.properties||{},!i.length)throw new Error(\"polygon must contain coordinates\");switch(r){case\"Polygon\":return zn(i,n);case\"MultiPolygon\":var o=[];return i.forEach(function(t){o.push(zn(t,n))}),c(o);default:throw new Error(\"geom \"+r+\" not supported\")}}function zn(t,e){return t.length>1?h(t,e):a(t[0],e)}function jn(t,e){if(e=e||{},!I(e))throw new Error(\"options is invalid\");var n=e.properties,r=e.autoComplete,i=e.orderCoords;if(!t)throw new Error(\"lines is required\");r=void 0===r||r,i=void 0===i||i;switch(K(t)){case\"FeatureCollection\":case\"GeometryCollection\":var o=[];return(t.features?t.features:t.geometries).forEach(function(t){o.push(U(Xn(t,{},r,i)))}),p(o,n)}return Xn(t,n,r,i)}function Xn(t,e,n,r){e=e||t.properties||{};var i=U(t),s=K(t);if(!i.length)throw new Error(\"line must contain coordinates\");switch(s){case\"LineString\":return n&&(i=Un(i)),o([i],e);case\"MultiLineString\":var u=[],c=0;return i.forEach(function(t){if(n&&(t=Un(t)),r){var e=function(t){var e=t[0],n=t[1],r=t[2],i=t[3];return Math.abs(e-r)*Math.abs(n-i)}(j(a(t)));e>c?(u.unshift(t),c=e):u.push(t)}else u.push(t)}),o(u,e);default:throw new Error(\"geometry type \"+s+\" is not supported\")}}function Un(t){var e=t[0],n=e[0],r=e[1],i=t[t.length-1],o=i[0],s=i[1];return n===o&&r===s||t.push(e),t}function Yn(t,e,n){var r,i,o,s,a,u=t.length,c=Hn(t[0],e),h=[];for(n||(n=[]),r=1;re[2]&&(n|=2),t[1]e[3]&&(n|=8),n}function Wn(t,e){for(var n=[],r=0;r0&&(i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1]||i.push(i[0]),i.length>=4&&n.push(i))}return n}function Jn(t){return\"[object Arguments]\"===Object.prototype.toString.call(t)}function Zn(t,e,n){return n||(n={}),t===e||(t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():!t||!e||\"object\"!=typeof t&&\"object\"!=typeof e?(n.strict,t===e):function(t,e,n){var r,i;if(Kn(t)||Kn(e))return!1;if(t.prototype!==e.prototype)return!1;if(Jn(t))return!!Jn(e)&&(t=Bs.call(t),e=Bs.call(e),Zn(t,e,n));if(Qn(t)){if(!Qn(e))return!1;if(t.length!==e.length)return!1;for(r=0;r=0;r--)if(o[r]!==s[r])return!1;for(r=o.length-1;r>=0;r--)if(i=o[r],!Zn(t[i],e[i],n))return!1;return typeof t==typeof e}(t,e,n))}function Kn(t){return null===t||void 0===t}function Qn(t){return!(!t||\"object\"!=typeof t||\"number\"!=typeof t.length)&&(\"function\"==typeof t.copy&&\"function\"==typeof t.slice&&!(t.length>0&&\"number\"!=typeof t[0]))}function $n(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.tolerance||0,i=[],o=Qe();o.load(en(t));var s;return G(e,function(t){var e=!1;O(o.search(t),function(n){if(!1===e){var i=U(t).sort(),o=U(n).sort();Zn(i,o)?(e=!0,s=s?tr(s,t):t):(0===r?Nn(i[0],n)&&Nn(i[1],n):on(n,i[0]).properties.dist<=r&&on(n,i[1]).properties.dist<=r)?(e=!0,s=s?tr(s,t):t):(0===r?Nn(o[0],t)&&Nn(o[1],t):on(t,o[0]).properties.dist<=r&&on(t,o[1]).properties.dist<=r)&&(s=s?tr(s,n):n)}}),!1===e&&s&&(i.push(s),s=void 0)}),s&&i.push(s),c(i)}function tr(t,e){var n=U(e),r=U(t),i=r[0],o=r[r.length-1],s=t.geometry.coordinates;return Zn(n[0],i)?s.unshift(n[1]):Zn(n[0],o)?s.push(n[1]):Zn(n[1],i)?s.unshift(n[0]):Zn(n[1],o)&&s.push(n[0]),t}function er(t){var e=t%360;return e<0&&(e+=360),e}function nr(t,e,n,i){if(i=i||{},!I(i))throw new Error(\"options is invalid\");var o=i.units,s=i.properties;if(!t)throw new Error(\"origin is required\");if(void 0===e||null===e)throw new Error(\"distance is required\");if(void 0===n||null===n)throw new Error(\"bearing is required\");if(!(e>=0))throw new Error(\"distance must be greater than 0\");var a=E(e,o,\"meters\"),u=X(t),c=function(t,e,n,r){r=void 0===r?Fo:Number(r);var i=e/r,o=t[0]*Math.PI/180,s=x(t[1]),a=x(n),u=i*Math.cos(a),c=s+u;Math.abs(c)>Math.PI/2&&(c=c>0?Math.PI-c:-Math.PI-c);var h=Math.log(Math.tan(c/2+Math.PI/4)/Math.tan(s/2+Math.PI/4)),l=Math.abs(h)>1e-11?u/h:Math.cos(s),p=i*Math.sin(a)/l;return[(180*(o+p)/Math.PI+540)%360-180,180*c/Math.PI]}(u,a,n);return c[0]+=c[0]-u[0]>180?-360:u[0]-c[0]>180?360:0,r(c,s)}function rr(t,e,n,r,i,o){for(var s=0;s0?function(t,e,n){return ir(t,e,n)<0}(e,a,i)||(i=a):n>0&&r<=0&&(function(t,e,n){return ir(t,e,n)>0}(e,a,o)||(o=a)),n=r}return[i,o]}function ir(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(n[0]-t[0])*(e[1]-t[1])}function or(t){if(!t)throw new Error(\"line is required\");var e=t.geometry?t.geometry.type:t.type;if(!Array.isArray(t)&&\"LineString\"!==e)throw new Error(\"geometry must be a LineString\");for(var n,r,i=U(t),o=0,s=1;s0}function sr(t,e){switch(\"Feature\"===t.type?t.geometry.type:t.type){case\"GeometryCollection\":return A(t,function(t){sr(t,e)}),t;case\"LineString\":return ar(U(t),e),t;case\"Polygon\":return ur(U(t),e),t;case\"MultiLineString\":return U(t).forEach(function(t){ar(t,e)}),t;case\"MultiPolygon\":return U(t).forEach(function(t){ur(t,e)}),t;case\"Point\":case\"MultiPoint\":return t}}function ar(t,e){or(t)===e&&t.reverse()}function ur(t,e){or(t[0])!==e&&t[0].reverse();for(var n=1;ns?128:64,c|=ls?32:16,c|=ps?8:4;var g=+(c|=fs?2:1),d=0;if(17===c||18===c||33===c||34===c||38===c||68===c||72===c||98===c||102===c||132===c||136===c||137===c||152===c||153===c){var y=(h+l+p+f)/4;d=y>s?2:y0?(c=156,d=4):c=152:33===c?d>0?(c=139,d=4):c=137:72===c?d>0?(c=99,d=4):c=98:132===c&&(d>0?(c=39,d=4):c=38)}if(0!=c&&170!=c){var _,m,v,x,E,w,b,I;_=m=v=x=E=w=b=I=.5;var N=[];1===c?(v=1-lr(e,p,f),I=1-lr(e,h,f),N.push(Sa[c])):169===c?(v=lr(s,f,p),I=lr(s,f,h),N.push(Sa[c])):4===c?(w=1-lr(e,l,p),x=lr(e,f,p),N.push(Na[c])):166===c?(w=lr(s,p,l),x=1-lr(s,p,f),N.push(Na[c])):16===c?(E=lr(e,p,l),m=lr(e,h,l),N.push(Ia[c])):154===c?(E=1-lr(s,l,p),m=1-lr(s,l,h),N.push(Ia[c])):64===c?(b=lr(e,f,h),_=1-lr(e,l,h),N.push(La[c])):106===c?(b=1-lr(s,h,f),_=lr(s,h,l),N.push(La[c])):168===c?(x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),N.push(Ca[c]),N.push(Sa[c])):2===c?(x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),N.push(Ca[c]),N.push(Sa[c])):162===c?(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),N.push(Ca[c]),N.push(Sa[c])):8===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),N.push(Ia[c]),N.push(Na[c])):138===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Ia[c]),N.push(Na[c])):32===c?(E=lr(s,p,l),w=lr(e,p,l),_=lr(e,h,l),m=lr(s,h,l),N.push(Ia[c]),N.push(Na[c])):42===c?(I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l),N.push(Ma[c]),N.push(La[c])):128===c&&(I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Ma[c]),N.push(La[c])),5===c?(w=1-lr(e,l,p),I=1-lr(e,h,f),N.push(Na[c])):165===c?(w=lr(s,p,l),I=lr(s,f,h),N.push(Na[c])):20===c?(x=lr(e,f,p),m=lr(e,h,l),N.push(Ca[c])):150===c?(x=1-lr(s,p,f),m=1-lr(s,l,h),N.push(Ca[c])):80===c?(E=lr(e,p,l),b=lr(e,f,h),N.push(Ia[c])):90===c?(E=1-lr(s,l,p),b=1-lr(s,h,f),N.push(Ia[c])):65===c?(v=1-lr(e,p,f),_=1-lr(e,l,h),N.push(Sa[c])):105===c?(v=lr(s,f,p),_=lr(s,h,l),N.push(Sa[c])):160===c?(E=lr(s,p,l),w=lr(e,p,l),I=lr(e,f,h),b=lr(s,f,h),N.push(Ia[c]),N.push(Na[c])):10===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),I=1-lr(s,h,f),b=1-lr(e,h,f),N.push(Ia[c]),N.push(Na[c])):130===c?(x=1-lr(e,p,f),v=1-lr(s,p,f),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Ca[c]),N.push(Sa[c])):40===c?(x=lr(s,f,p),v=lr(e,f,p),_=lr(e,h,l),m=lr(s,h,l),N.push(Ca[c]),N.push(Sa[c])):101===c?(w=lr(s,p,l),_=lr(s,h,l),N.push(Na[c])):69===c?(w=1-lr(e,l,p),_=1-lr(e,l,h),N.push(Na[c])):149===c?(I=lr(s,f,h),m=1-lr(s,l,h),N.push(Ma[c])):21===c?(I=1-lr(e,h,f),m=lr(e,h,l),N.push(Ma[c])):86===c?(x=1-lr(s,p,f),b=1-lr(s,h,f),N.push(Ca[c])):84===c?(x=lr(e,f,p),b=lr(e,f,h),N.push(Ca[c])):89===c?(E=1-lr(s,l,p),v=lr(s,f,p),N.push(Sa[c])):81===c?(E=lr(e,p,l),v=1-lr(e,p,f),N.push(Sa[c])):96===c?(E=lr(s,p,l),w=lr(e,p,l),b=lr(e,f,h),_=lr(s,h,l),N.push(Ia[c]),N.push(Na[c])):74===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),b=1-lr(s,h,f),_=1-lr(e,l,h),N.push(Ia[c]),N.push(Na[c])):24===c?(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),m=lr(e,h,l),N.push(Ia[c]),N.push(Sa[c])):146===c?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),m=1-lr(s,l,h),N.push(Ia[c]),N.push(Sa[c])):6===c?(w=1-lr(e,l,p),x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),N.push(Na[c]),N.push(Ca[c])):164===c?(w=lr(s,p,l),x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),N.push(Na[c]),N.push(Ca[c])):129===c?(v=1-lr(e,p,f),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Sa[c]),N.push(Ma[c])):41===c?(v=lr(s,f,p),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l),N.push(Sa[c]),N.push(Ma[c])):66===c?(x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),_=1-lr(e,l,h),N.push(Ca[c]),N.push(Sa[c])):104===c?(x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),_=lr(s,h,l),N.push(Sa[c]),N.push(Pa[c])):144===c?(E=lr(e,p,l),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h),N.push(Ia[c]),N.push(La[c])):26===c?(E=1-lr(s,l,p),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l),N.push(Ia[c]),N.push(La[c])):36===c?(w=lr(s,p,l),x=lr(e,f,p),_=lr(e,h,l),m=lr(s,h,l),N.push(Na[c]),N.push(Ca[c])):134===c?(w=1-lr(e,l,p),x=1-lr(s,p,f),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Na[c]),N.push(Ca[c])):9===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),I=1-lr(e,h,f),N.push(Ia[c]),N.push(Na[c])):161===c?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),I=lr(s,f,h),N.push(Ia[c]),N.push(Na[c])):37===c?(w=lr(s,p,l),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l),N.push(Na[c]),N.push(Ma[c])):133===c?(w=1-lr(e,l,p),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h),N.push(Na[c]),N.push(Ma[c])):148===c?(x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h),N.push(Ca[c]),N.push(La[c])):22===c?(x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l),N.push(Ca[c]),N.push(La[c])):82===c?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),N.push(Ia[c]),N.push(Sa[c])):88===c?(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),N.push(Ia[c]),N.push(Sa[c])):73===c?(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),_=1-lr(e,l,h),N.push(Ia[c]),N.push(Na[c])):97===c?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),_=lr(s,h,l),N.push(Ia[c]),N.push(Na[c])):145===c?(E=lr(e,p,l),v=1-lr(e,p,f),I=lr(s,f,h),m=1-lr(s,l,h),N.push(Ia[c]),N.push(Ma[c])):25===c?(E=1-lr(s,l,p),v=lr(s,f,p),I=1-lr(e,h,f),m=lr(e,h,l),N.push(Ia[c]),N.push(Ma[c])):70===c?(w=1-lr(e,l,p),x=1-lr(s,p,f),b=1-lr(s,h,f),_=1-lr(e,l,h),N.push(Na[c]),N.push(Ca[c])):100===c?(w=lr(s,p,l),x=lr(e,f,p),b=lr(e,f,h),_=lr(s,h,l),N.push(Na[c]),N.push(Ca[c])):34===c?(0===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(Ma[c]),N.push(La[c])):35===c?(4===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(Sa[c]),N.push(La[c])):136===c?(0===d?(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)):(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)),N.push(Ia[c]),N.push(Na[c]),N.push(Ma[c]),N.push(La[c])):153===c?(0===d?(E=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Sa[c])):102===c?(0===d?(w=1-lr(e,l,p),x=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Na[c]),N.push(La[c])):155===c?(4===d?(E=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Ma[c])):103===c?(4===d?(w=1-lr(e,l,p),x=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Na[c]),N.push(Ca[c])):152===c?(0===d?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Ca[c]),N.push(Sa[c])):156===c?(4===d?(E=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),m=lr(e,h,l)):(E=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),m=1-lr(s,l,h)),N.push(Ia[c]),N.push(Sa[c]),N.push(La[c])):137===c?(0===d?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)):(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)),N.push(Ia[c]),N.push(Na[c]),N.push(Sa[c])):139===c?(4===d?(E=lr(s,p,l),w=lr(e,p,l),v=1-lr(e,p,f),I=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)):(E=1-lr(e,l,p),w=1-lr(s,l,p),v=lr(s,f,p),I=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)),N.push(Ia[c]),N.push(Na[c]),N.push(Ma[c])):98===c?(0===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(La[c])):99===c?(4===d?(E=1-lr(e,l,p),w=1-lr(s,l,p),x=lr(s,f,p),v=lr(e,f,p),b=lr(e,f,h),_=1-lr(e,l,h)):(E=lr(s,p,l),w=lr(e,p,l),x=1-lr(e,p,f),v=1-lr(s,p,f),b=1-lr(s,h,f),_=lr(s,h,l)),N.push(Ia[c]),N.push(Na[c]),N.push(Sa[c])):38===c?(0===d?(w=1-lr(e,l,p),x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Na[c]),N.push(Ma[c]),N.push(La[c])):39===c?(4===d?(w=1-lr(e,l,p),x=lr(e,f,p),I=lr(e,f,h),b=lr(s,f,h),_=1-lr(s,l,h),m=1-lr(e,l,h)):(w=lr(s,p,l),x=1-lr(s,p,f),I=1-lr(s,h,f),b=1-lr(e,h,f),_=lr(e,h,l),m=lr(s,h,l)),N.push(Na[c]),N.push(Ca[c]),N.push(La[c])):85===c&&(E=1,w=0,x=1,v=0,I=0,b=1,_=0,m=1),(_<0||_>1||m<0||m>1||E<0||E>1||x<0||x>1||I<0||I>1||b<0||b>1)&&console.log(\"MarchingSquaresJS-isoBands: \"+c+\" \"+g+\" \"+h+\",\"+l+\",\"+p+\",\"+f+\" \"+d+\" \"+_+\" \"+m+\" \"+E+\" \"+w+\" \"+x+\" \"+v+\" \"+I+\" \"+b),o.cells[a][u]={cval:c,cval_real:g,flipped:d,topleft:_,topright:m,righttop:E,rightbottom:w,bottomright:x,bottomleft:v,leftbottom:I,lefttop:b,edges:N}}}}}return o}(t,e,n);return zs.polygons?(zs.verbose&&console.log(\"MarchingSquaresJS-isoBands: returning single polygons for each grid cell\"),u=function(t){var e=[],n=0;return t.cells.forEach(function(t,r){t.forEach(function(t,i){if(void 0!==t){var o=Ra[t.cval](t);\"object\"==typeof o&&pr(o)?\"object\"==typeof o[0]&&pr(o[0])?\"object\"==typeof o[0][0]&&pr(o[0][0])?o.forEach(function(t){t.forEach(function(t){t[0]+=i,t[1]+=r}),e[n++]=t}):(o.forEach(function(t){t[0]+=i,t[1]+=r}),e[n++]=o):console.log(\"MarchingSquaresJS-isoBands: bandcell polygon with malformed coordinates\"):console.log(\"MarchingSquaresJS-isoBands: bandcell polygon with null coordinates\")}})}),e}(c)):(zs.verbose&&console.log(\"MarchingSquaresJS-isoBands: returning polygon paths for entire data grid\"),u=function(t){for(var e=[],n=t.rows,r=t.cols,i=[],o=0;o0){var a=t.cells[o][s],u=function(t){if(t.edges.length>0){var e=t.edges[t.edges.length-1],n=t.cval_real;switch(e){case 0:return n&Xs?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.topleft,1],x:0,y:-1,o:0};case 1:return n&Us?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 2:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[t.topleft,1],x:0,y:-1,o:0};case 3:return n&Ys?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 4:return n&Xs?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};case 5:return n&Us?{p:[t.topright,1],x:0,y:-1,o:1}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 6:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};case 7:return n&Ys?{p:[t.topright,1],x:0,y:-1,o:1}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 8:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[1,t.righttop],x:-1,y:0,o:1};case 9:return n&Ys?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 10:return n&Ys?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[1,t.righttop],x:-1,y:0,o:1};case 11:return n&js?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[0,t.lefttop],x:1,y:0,o:1};case 12:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 13:return n&Ys?{p:[1,t.rightbottom],x:-1,y:0,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 14:return n&Ys?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 15:return n&js?{p:[1,t.rightbottom],x:-1,y:0,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 16:return n&Us?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[0,t.leftbottom],x:1,y:0,o:0};case 17:return n&js?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[0,t.lefttop],x:1,y:0,o:1};case 18:return n&Ys?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 19:return n&js?{p:[t.bottomleft,0],x:0,y:1,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 20:return n&js?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[0,t.leftbottom],x:1,y:0,o:0};case 21:return n&Xs?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[t.topright,1],x:0,y:-1,o:1};case 22:return n&js?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 23:return n&Xs?{p:[0,t.lefttop],x:1,y:0,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};default:console.log(\"MarchingSquaresJS-isoBands: edge index out of range!\"),console.log(t)}}return null}(a),c=null,h=s,l=o;null!==u&&i.push([u.p[0]+h,u.p[1]+l]);do{if(null===(c=function(t,e,n,r){var i,o,s,a,u,c=t.cval;switch(e){case-1:switch(r){case 0:i=Na[c],s=ea[c],a=na[c],u=ra[c];break;default:i=Ia[c],s=Qs[c],a=$s[c],u=ta[c]}break;case 1:switch(r){case 0:i=Ma[c],s=fa[c],a=ga[c],u=da[c];break;default:i=La[c],s=ha[c],a=la[c],u=pa[c]}break;default:switch(n){case-1:switch(r){case 0:i=Pa[c],s=Vs[c],a=Hs[c],u=Ws[c];break;default:i=Oa[c],s=Js[c],a=Zs[c],u=Ks[c]}break;case 1:switch(r){case 0:i=Sa[c],s=ia[c],a=oa[c],u=sa[c];break;default:i=Ca[c],s=aa[c],a=ua[c],u=ca[c]}}}{if(o=t.edges.indexOf(i),void 0===t.edges[o])return null;!function(t,e){delete t.edges[e];for(var n=e+1;n=n||h<0||h>=r||void 0===t.cells[l][h]){h-=c.x,l-=c.y;var p=function(t,e,n,r,i,o){var s=t.cells[n][e],a=s.cval_real,u=e+r,c=n+i,h=[],l=!1;for(;!l;){if(void 0===t.cells[c]||void 0===t.cells[c][u])if(c-=i,u-=r,s=t.cells[c][u],a=s.cval_real,-1===i)if(0===o)if(a&Ys)h.push([u,c]),r=-1,i=0,o=0;else{if(!(a&Us)){h.push([u+s.bottomright,c]),r=0,i=1,o=1,l=!0;break}h.push([u+1,c]),r=1,i=0,o=0}else{if(!(a&Ys)){if(a&Us){h.push([u+s.bottomright,c]),r=0,i=1,o=1,l=!0;break}h.push([u+s.bottomleft,c]),r=0,i=1,o=0,l=!0;break}h.push([u,c]),r=-1,i=0,o=0}else if(1===i)if(0===o){if(!(a&Xs)){if(a&js){h.push([u+s.topleft,c+1]),r=0,i=-1,o=0,l=!0;break}h.push([u+s.topright,c+1]),r=0,i=-1,o=1,l=!0;break}h.push([u+1,c+1]),r=1,i=0,o=1}else h.push([u+1,c+1]),r=1,i=0,o=1;else if(-1===r)if(0===o){if(!(a&js)){if(a&Ys){h.push([u,c+s.leftbottom]),r=1,i=0,o=0,l=!0;break}h.push([u,c+s.lefttop]),r=1,i=0,o=1,l=!0;break}h.push([u,c+1]),r=0,i=1,o=0}else{if(!(a&js)){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}h.push([u,c+1]),r=0,i=1,o=0}else{if(1!==r){console.log(\"MarchingSquaresJS-isoBands: we came from nowhere!\");break}if(0===o){if(!(a&Us)){h.push([u+1,c+s.rightbottom]),r=-1,i=0,o=0,l=!0;break}h.push([u+1,c]),r=0,i=-1,o=1}else{if(!(a&Us)){if(a&Xs){h.push([u+1,c+s.righttop]),r=-1,i=0,o=1;break}h.push([u+1,c+s.rightbottom]),r=-1,i=0,o=0,l=!0;break}h.push([u+1,c]),r=0,i=-1,o=1}}else if(s=t.cells[c][u],a=s.cval_real,-1===r)if(0===o)if(void 0!==t.cells[c-1]&&void 0!==t.cells[c-1][u])r=0,i=-1,o=1;else{if(!(a&Ys)){h.push([u+s.bottomright,c]),r=0,i=1,o=1,l=!0;break}h.push([u,c])}else{if(!(a&js)){console.log(\"MarchingSquaresJS-isoBands: found entry from top at \"+u+\",\"+c);break}console.log(\"MarchingSquaresJS-isoBands: proceeding in x-direction!\")}else if(1===r){if(0===o){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}if(void 0!==t.cells[c+1]&&void 0!==t.cells[c+1][u])r=0,i=1,o=0;else{if(!(a&Xs)){h.push([u+s.topleft,c+1]),r=0,i=-1,o=0,l=!0;break}h.push([u+1,c+1]),r=1,i=0,o=1}}else if(-1===i){if(1!==o){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}if(void 0!==t.cells[c][u+1])r=1,i=0,o=1;else{if(!(a&Us)){h.push([u+1,c+s.righttop]),r=-1,i=0,o=1,l=!0;break}h.push([u+1,c]),r=0,i=-1,o=1}}else{if(1!==i){console.log(\"MarchingSquaresJS-isoBands: where did we came from???\");break}if(0!==o){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}if(void 0!==t.cells[c][u-1])r=-1,i=0,o=0;else{if(!(a&js)){h.push([u,c+s.leftbottom]),r=1,i=0,o=0,l=!0;break}h.push([u,c+1]),r=0,i=1,o=0}}if(u+=r,c+=i,u===e&&c===n)break}return{path:h,i:u,j:c,x:r,y:i,o:o}}(t,h,l,c.x,c.y,c.o);if(null===p)break;p.path.forEach(function(t){i.push(t)}),h=p.i,l=p.j,u=p}}while(void 0!==t.cells[l][h]&&t.cells[l][h].edges.length>0);e.push(i),i=[],t.cells[o][s].edges.length>0&&s--}return e}(c)),\"function\"==typeof zs.successCallback&&zs.successCallback(u),u}function lr(t,e,n){return(t-e)/(n-e)}function pr(t){return t.constructor.toString().indexOf(\"Array\")>-1}function fr(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.pivot,i=n.mutate;if(!t)throw new Error(\"geojson is required\");if(void 0===e||null===e||isNaN(e))throw new Error(\"angle is required\");return 0===e?t:(r||(r=ye(t)),!1!==i&&void 0!==i||(t=Gt(t)),S(t,function(t){var n=sn(r,t)+e,i=un(r,t),o=U(nr(r,i,n));t[0]=o[0],t[1]=o[1]}),t)}function gr(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.origin,i=n.mutate;if(!t)throw new Error(\"geojson required\");if(\"number\"!=typeof e||0===e)throw new Error(\"invalid factor\");var o=Array.isArray(r)||\"object\"==typeof r;return!0!==i&&(t=Gt(t)),\"FeatureCollection\"!==t.type||o?dr(t,e,r):(O(t,function(n,i){t.features[i]=dr(n,e,r)}),t)}function dr(t,e,n){var i=\"Point\"===K(t);return n=function(t,e){void 0!==e&&null!==e||(e=\"centroid\");if(Array.isArray(e)||\"object\"==typeof e)return X(e);var n=t.bbox?t.bbox:j(t),i=n[0],o=n[1],s=n[2],a=n[3];switch(e){case\"sw\":case\"southwest\":case\"westsouth\":case\"bottomleft\":return r([i,o]);case\"se\":case\"southeast\":case\"eastsouth\":case\"bottomright\":return r([s,o]);case\"nw\":case\"northwest\":case\"westnorth\":case\"topleft\":return r([i,a]);case\"ne\":case\"northeast\":case\"eastnorth\":case\"topright\":return r([s,a]);case\"center\":return de(t);case void 0:case null:case\"centroid\":return ye(t);default:throw new Error(\"invalid origin\")}}(t,n),1===e||i?t:(S(t,function(t){var r=un(n,t),i=sn(n,t),o=U(nr(n,r*e,i));t[0]=o[0],t[1]=o[1],3===t.length&&(t[2]*=e)}),t)}function yr(t){var e=t[0],n=t[1];return[n[0]-e[0],n[1]-e[1]]}function _r(t,e){return t[0]*e[1]-e[0]*t[1]}function mr(t,e){return!function(t,e){return 0===_r(yr(t),yr(e))}(t,e)&&function(t,e){var n=t[0],r=yr(t),i=e[0],o=yr(e),s=_r(r,o);return function(t,e){return[t[0]+e[0],t[1]+e[1]]}(n,function(t,e){return[t*e[0],t*e[1]]}(_r(function(t,e){return[t[0]-e[0],t[1]-e[1]]}(i,n),o)/s,r))}(t,e)}function vr(t,e,n){var r=[],i=_(e,n),o=U(t),s=[];return o.forEach(function(t,e){if(e!==o.length-1){var n=function(t,e,n){var r=Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])),i=t[0]+n*(e[1]-t[1])/r,o=e[0]+n*(e[1]-t[1])/r,s=t[1]+n*(t[0]-e[0])/r,a=e[1]+n*(t[0]-e[0])/r;return[[i,s],[o,a]]}(t,o[e+1],i);if(r.push(n),e>0){var a=r[e-1],u=mr(n,a);!1!==u&&(a[1]=u,n[0]=u),s.push(a[0]),e===o.length-2&&(s.push(n[0]),s.push(n[1]))}2===o.length&&(s.push(n[0]),s.push(n[1]))}}),a(s,t.properties)}function xr(t,e,n){var r=e[0]-t[0],i=e[1]-t[1],o=n[0]-e[0],s=n[1]-e[1];return Math.sign(r*s-o*i)}function Er(t,e){return e.geometry.coordinates[0].every(function(e){return Pt(r(e),t)})}function wr(t,e){for(var n=0;n=Math.abs(s)?o>0?t[0]<=n[0]&&n[0]<=e[0]:e[0]<=n[0]&&n[0]<=t[0]:s>0?t[1]<=n[1]&&n[1]<=e[1]:e[1]<=n[1]&&n[1]<=t[1]}(t.coordinates[n],t.coordinates[n+1],e.coordinates))return!0;return!1}function br(t,e){return nn(e,kn(t)).features.length>0}function Ir(t,e){return!(t[0]>e[0])&&(!(t[2]e[1])&&!(t[3]0}function Mr(t,e){for(var n=!1,i=!1,o=t.coordinates[0].length,s=0;s=Math.abs(a)?s>0?t[0]<=n[0]&&n[0]<=e[0]:e[0]<=n[0]&&n[0]<=t[0]:a>0?t[1]<=n[1]&&n[1]<=e[1]:e[1]<=n[1]&&n[1]<=t[1]:Math.abs(s)>=Math.abs(a)?s>0?t[0]0?t[1]0}function Ar(t,e,n){n=n||[];for(var r=0;r0)){if(o/=p,p<0){if(o0){if(o>l)return;o>h&&(h=o)}if(o=r-u,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>h&&(h=o)}else if(p>0){if(o0)){if(o/=f,f<0){if(o0){if(o>l)return;o>h&&(h=o)}if(o=i-c,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>h&&(h=o)}else if(f>0){if(o0||l<1)||(h>0&&(t[0]=[u+h*p,c+h*f]),l<1&&(t[1]=[u+l*p,c+l*f]),!0)}}}}}function Kr(t,e,n,r,i){var o=t[1];if(o)return!0;var s,a,u=t[0],c=t.left,h=t.right,l=c[0],p=c[1],f=h[0],g=h[1],d=(l+f)/2,y=(p+g)/2;if(g===p){if(d=r)return;if(l>f){if(u){if(u[1]>=i)return}else u=[d,n];o=[d,i]}else{if(u){if(u[1]1)if(l>f){if(u){if(u[1]>=i)return}else u=[(n-a)/s,n];o=[(i-a)/s,i]}else{if(u){if(u[1]=r)return}else u=[e,s*e+a];o=[r,s*r+a]}else{if(u){if(u[0]=-pu)){var f=u*u+c*c,g=h*h+l*l,d=(l*f-c*g)/p,y=(u*g-h*f)/p,_=cu.pop()||new function(){Xr(this),this.x=this.y=this.arc=this.site=this.cy=null};_.arc=t,_.site=i,_.x=d+s,_.y=(_.cy=y+a)+Math.sqrt(d*d+y*y),t.circle=_;for(var m=null,v=au._;v;)if(_.ylu)a=a.L;else{if(!((i=o-function(t,e){var n=t.N;if(n)return ai(n,e);var r=t.site;return r[1]===e?r[0]:1/0}(a,s))>lu)){r>-lu?(e=a.P,n=a):i>-lu?(e=a,n=a.N):e=n=a;break}if(!a.R){e=a;break}a=a.R}!function(t){su[t.index]={site:t,halfedges:[]}}(t);var u=ri(t);if(ou.insert(e,u),e||n){if(e===n)return ni(e),n=ri(e.site),ou.insert(u,n),u.edge=n.edge=Hr(e.site,u.site),ei(e),void ei(n);if(n){ni(e),ni(n);var c=e.site,h=c[0],l=c[1],p=t[0]-h,f=t[1]-l,g=n.site,d=g[0]-h,y=g[1]-l,_=2*(p*y-f*d),m=p*p+f*f,v=d*d+y*y,x=[(y*m-f*v)/_+h,(p*v-d*m)/_+l];Jr(n.edge,c,g,x),u.edge=Hr(c,t,null,x),n.edge=Hr(t,g,null,x),ei(e),ei(n)}else u.edge=Hr(e.site,u.site)}}function ai(t,e){var n=t.site,r=n[0],i=n[1],o=i-e;if(!o)return r;var s=t.P;if(!s)return-1/0;var a=(n=s.site)[0],u=n[1],c=u-e;if(!c)return a;var h=a-r,l=1/o-1/c,p=h/c;return l?(-p+Math.sqrt(p*p-2*l*(h*h/(-2*c)-u+c/2+i-o/2)))/l+r:(r+a)/2}function ui(t,e,n){return(t[0]-n[0])*(e[1]-t[1])-(t[0]-e[0])*(n[1]-t[1])}function ci(t,e){return e[1]-t[1]||e[0]-t[0]}function hi(t,e){var n,r,i,o=t.sort(ci).pop();for(uu=[],su=new Array(t.length),ou=new jr,au=new jr;;)if(i=iu,o&&(!i||o[1]lu||Math.abs(i[0][1]-i[1][1])>lu)||delete uu[o]}(s,a,u,c),function(t,e,n,r){var i,o,s,a,u,c,h,l,p,f,g,d,y=su.length,_=!0;for(i=0;ilu||Math.abs(d-p)>lu)&&(u.splice(a,0,uu.push(Wr(s,f,Math.abs(g-t)lu?[t,Math.abs(l-t)lu?[Math.abs(p-r)lu?[n,Math.abs(l-n)lu?[Math.abs(p-e)=-270&&(d=-d),g<-180&&g>=-360&&(y=-y),\"degrees\"===s){var _=d*Math.cos(l)+y*Math.sin(l),m=y*Math.cos(l)-d*Math.sin(l);d=_,y=m}p.push([d+h[0],y+h[1]])}return p.push(p[0]),\"degrees\"===s?o([p],c):fr(o([p],c),a,{pivot:u})}function fi(t){var e=t*Math.PI/180;return Math.tan(e)}function gi(t,e){if(e=e||{},!I(e))throw new Error(\"options is invalid\");var n=e.properties,i=e.weight;if(!t)throw new Error(\"geojson is required\");var o=0,s=0,a=0;return A(t,function(t,e,n){var r=n[i];if(r=void 0===r||null===r?1:r,!b(r))throw new Error(\"weight value must be a number for feature index \"+e);(r=Number(r))>0&&S(t,function(t){o+=t[0]*r,s+=t[1]*r,a+=r})}),r([o/a,s/a],n)}function di(t,e,n,i){var o=n.properties.tolerance||.001,s=0,a=0,u=0,c=0;if(O(n,function(e){var n=e.properties.weight,r=void 0===n||null===n?1:n;if(r=Number(r),!b(r))throw new Error(\"weight value must be a number\");if(r>0){c+=1;var i=r*qt(e,t);0===i&&(i=1);var o=r/i;s+=e.geometry.coordinates[0]*o,a+=e.geometry.coordinates[1]*o,u+=o}}),c<1)throw new Error(\"no features to measure\");var h=s/u,l=a/u;return 1===c||0===i||Math.abs(h-e[0])0?t+n[e-1]:t}),h.forEach(function(t){t=2*t*Math.PI/h[h.length-1];var e=Math.random();u.push([e*i*Math.sin(t),e*i*Math.cos(t)])}),u[u.length-1]=u[0],u=u.map(function(t){return function(e){return[e[0]+t[0],e[1]+t[1]]}}(_i(n))),s.push(o([u]))}return c(s)}function xi(t,e){if(e=e||{},!I(e))throw new Error(\"options is invalid\");var n=e.bbox,r=e.num_vertices,i=e.max_length,o=e.max_rotation;void 0!==t&&null!==t||(t=1),(!b(r)||r<2)&&(r=10),b(i)||(i=1e-4),b(o)||(o=Math.PI/8);for(var s=[],u=0;u1?t:null;case\"MultiPolygon\":var e=[];if(F(t,function(t){mn(t)>1&&e.push(t.geometry.coordinates)}),e.length)return{type:\"MultiPolygon\",coordinates:e}}}function Yi(){this.reset()}function Vi(t,e,n){var r=t.s=e+n,i=r-e,o=r-i;t.t=e-o+(n-i)}function Hi(t){return t>1?kf:t<-1?-kf:Math.asin(t)}function Wi(){}function Ji(t,e){t&&eg.hasOwnProperty(t.type)&&eg[t.type](t,e)}function Zi(t,e,n){var r,i=-1,o=t.length-n;for(e.lineStart();++iBf?t-jf:t<-Bf?t+jf:t,e]}function so(t,e,n){return(t%=jf)?e||n?rg(uo(t),co(e,n)):uo(t):e||n?co(e,n):oo}function ao(t){return function(e,n){return e+=t,[e>Bf?e-jf:e<-Bf?e+jf:e,n]}}function uo(t){var e=ao(t);return e.invert=ao(-t),e}function co(t,e){function n(t,e){var n=Wf(e),a=Wf(t)*n,u=Kf(t)*n,c=Kf(e),h=c*r+a*i;return[Hf(u*o-h*s,a*r-c*i),Hi(h*o+u*s)]}var r=Wf(t),i=Kf(t),o=Wf(e),s=Kf(e);return n.invert=function(t,e){var n=Wf(e),a=Wf(t)*n,u=Kf(t)*n,c=Kf(e),h=c*o-u*s;return[Hf(u*o+c*s,a*r+h*i),Hi(h*r-a*i)]},n}function ho(t,e){(e=$i(e))[0]-=t,io(e);var n=function(t){return t>1?0:t<-1?Bf:Math.acos(t)}(-e[1]);return((-e[2]<0?-n:n)+jf-Gf)%jf}function lo(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function po(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r0)do{c.point(0===h||3===h?t:n,h>1?r:e)}while((h=(h+a+4)%4)!==l);else c.point(o[0],o[1])}function s(r,i){return Yf(r[0]-t)0?0:3:Yf(r[0]-n)0?2:1:Yf(r[1]-e)0?1:0:i>0?3:2}function a(t,e){return u(t.x,e.x)}function u(t,e){var n=s(t,1),r=s(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(s){function u(t,e){i(t,e)&&E.point(t,e)}function c(o,s){var a=i(o,s);if(l&&p.push([o,s]),v)f=o,g=s,d=a,v=!1,a&&(E.lineStart(),E.point(o,s));else if(a&&m)E.point(o,s);else{var u=[y=Math.max(pg,Math.min(lg,y)),_=Math.max(pg,Math.min(lg,_))],c=[o=Math.max(pg,Math.min(lg,o)),s=Math.max(pg,Math.min(lg,s))];sg(u,c,t,e,n,r)?(m||(E.lineStart(),E.point(u[0],u[1])),E.point(c[0],c[1]),a||E.lineEnd(),x=!1):a&&(E.lineStart(),E.point(o,s),x=!1)}y=o,_=s,m=a}var h,l,p,f,g,d,y,_,m,v,x,E=s,w=og(),b={point:u,lineStart:function(){b.point=c,l&&l.push(p=[]),v=!0,m=!1,y=_=NaN},lineEnd:function(){h&&(c(f,g),d&&m&&w.rejoin(),h.push(w.result())),b.point=u,m&&E.lineEnd()},polygonStart:function(){E=w,h=[],l=[],x=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=l.length;nr&&(p-o)*(r-s)>(f-s)*(t-o)&&++e:f<=r&&(p-o)*(r-s)<(f-s)*(t-o)&&--e;return e}(),n=x&&e,i=(h=hg(h)).length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),i&&ug(h,a,e,o,s),s.polygonEnd()),E=s,h=l=p=null}};return b}}function go(t){return t.length>1}function yo(t,e){return((t=t.x)[0]<0?t[1]-kf-Gf:kf-t[1])-((e=e.x)[0]<0?e[1]-kf-Gf:kf-e[1])}function _o(t){return function(e){var n=new mo;for(var r in t)n[r]=t[r];return n.stream=e,n}}function mo(){}function vo(t,e,n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]),null!=o&&t.clipExtent(null),ng(n,t.stream(vg));var s=vg.result(),a=Math.min(r/(s[1][0]-s[0][0]),i/(s[1][1]-s[0][1])),u=+e[0][0]+(r-a*(s[1][0]+s[0][0]))/2,c=+e[0][1]+(i-a*(s[1][1]+s[0][1]))/2;return null!=o&&t.clipExtent(o),t.scale(150*a).translate([u,c])}function xo(t){return function(t){function e(t){return t=c(t[0]*Uf,t[1]*Uf),[t[0]*d+s,a-t[1]*d]}function n(t,e){return t=o(t,e),[t[0]*d+s,a-t[1]*d]}function r(){c=rg(u=so(x,E,w),o);var t=o(m,v);return s=y-t[0]*d,a=_+t[1]*d,i()}function i(){return f=g=null,e}var o,s,a,u,c,h,l,p,f,g,d=150,y=480,_=250,m=0,v=0,x=0,E=0,w=0,b=null,I=Eg,N=null,C=gg,S=.5,M=Ng(n,S);e.stream=function(t){return f&&g===t?f:f=Cg(I(u,M(C(g=t))))},e.clipAngle=function(t){return arguments.length?(I=+t?wg(b=t*Uf,6*Uf):(b=null,Eg),i()):b*Xf},e.clipExtent=function(t){return arguments.length?(C=null==t?(N=h=l=p=null,gg):fo(N=+t[0][0],h=+t[0][1],l=+t[1][0],p=+t[1][1]),i()):null==N?null:[[N,h],[l,p]]},e.scale=function(t){return arguments.length?(d=+t,r()):d},e.translate=function(t){return arguments.length?(y=+t[0],_=+t[1],r()):[y,_]},e.center=function(t){return arguments.length?(m=t[0]%360*Uf,v=t[1]%360*Uf,r()):[m*Xf,v*Xf]},e.rotate=function(t){return arguments.length?(x=t[0]%360*Uf,E=t[1]%360*Uf,w=t.length>2?t[2]%360*Uf:0,r()):[x*Xf,E*Xf,w*Xf]},e.precision=function(t){return arguments.length?(M=Ng(n,S=t*t),i()):Qf(S)},e.fitExtent=function(t,n){return vo(e,t,n)},e.fitSize=function(t,n){return function(t,e,n){return vo(t,[[0,0],e],n)}(e,t,n)};return function(){return o=t.apply(this,arguments),e.invert=o.invert&&function(t){return(t=c.invert((t[0]-s)/d,(a-t[1])/d))&&[t[0]*Xf,t[1]*Xf]},r()}}(function(){return t})()}function Eo(t,e){return[t,Zf($f((kf+e)/2))]}function wo(t,e){return[Zf($f((kf+e)/2)),-t]}function bo(t,n,r,i){var o=t.properties||{},s=\"Feature\"===t.type?t.geometry:t;if(\"GeometryCollection\"===s.type){var a=[];return A(t,function(t){var e=bo(t,n,r,i);e&&a.push(e)}),c(a)}var u,h=j(t),l=h[1]>50&&h[3]>50;u=l?{type:s.type,coordinates:No(s.coordinates,So(s))}:cn(s);var p=(new bh).read(u),f=d(y(n,r),\"meters\"),g=gp.bufferOp(p,f);if(g=(new Ih).write(g),!Io(g.coordinates)){var _;return(_=l?{type:g.type,coordinates:Co(g.coordinates,So(s))}:hn(g)).geometry?_:e(_,o)}}function Io(t){return Array.isArray(t[0])?Io(t[0]):isNaN(t[0])}function No(t,e){return\"object\"!=typeof t[0]?e(t):t.map(function(t){return No(t,e)})}function Co(t,e){return\"object\"!=typeof t[0]?e.invert(t):t.map(function(t){return Co(t,e)})}function So(t){var e=de(t).geometry.coordinates.reverse(),n=e.map(function(t){return-t});return Sg().center(e).rotate(n).scale(Fo)}function Mo(){for(var t=new bh,e=t.read(JSON.stringify(arguments[0].geometry)),n=1;n=0&&(void 0===i||sm/2;P&&(L-=m/4);for(var O=[],R=[],T=0;T<6;T++){var A=2*Math.PI/6*T;O.push(Math.cos(A)),R.push(Math.sin(A))}for(var D=[],F=0;F<=C;F++)for(var q=0;q<=M;q++){var G=F%2==1;if((0!==q||!G)&&(0!==q||!P)){var B=F*E+a-S,k=q*w+u+L;if(G&&(k-=m/2),!0===i)(function(t,e,n,r,i,s){for(var a=[],u=0;u<6;u++){var c=[];c.push(t),c.push([t[0]+e*i[u],t[1]+n*s[u]]),c.push([t[0]+e*i[(u+1)%6],t[1]+n*s[(u+1)%6]]),c.push(t),a.push(o([c],r))}return a})([B,k],g/2,d/2,r,O,R).forEach(function(t){s?Lo(s,t)&&D.push(t):D.push(t)});else{var z=function(t,e,n,r,i,s){for(var a=[],u=0;u<6;u++){var c=t[0]+e*i[u],h=t[1]+n*s[u];a.push([c,h])}return a.push(a[0].slice()),o([a],r)}([B,k],g/2,d/2,r,O,R);s?Lo(s,z)&&D.push(z):D.push(z)}}}return c(D)}function Ro(t){if(t.features.length<=1)return t;var e=function(t){var e=Vo(),n=[];return F(t,function(t,e){var r=j(t);n.push({minX:r[0],minY:r[1],maxX:r[2],maxY:r[3],geojson:t,index:e})}),e.load(n),e}(t),n=[],r={};return F(t,function(t,i){if(r[i])return!0;for(e.remove({index:i},To),r[i]=!0;;){var o=j(t),s=e.search({minX:o[0],minY:o[1],maxX:o[2],maxY:o[3]});if(s.length>0){var a=s.map(function(t){return r[t.index]=!0,e.remove({index:t.index},To),t.geojson});a.push(t),t=Mo.apply(this,a)}if(0===s.length)break}n.push(t)}),c(n)}function To(t,e){return t.index===e.index}function Ao(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.properties,i=n.mask,s=[];if(null===e||void 0===e)throw new Error(\"cellSide is required\");if(!b(e))throw new Error(\"cellSide is invalid\");if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be array\");if(4!==t.length)throw new Error(\"bbox must contain 4 numbers\");if(i&&-1===[\"Polygon\",\"MultiPolygon\"].indexOf(K(i)))throw new Error(\"options.mask must be a (Multi)Polygon\");for(var a=t[0],u=t[1],h=t[2],l=t[3],p=e/qt([a,u],[h,u],n)*(h-a),f=e/qt([a,u],[a,l],n)*(l-u),g=h-a,d=l-u,y=Math.floor(g/p),_=Math.floor(d/f),m=(d-_*f)/2,v=a+(g-y*p)/2,x=0;x=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(i,o,e)},_split:function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var o=this._chooseSplitIndex(n,i,r),s=yt(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,at(n,this.toBBox),at(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s)},_splitRoot:function(t,e){this.data=yt([t,e]),this.data.height=t.height+1,this.data.leaf=!1,at(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var r,i,o,s,a,u,c,h;for(u=c=1/0,r=e;r<=n-e;r++)s=function(t,e){var n=Math.max(t.minX,e.minX),r=Math.max(t.minY,e.minY),i=Math.min(t.maxX,e.maxX),o=Math.min(t.maxY,e.maxY);return Math.max(0,i-n)*Math.max(0,o-r)}(i=ut(t,0,r,this.toBBox),o=ut(t,r,n,this.toBBox)),a=pt(i)+pt(o),s=e;i--)o=t.children[i],ct(u,t.leaf?s(o):o),c+=ft(u);return c},_adjustParentBBoxes:function(t,e,n){for(var r=n;r>=0;r--)ct(e[r],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():at(t[n],this.toBBox)},_initFormat:function(t){var e=[\"return a\",\" - b\",\";\"];this.compareMinX=new Function(\"a\",\"b\",e.join(t[0])),this.compareMinY=new Function(\"a\",\"b\",e.join(t[1])),this.toBBox=new Function(\"a\",\"return {minX: a\"+t[0]+\", minY: a\"+t[1]+\", maxX: a\"+t[2]+\", maxY: a\"+t[3]+\"};\")}};var Ho=function(t,e,n){var r=t*e,i=Wo*t,o=i-(i-t),s=t-o,a=Wo*e,u=a-(a-e),c=e-u,h=s*c-(r-o*u-s*u-o*c);return n?(n[0]=h,n[1]=r,n):[h,r]},Wo=+(Math.pow(2,27)+1),Jo=function(t,e){var n=0|t.length,r=0|e.length;if(1===n&&1===r)return function(t,e){var n=t+e,r=n-t,i=t-(n-r)+(e-r);return i?[i,n]:[n]}(t[0],e[0]);var i,o,s=n+r,a=new Array(s),u=0,c=0,h=0,l=Math.abs,p=t[c],f=l(p),g=e[h],d=l(g);f=r?(i=p,(c+=1)=r?(i=p,(c+=1)>1;return[\"sum(\",r(t.slice(0,e)),\",\",r(t.slice(e)),\")\"].join(\"\")}function i(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var o=[],s=0;s0){if(o<=0)return s;r=i+o}else{if(!(i<0))return s;if(o>=0)return s;r=-(i+o)}var u=3.3306690738754716e-16*r;return s>=u||s<=-u?s:a(t,e,n)},function(t,e,n,r){var i=t[0]-r[0],o=e[0]-r[0],s=n[0]-r[0],a=t[1]-r[1],c=e[1]-r[1],h=n[1]-r[1],l=t[2]-r[2],p=e[2]-r[2],f=n[2]-r[2],g=o*h,d=s*c,y=s*a,_=i*h,m=i*c,v=o*a,x=l*(g-d)+p*(y-_)+f*(m-v),E=7.771561172376103e-16*((Math.abs(g)+Math.abs(d))*Math.abs(l)+(Math.abs(y)+Math.abs(_))*Math.abs(p)+(Math.abs(m)+Math.abs(v))*Math.abs(f));return x>E||-x>E?x:u(t,e,n,r)}];!function(){for(;c.length<=s;)c.push(o(c.length));for(var e=[],n=[\"slow\"],r=0;r<=s;++r)e.push(\"a\"+r),n.push(\"o\"+r);var i=[\"function getOrientation(\",e.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(r=2;r<=s;++r)i.push(\"case \",r,\":return o\",r,\"(\",e.slice(0,r).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i1&&es(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(a),c=s.length;c>1&&es(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(a)}n=new Array(s.length+o.length-2);for(var h=0,l=(r=0,o.length);r0;--p)n[h++]=s[p];return n},es=$o[3],ns=vt,rs=vt;vt.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,n=this.compare,r=e[t];t>0;){var i=t-1>>1,o=e[i];if(n(r,o)>=0)break;e[t]=o,t=i}e[t]=r},_down:function(t){for(var e=this.data,n=this.compare,r=this.length>>1,i=e[t];t=0)break;e[t]=a,t=o}e[t]=i}},ns.default=rs;var is=function(t,e){for(var n=t[0],r=t[1],i=!1,o=0,s=e.length-1;or!=h>r&&n<(c-a)*(r-u)/(h-u)+a&&(i=!i)}return i},os=$o[3],ss=xt,as=xt;ss.default=as;var us=function(t){return t},cs=function(t){if(null==t)return us;var e,n,r=t.scale[0],i=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,a){a||(e=n=0);var u=2,c=t.length,h=new Array(c);for(h[0]=(e+=t[0])*r+o,h[1]=(n+=t[1])*i+s;u=t)throw new Error(\"full hashmap\");h=s[c=c+1&u]}return s[c]=r,a[c]=o,o},maybeSet:function(r,o){for(var c=e(r)&u,h=s[c],l=0;h!=i;){if(n(h,r))return a[c];if(++l>=t)throw new Error(\"full hashmap\");h=s[c=c+1&u]}return s[c]=r,a[c]=o,o},get:function(r,o){for(var c=e(r)&u,h=s[c],l=0;h!=i;){if(n(h,r))return a[c];if(++l>=t)break;h=s[c=c+1&u]}return o},keys:function(){for(var t=[],e=0,n=s.length;e>7^_s[2]^_s[3])},vs=function(t){function e(t,e,n,r){if(p[n]!==t){p[n]=t;var i=f[n];if(i>=0){var o=g[n];i===e&&o===r||i===r&&o===e||(++y,d[n]=1)}else f[n]=e,g[n]=r}}function n(t){return ms(u[t])}function r(t,e){return gs(u[t],u[e])}var i,o,s,a,u=t.coordinates,c=t.lines,h=t.rings,l=function(){for(var t=fs(1.4*u.length,n,r,Int32Array,-1,Int32Array),e=new Int32Array(u.length),i=0,o=u.length;i=t)throw new Error(\"full hashset\");u=o[a=a+1&s]}return o[a]=r,!0},has:function(r){for(var a=e(r)&s,u=o[a],c=0;u!=i;){if(n(u,r))return!0;if(++c>=t)break;u=o[a=a+1&s]}return!1},values:function(){for(var t=[],e=0,n=o.length;ea&&(a=e),nu&&(u=n)}function r(t){t.forEach(n)}function i(t){t.forEach(r)}var o=1/0,s=1/0,a=-1/0,u=-1/0,c={GeometryCollection:function(t){t.geometries.forEach(e)},Point:function(t){n(t.coordinates)},MultiPoint:function(t){t.coordinates.forEach(n)},LineString:function(t){r(t.arcs)},MultiLineString:function(t){t.arcs.forEach(r)},Polygon:function(t){t.arcs.forEach(r)},MultiPolygon:function(t){t.arcs.forEach(i)}};for(var h in t)e(t[h]);return a>=o&&u>=s?[o,s,a,u]:void 0}(t=function(t){var e,n={};for(e in t)n[e]=Vt(t[e]);return n}(t)),s=e>0&&o&&function(t,e,n){function r(t){return[Math.round((t[0]-c)*f),Math.round((t[1]-h)*g)]}function i(t,e){for(var n,r,i,o,s,a=-1,u=0,l=t.length,p=new Array(l);++at&&(e.push(r),n=i)}return e},bs.prototype.vector=function(t){var e=this.pos(t+10),n=this.pos(t-10);return{angle:180*Math.atan2(e.y-n.y,e.x-n.x)/3.14,speed:Math.sqrt((n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y)+(n.z-e.z)*(n.z-e.z))}},bs.prototype.pos=function(t){var e=t-this.delay;e<0&&(e=0),e>this.duration&&(e=this.duration-1);var n=e/this.duration;if(n>=1)return this.points[this.length-1];var r=Math.floor((this.points.length-1)*n);return function(t,e,n,r,i){var o=function(t){var e=t*t;return[e*t,3*e*(1-t),3*t*(1-t)*(1-t),(1-t)*(1-t)*(1-t)]}(t);return{x:i.x*o[0]+r.x*o[1]+n.x*o[2]+e.x*o[3],y:i.y*o[0]+r.y*o[1]+n.y*o[2]+e.y*o[3],z:i.z*o[0]+r.z*o[1]+n.z*o[2]+e.z*o[3]}}((this.length-1)*n-r,this.points[r],this.controls[r][1],this.controls[r+1][0],this.points[r+1])};var Is=ve,Ns=ve;ve.deviation=function(t,e,n,r){var i=e&&e.length,o=i?e[0]*n:t.length,s=Math.abs(Ae(t,0,o,n));if(i)for(var a=0,u=e.length;a0&&(r+=t[i-1].length,n.holes.push(r))}return n},Is.default=Ns,ke.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,n=[],r=this.toBBox;if(!Je(t,e))return n;for(var i,o,s,a,u=[];e;){for(i=0,o=e.children.length;i=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(i,o,e)},_split:function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var o=this._chooseSplitIndex(n,i,r),s=Ze(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,ze(n,this.toBBox),ze(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s)},_splitRoot:function(t,e){this.data=Ze([t,e]),this.data.height=t.height+1,this.data.leaf=!1,ze(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var r,i,o,s,a,u,c,h;for(u=c=1/0,r=e;r<=n-e;r++)s=function(t,e){var n=Math.max(t.minX,e.minX),r=Math.max(t.minY,e.minY),i=Math.min(t.maxX,e.maxX),o=Math.min(t.maxY,e.maxY);return Math.max(0,i-n)*Math.max(0,o-r)}(i=je(t,0,r,this.toBBox),o=je(t,r,n,this.toBBox)),a=Ve(i)+Ve(o),s=e;i--)o=t.children[i],Xe(u,t.leaf?s(o):o),c+=He(u);return c},_adjustParentBBoxes:function(t,e,n){for(var r=n;r>=0;r--)Xe(e[r],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():ze(t[n],this.toBBox)},_initFormat:function(t){var e=[\"return a\",\" - b\",\";\"];this.compareMinX=new Function(\"a\",\"b\",e.join(t[0])),this.compareMinY=new Function(\"a\",\"b\",e.join(t[1])),this.toBBox=new Function(\"a\",\"return {minX: a\"+t[0]+\", minY: a\"+t[1]+\", maxX: a\"+t[2]+\", maxY: a\"+t[3]+\"};\")}};var Cs=Object.freeze({toMercator:cn,toWgs84:hn}),Ss=6378137,Ms=function(t,e,n){function r(t,n,r,i){var u=o[t][n],c=o[t][n+1],h=o[r][i],l=o[r][i+1],p=function(t,e,n,r){if(On(t,n)||On(t,r)||On(e,n)||On(r,n))return null;var i=t[0],o=t[1],s=e[0],a=e[1],u=n[0],c=n[1],h=r[0],l=r[1],p=(i-s)*(c-l)-(o-a)*(u-h);return 0===p?null:[((i*a-o*s)*(u-h)-(i-s)*(u*l-c*h))/p,((i*a-o*s)*(c-l)-(o-a)*(u*l-c*h))/p]}(u,c,h,l);if(null!==p){var f,g;if(f=c[0]!==u[0]?(p[0]-u[0])/(c[0]-u[0]):(p[1]-u[1])/(c[1]-u[1]),g=l[0]!==h[0]?(p[0]-h[0])/(l[0]-h[0]):(p[1]-h[1])/(l[1]-h[1]),!(f>=1||f<=0||g>=1||g<=0)){var d=p,y=!a[d];y&&(a[d]=!0),e?s.push(e(p,t,n,u,c,f,r,i,h,l,g,y)):s.push(p)}}}function i(t,e){var n,r,i,s,a=o[t][e],u=o[t][e+1];return a[0]1)for(e=0;ey[e.isect].coord?-1:1});for(f=[];N.length>0;){var P=N.pop(),O=P.isect,R=P.parent,T=P.winding,A=f.length,D=[y[O].coord],F=O;if(y[O].ringAndEdge1Walkable)var q=y[O].ringAndEdge1,G=y[O].nxtIsectAlongRingAndEdge1;else q=y[O].ringAndEdge2,G=y[O].nxtIsectAlongRingAndEdge2;for(;!Tn(y[O].coord,y[G].coord);){D.push(y[G].coord);var B=void 0;for(a=0;ap&&(d>h&&gh&&du&&(u=y)}var _=[];if(a&&u0&&Math.abs(x-n[v-1][0])>p){var E=parseFloat(n[v-1][0]),w=parseFloat(n[v-1][1]),b=parseFloat(n[v][0]),I=parseFloat(n[v][1]);if(E>-180&&E-180&&n[v-1][0]h&&E<180&&-180===b&&v+1h&&n[v-1][0]<180){m.push([180,n[v][1]]),v++,m.push([n[v][0],n[v][1]]);continue}if(Eh){var N=E;E=b,b=N;var C=w;w=I,I=C}if(E>h&&b=180&&Eh?180:-180,M]),(m=[]).push([n[v-1][0]>h?-180:180,M]),_.push(m)}else m=[],_.push(m);m.push([x,n[v][1]])}else m.push([n[v][0],n[v][1]])}}else{var L=[];_.push(L);for(var P=0;P=0&&i.coordinates[0]-t.coordinates[0]<0)return 1;if(r.coordinates[0]-t.coordinates[0]<0&&i.coordinates[0]-t.coordinates[0]>=0)return-1;if(r.coordinates[0]-t.coordinates[0]==0&&i.coordinates[0]-t.coordinates[0]==0)return r.coordinates[1]-t.coordinates[1]>=0||i.coordinates[1]-t.coordinates[1]>=0?r.coordinates[1]-i.coordinates[1]:i.coordinates[1]-r.coordinates[1];var o=xr(t.coordinates,r.coordinates,i.coordinates);if(o<0)return 1;if(o>0)return-1;return Math.pow(r.coordinates[0]-t.coordinates[0],2)+Math.pow(r.coordinates[1]-t.coordinates[1],2)-(Math.pow(i.coordinates[0]-t.coordinates[0],2)+Math.pow(i.coordinates[1]-t.coordinates[1],2))}),this.outerEdgesSorted=!0)},Ta.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},Ta.prototype.getOuterEdge=function(t){return this.sortOuterEdges(),this.outerEdges[t]},Ta.prototype.addInnerEdge=function(t){this.innerEdges.push(t)};var Aa=function(t,e){this.from=t,this.to=e,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)};Aa.prototype.getSymetric=function(){return this.symetric||(this.symetric=new Aa(this.to,this.from),this.symetric.symetric=this),this.symetric},Aa.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},Aa.prototype.isEqual=function(t){return this.from.id===t.from.id&&this.to.id===t.to.id},Aa.prototype.toString=function(){return\"Edge { \"+this.from.id+\" -> \"+this.to.id+\" }\"},Aa.prototype.toLineString=function(){return a([this.from.coordinates,this.to.coordinates])},Aa.prototype.compareTo=function(t){return xr(t.from.coordinates,t.to.coordinates,this.to.coordinates)};var Da=function(){this.edges=[],this.polygon=void 0,this.envelope=void 0},Fa={length:{configurable:!0}};Da.prototype.push=function(t){this[this.edges.length]=t,this.edges.push(t),this.polygon=this.envelope=void 0},Da.prototype.get=function(t){return this.edges[t]},Fa.length.get=function(){return this.edges.length},Da.prototype.forEach=function(t){this.edges.forEach(t)},Da.prototype.map=function(t){return this.edges.map(t)},Da.prototype.some=function(t){return this.edges.some(t)},Da.prototype.isValid=function(){return!0},Da.prototype.isHole=function(){var t=this,e=this.edges.reduce(function(e,n,r){return n.from.coordinates[1]>t.edges[e].from.coordinates[1]&&(e=r),e},0),n=(0===e?this.length:e)-1,r=(e+1)%this.length,i=xr(this.edges[n].from.coordinates,this.edges[e].from.coordinates,this.edges[r].from.coordinates);return 0===i?this.edges[n].from.coordinates[0]>this.edges[r].from.coordinates[0]:i>0},Da.prototype.toMultiPoint=function(){return l(this.edges.map(function(t){return t.from.coordinates}))},Da.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var t=this.edges.map(function(t){return t.from.coordinates});return t.push(this.edges[0].from.coordinates),this.polygon=o([t])},Da.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=he(this.toPolygon())},Da.findEdgeRingContaining=function(t,e){var n,i,o=t.getEnvelope();return e.forEach(function(e){var s=e.getEnvelope();if(i&&(n=i.getEnvelope()),!function(t,e){var n=t.geometry.coordinates.map(function(t){return t[0]}),r=t.geometry.coordinates.map(function(t){return t[1]}),i=e.geometry.coordinates.map(function(t){return t[0]}),o=e.geometry.coordinates.map(function(t){return t[1]});return Math.max(null,n)===Math.max(null,i)&&Math.max(null,r)===Math.max(null,o)&&Math.min(null,n)===Math.min(null,i)&&Math.min(null,r)===Math.min(null,o)}(s,o)&&Er(s,o)){var a=t.map(function(t){return t.from.coordinates}).find(function(t){return!e.some(function(e){return function(t,e){return t[0]===e[0]&&t[1]===e[1]}(t,e.from.coordinates)})});a&&e.inside(r(a))&&(i&&!Er(n,s)||(i=e))}}),i},Da.prototype.inside=function(t){return Pt(t,this.toPolygon())},Object.defineProperties(Da.prototype,Fa);var qa=function(){this.edges=[],this.nodes={}};qa.fromGeoJson=function(t){!function(t){if(!t)throw new Error(\"No geojson passed\");if(\"FeatureCollection\"!==t.type&&\"GeometryCollection\"!==t.type&&\"MultiLineString\"!==t.type&&\"LineString\"!==t.type&&\"Feature\"!==t.type)throw new Error(\"Invalid input type '\"+t.type+\"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature\")}(t);var e=new qa;return F(t,function(t){H(t,\"LineString\",\"Graph::fromGeoJson\"),M(t,function(t,n){if(t){var r=e.getNode(t),i=e.getNode(n);e.addEdge(r,i)}return n})}),e},qa.prototype.getNode=function(t){var e=Ta.buildId(t),n=this.nodes[e];return n||(n=this.nodes[e]=new Ta(t)),n},qa.prototype.addEdge=function(t,e){var n=new Aa(t,e),r=n.getSymetric();this.edges.push(n),this.edges.push(r)},qa.prototype.deleteDangles=function(){var t=this;Object.keys(this.nodes).map(function(e){return t.nodes[e]}).forEach(function(e){return t._removeIfDangle(e)})},qa.prototype._removeIfDangle=function(t){var e=this;if(t.innerEdges.length<=1){var n=t.getOuterEdges().map(function(t){return t.to});this.removeNode(t),n.forEach(function(t){return e._removeIfDangle(t)})}},qa.prototype.deleteCutEdges=function(){var t=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach(function(e){e.label===e.symetric.label&&(t.removeEdge(e.symetric),t.removeEdge(e))})},qa.prototype._computeNextCWEdges=function(t){var e=this;void 0===t?Object.keys(this.nodes).forEach(function(t){return e._computeNextCWEdges(e.nodes[t])}):t.getOuterEdges().forEach(function(e,n){t.getOuterEdge((0===n?t.getOuterEdges().length:n)-1).symetric.next=e})},qa.prototype._computeNextCCWEdges=function(t,e){for(var n,r,i=t.getOuterEdges(),o=i.length-1;o>=0;--o){var s=i[o],a=s.symetric,u=void 0,c=void 0;s.label===e&&(u=s),a.label===e&&(c=a),u&&c&&(c&&(r=c),u&&(r&&(r.next=u,r=void 0),n||(n=u)))}r&&(r.next=n)},qa.prototype._findLabeledEdgeRings=function(){var t=[],e=0;return this.edges.forEach(function(n){if(!(n.label>=0)){t.push(n);var r=n;do{r.label=e,r=r.next}while(!n.isEqual(r));e++}}),t},qa.prototype.getEdgeRings=function(){var t=this;this._computeNextCWEdges(),this.edges.forEach(function(t){t.label=void 0}),this._findLabeledEdgeRings().forEach(function(e){t._findIntersectionNodes(e).forEach(function(n){t._computeNextCCWEdges(n,e.label)})});var e=[];return this.edges.forEach(function(n){n.ring||e.push(t._findEdgeRing(n))}),e},qa.prototype._findIntersectionNodes=function(t){var e=[],n=t,r=function(){var r=0;n.from.getOuterEdges().forEach(function(e){e.label===t.label&&++r}),r>1&&e.push(n.from),n=n.next};do{r()}while(!t.isEqual(n));return e},qa.prototype._findEdgeRing=function(t){var e=t,n=new Da;do{n.push(e),e.ring=n,e=e.next}while(!t.isEqual(e));return n},qa.prototype.removeNode=function(t){var e=this;t.getOuterEdges().forEach(function(t){return e.removeEdge(t)}),t.innerEdges.forEach(function(t){return e.removeEdge(t)}),delete this.nodes[t.id]},qa.prototype.removeEdge=function(t){this.edges=this.edges.filter(function(e){return!e.isEqual(t)}),t.deleteEdge()};var Ga=mt(function(t,e){function n(t){var e=[];for(var n in t)e.push(n);return e}(t.exports=\"function\"==typeof Object.keys?Object.keys:n).shim=n}),Ba=(Ga.shim,mt(function(t,e){function n(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function r(t){return t&&\"object\"==typeof t&&\"number\"==typeof t.length&&Object.prototype.hasOwnProperty.call(t,\"callee\")&&!Object.prototype.propertyIsEnumerable.call(t,\"callee\")||!1}var i=\"[object Arguments]\"==function(){return Object.prototype.toString.call(arguments)}();(e=t.exports=i?n:r).supported=n,e.unsupported=r})),ka=(Ba.supported,Ba.unsupported,mt(function(t){function e(t){return null===t||void 0===t}function n(t){return!(!t||\"object\"!=typeof t||\"number\"!=typeof t.length)&&(\"function\"==typeof t.copy&&\"function\"==typeof t.slice&&!(t.length>0&&\"number\"!=typeof t[0]))}var r=Array.prototype.slice,i=t.exports=function(t,o,s){return s||(s={}),t===o||(t instanceof Date&&o instanceof Date?t.getTime()===o.getTime():!t||!o||\"object\"!=typeof t&&\"object\"!=typeof o?s.strict?t===o:t==o:function(t,o,s){var a,u;if(e(t)||e(o))return!1;if(t.prototype!==o.prototype)return!1;if(Ba(t))return!!Ba(o)&&(t=r.call(t),o=r.call(o),i(t,o,s));if(n(t)){if(!n(o))return!1;if(t.length!==o.length)return!1;for(a=0;a=0;a--)if(c[a]!=h[a])return!1;for(a=c.length-1;a>=0;a--)if(u=c[a],!i(t[u],o[u],s))return!1;return typeof t==typeof o}(t,o,s))}})),za=function(t){this.precision=t&&t.precision?t.precision:17,this.direction=!(!t||!t.direction)&&t.direction,this.pseudoNode=!(!t||!t.pseudoNode)&&t.pseudoNode,this.objectComparator=t&&t.objectComparator?t.objectComparator:Rr};za.prototype.compare=function(t,e){if(t.type!==e.type||!Or(t,e))return!1;switch(t.type){case\"Point\":return this.compareCoord(t.coordinates,e.coordinates);case\"LineString\":return this.compareLine(t.coordinates,e.coordinates,0,!1);case\"Polygon\":return this.comparePolygon(t,e);case\"Feature\":return this.compareFeature(t,e);default:if(0===t.type.indexOf(\"Multi\")){var n=this,r=Pr(t),i=Pr(e);return r.every(function(t){return this.some(function(e){return n.compare(t,e)})},i)}}return!1},za.prototype.compareCoord=function(t,e){if(t.length!==e.length)return!1;for(var n=0;n=0&&(n=[].concat(t.slice(r,t.length),t.slice(1,r+1))),n},za.prototype.comparePath=function(t,e){var n=this;return t.every(function(t,e){return n.compareCoord(t,this[e])},e)},za.prototype.comparePolygon=function(t,e){if(this.compareLine(t.coordinates[0],e.coordinates[0],1,!0)){var n=t.coordinates.slice(1,t.coordinates.length),r=e.coordinates.slice(1,e.coordinates.length),i=this;return n.every(function(t){return this.some(function(e){return i.compareLine(t,e,1,!0)})},r)}return!1},za.prototype.compareFeature=function(t,e){return!(t.id!==e.id||!this.objectComparator(t.properties,e.properties)||!this.compareBBox(t,e))&&this.compare(t.geometry,e.geometry)},za.prototype.compareBBox=function(t,e){return!!(!t.bbox&&!e.bbox||t.bbox&&e.bbox&&this.compareCoord(t.bbox,e.bbox))},za.prototype.removePseudo=function(t){return t};var ja=za,Xa=mt(function(t){function e(t,e,n,r){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(t,e,n,r)}e.prototype.run=function(t,e,n,r){this._init(t,e,n,r);for(var i=0;i=this.minPts&&(e=this._mergeArrays(e,i))}1!==this._assigned[r]&&this._addToCluster(r,t)}},e.prototype._addToCluster=function(t,e){this.clusters[e].push(t),this._assigned[t]=1},e.prototype._regionQuery=function(t){for(var e=[],n=0;n0){for(u=0;u=0);return t},e.prototype.assign=function(){for(var t,e=!1,n=this.dataset.length,r=0;ri&&(n=r):e=this.minPts)return n}},e.prototype._regionQuery=function(t,e){e=e||this.epsilon;for(var n=[],r=0,i=this.dataset.length;r0;r.length0;){var a=t[Math.floor(Math.random()*o)],u=s?a.join(\"_\"):\"\"+a;n[u]||(n[u]=!0,r.push(a))}if(r.length0,s=t[Math.floor(Math.random()*i)];o&&s.join(\"_\");for(r.push(s);r.length0,f=[];if(n)i=\"kmrand\"==n?Qa(t,e):\"kmpp\"==n?$a(t,e):n;else for(var g={};i.length0;){var u=s.pop();if(u===n)return Fr(u);u.closed=!0;for(var c=t.neighbors(u),h=0,l=c.length;h0&&(this.content[0]=e,this.bubbleUp(0)),t},remove:function(t){var e=this.content.indexOf(t),n=this.content.pop();e!==this.content.length-1&&(this.content[e]=n,this.scoreFunction(n)0;){var n=(t+1>>1)-1,r=this.content[n];if(!(this.scoreFunction(e)=a)return null;var u=t-i.site[0],c=e-i.site[1],h=u*u+c*c;do{i=o.cells[r=s],s=null,i.halfedges.forEach(function(n){var r=o.edges[n],a=r.left;if(a!==i.site&&a||(a=r.right)){var u=t-a[0],c=e-a[1],l=u*u+c*c;le.x?1:this.ye.y?1:0},bu.prototype.clone=function(){},bu.prototype.copy=function(){return new bu(this)},bu.prototype.toString=function(){return\"(\"+this.x+\", \"+this.y+\", \"+this.z+\")\"},bu.prototype.distance3D=function(t){var e=this.x-t.x,n=this.y-t.y,r=this.z-t.z;return Math.sqrt(e*e+n*n+r*r)},bu.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},bu.prototype.hashCode=function(){var t=17;return t=37*t+bu.hashCode(this.x),t=37*t+bu.hashCode(this.y)},bu.prototype.setCoordinate=function(t){this.x=t.x,this.y=t.y,this.z=t.z},bu.prototype.interfaces_=function(){return[xu,Eu,Li]},bu.prototype.getClass=function(){return bu},bu.hashCode=function(){if(1===arguments.length){var t=arguments[0],e=mu.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},Iu.DimensionalComparator.get=function(){return Nu},Iu.serialVersionUID.get=function(){return 0x5cbf2c235c7e5800},Iu.NULL_ORDINATE.get=function(){return mu.NaN},Iu.X.get=function(){return 0},Iu.Y.get=function(){return 1},Iu.Z.get=function(){return 2},Object.defineProperties(bu,Iu);var Nu=function(t){if(this._dimensionsToTest=2,0===arguments.length);else if(1===arguments.length){var e=arguments[0];if(2!==e&&3!==e)throw new _u(\"only 2 or 3 dimensions may be specified\");this._dimensionsToTest=e}};Nu.prototype.compare=function(t,e){var n=t,r=e,i=Nu.compare(n.x,r.x);if(0!==i)return i;var o=Nu.compare(n.y,r.y);if(0!==o)return o;if(this._dimensionsToTest<=2)return 0;return Nu.compare(n.z,r.z)},Nu.prototype.interfaces_=function(){return[wu]},Nu.prototype.getClass=function(){return Nu},Nu.compare=function(t,e){return te?1:mu.isNaN(t)?mu.isNaN(e)?0:-1:mu.isNaN(e)?1:0};var Cu=function(){};Cu.prototype.create=function(){},Cu.prototype.interfaces_=function(){return[]},Cu.prototype.getClass=function(){return Cu};var Su=function(){},Mu={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};Su.prototype.interfaces_=function(){return[]},Su.prototype.getClass=function(){return Su},Su.toLocationSymbol=function(t){switch(t){case Su.EXTERIOR:return\"e\";case Su.BOUNDARY:return\"b\";case Su.INTERIOR:return\"i\";case Su.NONE:return\"-\"}throw new _u(\"Unknown location value: \"+t)},Mu.INTERIOR.get=function(){return 0},Mu.BOUNDARY.get=function(){return 1},Mu.EXTERIOR.get=function(){return 2},Mu.NONE.get=function(){return-1},Object.defineProperties(Su,Mu);var Lu=function(t,e){return t.interfaces_&&t.interfaces_().indexOf(e)>-1},Pu=function(){},Ou={LOG_10:{configurable:!0}};Pu.prototype.interfaces_=function(){return[]},Pu.prototype.getClass=function(){return Pu},Pu.log10=function(t){var e=Math.log(t);return mu.isInfinite(e)?e:mu.isNaN(e)?e:e/Pu.LOG_10},Pu.min=function(t,e,n,r){var i=t;return en?n:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var r=arguments[0],i=arguments[1],o=arguments[2];return ro?o:r}},Pu.wrap=function(t,e){return t<0?e- -t%e:t%e},Pu.max=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],r=t;return e>r&&(r=e),n>r&&(r=n),r}if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3],u=i;return o>u&&(u=o),s>u&&(u=s),a>u&&(u=a),u}},Pu.average=function(t,e){return(t+e)/2},Ou.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(Pu,Ou);var Ru=function(t){this.str=t};Ru.prototype.append=function(t){this.str+=t},Ru.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},Ru.prototype.toString=function(t){return this.str};var Tu=function(t){this.value=t};Tu.prototype.intValue=function(){return this.value},Tu.prototype.compareTo=function(t){return this.valuet?1:0},Tu.isNaN=function(t){return Number.isNaN(t)};var Au=function(){};Au.isWhitespace=function(t){return t<=32&&t>=0||127===t},Au.toUpperCase=function(t){return t.toUpperCase()};var Du=function t(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if(\"number\"==typeof arguments[0]){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof t){var n=arguments[0];this.init(n)}else if(\"string\"==typeof arguments[0]){var r=arguments[0];t.call(this,t.parse(r))}}else if(2===arguments.length){var i=arguments[0],o=arguments[1];this.init(i,o)}},Fu={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};Du.prototype.le=function(t){return(this._hi9?(h=!0,l=\"9\"):l=\"0\"+c,s.append(l),n=n.subtract(Du.valueOf(c)).multiply(Du.TEN),h&&n.selfAdd(Du.TEN);var p=!0,f=Du.magnitude(n._hi);if(f<0&&Math.abs(f)>=a-u&&(p=!1),!p)break}return e[0]=r,s.toString()},Du.prototype.sqr=function(){return this.multiply(this)},Du.prototype.doubleValue=function(){return this._hi+this._lo},Du.prototype.subtract=function(){if(arguments[0]instanceof Du){var t=arguments[0];return this.add(t.negate())}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.add(-e)}},Du.prototype.equals=function(){if(1===arguments.length){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}},Du.prototype.isZero=function(){return 0===this._hi&&0===this._lo},Du.prototype.selfSubtract=function(){if(arguments[0]instanceof Du){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e,0)}},Du.prototype.getSpecialNumberString=function(){return this.isZero()?\"0.0\":this.isNaN()?\"NaN \":null},Du.prototype.min=function(t){return this.le(t)?this:t},Du.prototype.selfDivide=function(){if(1===arguments.length){if(arguments[0]instanceof Du){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.selfDivide(e,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=null,o=null,s=null,a=null,u=null,c=null,h=null,l=null;return u=this._hi/n,c=Du.SPLIT*u,i=c-u,l=Du.SPLIT*n,i=c-i,o=u-i,s=l-n,h=u*n,s=l-s,a=n-s,l=i*s-h+i*a+o*s+o*a,c=(this._hi-h-l+this._lo-u*r)/n,l=u+c,this._hi=l,this._lo=u-l+c,this}},Du.prototype.dump=function(){return\"DD<\"+this._hi+\", \"+this._lo+\">\"},Du.prototype.divide=function(){if(arguments[0]instanceof Du){var t=arguments[0],e=null,n=null,r=null,i=null,o=null,s=null,a=null,u=null;n=(o=this._hi/t._hi)-(e=(s=Du.SPLIT*o)-(e=s-o)),u=e*(r=(u=Du.SPLIT*t._hi)-(r=u-t._hi))-(a=o*t._hi)+e*(i=t._hi-r)+n*r+n*i,s=(this._hi-a-u+this._lo-o*t._lo)/t._hi;return new Du(u=o+s,o-u+s)}if(\"number\"==typeof arguments[0]){var c=arguments[0];return mu.isNaN(c)?Du.createNaN():Du.copy(this).selfDivide(c,0)}},Du.prototype.ge=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>=t._lo},Du.prototype.pow=function(t){if(0===t)return Du.valueOf(1);var e=new Du(this),n=Du.valueOf(1),r=Math.abs(t);if(r>1)for(;r>0;)r%2==1&&n.selfMultiply(e),(r/=2)>0&&(e=e.sqr());else n=e;return t<0?n.reciprocal():n},Du.prototype.ceil=function(){if(this.isNaN())return Du.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new Du(t,e)},Du.prototype.compareTo=function(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0},Du.prototype.rint=function(){if(this.isNaN())return this;return this.add(.5).floor()},Du.prototype.setValue=function(){if(arguments[0]instanceof Du){var t=arguments[0];return this.init(t),this}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.init(e),this}},Du.prototype.max=function(t){return this.ge(t)?this:t},Du.prototype.sqrt=function(){if(this.isZero())return Du.valueOf(0);if(this.isNegative())return Du.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,n=Du.valueOf(e),r=this.subtract(n.sqr())._hi*(.5*t);return n.add(r)},Du.prototype.selfAdd=function(){if(1===arguments.length){if(arguments[0]instanceof Du){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0],n=null,r=null,i=null,o=null,s=null,a=null;return i=this._hi+e,s=i-this._hi,o=i-s,o=e-s+(this._hi-o),a=o+this._lo,n=i+a,r=a+(i-n),this._hi=n+r,this._lo=r+(n-this._hi),this}}else if(2===arguments.length){var u=arguments[0],c=arguments[1],h=null,l=null,p=null,f=null,g=null,d=null,y=null;f=this._hi+u,l=this._lo+c,g=f-(d=f-this._hi),p=l-(y=l-this._lo);var _=(h=f+(d=(g=u-d+(this._hi-g))+l))+(d=(p=c-y+(this._lo-p))+(d+(f-h))),m=d+(h-_);return this._hi=_,this._lo=m,this}},Du.prototype.selfMultiply=function(){if(1===arguments.length){if(arguments[0]instanceof Du){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.selfMultiply(e,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=null,o=null,s=null,a=null,u=null,c=null;i=(u=Du.SPLIT*this._hi)-this._hi,c=Du.SPLIT*n,i=u-i,o=this._hi-i,s=c-n;var h=(u=this._hi*n)+(c=i*(s=c-s)-u+i*(a=n-s)+o*s+o*a+(this._hi*r+this._lo*n)),l=c+(i=u-h);return this._hi=h,this._lo=l,this}},Du.prototype.selfSqr=function(){return this.selfMultiply(this)},Du.prototype.floor=function(){if(this.isNaN())return Du.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new Du(t,e)},Du.prototype.negate=function(){return this.isNaN()?this:new Du(-this._hi,-this._lo)},Du.prototype.clone=function(){},Du.prototype.multiply=function(){if(arguments[0]instanceof Du){var t=arguments[0];return t.isNaN()?Du.createNaN():Du.copy(this).selfMultiply(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return mu.isNaN(e)?Du.createNaN():Du.copy(this).selfMultiply(e,0)}},Du.prototype.isNaN=function(){return mu.isNaN(this._hi)},Du.prototype.intValue=function(){return Math.trunc(this._hi)},Du.prototype.toString=function(){var t=Du.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},Du.prototype.toStandardNotation=function(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!0,e),r=e[0]+1,i=n;if(\".\"===n.charAt(0))i=\"0\"+n;else if(r<0)i=\"0.\"+Du.stringOfChar(\"0\",-r)+n;else if(-1===n.indexOf(\".\")){var o=r-n.length;i=n+Du.stringOfChar(\"0\",o)+\".0\"}return this.isNegative()?\"-\"+i:i},Du.prototype.reciprocal=function(){var t=null,e=null,n=null,r=null,i=null,o=null,s=null,a=null;e=(i=1/this._hi)-(t=(o=Du.SPLIT*i)-(t=o-i)),n=(a=Du.SPLIT*this._hi)-this._hi;var u=i+(o=(1-(s=i*this._hi)-(a=t*(n=a-n)-s+t*(r=this._hi-n)+e*n+e*r)-i*this._lo)/this._hi);return new Du(u,i-u+o)},Du.prototype.toSciNotation=function(){if(this.isZero())return Du.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!1,e),r=Du.SCI_NOT_EXPONENT_CHAR+e[0];if(\"0\"===n.charAt(0))throw new Error(\"Found leading zero: \"+n);var i=\"\";n.length>1&&(i=n.substring(1));var o=n.charAt(0)+\".\"+i;return this.isNegative()?\"-\"+o+r:o+r},Du.prototype.abs=function(){return this.isNaN()?Du.NaN:this.isNegative()?this.negate():new Du(this)},Du.prototype.isPositive=function(){return(this._hi>0||0===this._hi)&&this._lo>0},Du.prototype.lt=function(t){return(this._hit._hi||this._hi===t._hi)&&this._lo>t._lo},Du.prototype.isNegative=function(){return(this._hi<0||0===this._hi)&&this._lo<0},Du.prototype.trunc=function(){return this.isNaN()?Du.NaN:this.isPositive()?this.floor():this.ceil()},Du.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},Du.prototype.interfaces_=function(){return[Li,xu,Eu]},Du.prototype.getClass=function(){return Du},Du.sqr=function(t){return Du.valueOf(t).selfMultiply(t)},Du.valueOf=function(){if(\"string\"==typeof arguments[0]){var t=arguments[0];return Du.parse(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return new Du(e)}},Du.sqrt=function(t){return Du.valueOf(t).sqrt()},Du.parse=function(t){for(var e=0,n=t.length;Au.isWhitespace(t.charAt(e));)e++;var r=!1;if(e=n);){var c=t.charAt(e);if(e++,Au.isDigit(c)){var h=c-\"0\";o.selfMultiply(Du.TEN),o.selfAdd(h),s++}else{if(\".\"!==c){if(\"e\"===c||\"E\"===c){var l=t.substring(e);try{u=Tu.parseInt(l)}catch(e){throw e instanceof Error?new Error(\"Invalid exponent \"+l+\" in string \"+t):e}break}throw new Error(\"Unexpected character '\"+c+\"' at position \"+e+\" in string \"+t)}a=s}}var p=o,f=s-a-u;if(0===f)p=o;else if(f>0){var g=Du.TEN.pow(f);p=o.divide(g)}else if(f<0){var d=Du.TEN.pow(-f);p=o.multiply(d)}return r?p.negate():p},Du.createNaN=function(){return new Du(mu.NaN,mu.NaN)},Du.copy=function(t){return new Du(t)},Du.magnitude=function(t){var e=Math.abs(t),n=Math.log(e)/Math.log(10),r=Math.trunc(Math.floor(n));return 10*Math.pow(10,r)<=e&&(r+=1),r},Du.stringOfChar=function(t,e){for(var n=new Ru,r=0;r0){if(o<=0)return qu.signum(s);r=i+o}else{if(!(i<0))return qu.signum(s);if(o>=0)return qu.signum(s);r=-i-o}var a=qu.DP_SAFE_EPSILON*r;return s>=a||-s>=a?qu.signum(s):2},qu.signum=function(t){return t>0?1:t<0?-1:0},Gu.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(qu,Gu);var Bu=function(){},ku={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};ku.X.get=function(){return 0},ku.Y.get=function(){return 1},ku.Z.get=function(){return 2},ku.M.get=function(){return 3},Bu.prototype.setOrdinate=function(t,e,n){},Bu.prototype.size=function(){},Bu.prototype.getOrdinate=function(t,e){},Bu.prototype.getCoordinate=function(){},Bu.prototype.getCoordinateCopy=function(t){},Bu.prototype.getDimension=function(){},Bu.prototype.getX=function(t){},Bu.prototype.clone=function(){},Bu.prototype.expandEnvelope=function(t){},Bu.prototype.copy=function(){},Bu.prototype.getY=function(t){},Bu.prototype.toCoordinateArray=function(){},Bu.prototype.interfaces_=function(){return[Eu]},Bu.prototype.getClass=function(){return Bu},Object.defineProperties(Bu,ku);var zu=function(){},ju=function(t){function e(){t.call(this,\"Projective point not representable on the Cartesian plane.\")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(zu),Xu=function(){};Xu.arraycopy=function(t,e,n,r,i){for(var o=0,s=e;st._minx?this._minx:t._minx,n=this._miny>t._miny?this._miny:t._miny,r=this._maxx=this._minx&&e.getMaxX()<=this._maxx&&e.getMinY()>=this._miny&&e.getMaxY()<=this._maxy)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return!this.isNull()&&(n>=this._minx&&n<=this._maxx&&r>=this._miny&&r<=this._maxy)}},Yu.prototype.intersects=function(){if(1===arguments.length){if(arguments[0]instanceof Yu){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||nthis._maxy||rthis._maxx&&(this._maxx=e._maxx),e._minythis._maxy&&(this._maxy=e._maxy))}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=r,this._maxy=r):(nthis._maxx&&(this._maxx=n),rthis._maxy&&(this._maxy=r))}},Yu.prototype.minExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0},Yu.prototype.translate=function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)},Yu.prototype.toString=function(){return\"Env[\"+this._minx+\" : \"+this._maxx+\", \"+this._miny+\" : \"+this._maxy+\"]\"},Yu.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},Yu.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},Yu.prototype.maxExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e},Yu.prototype.expandBy=function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=n,this._maxy+=n,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},Yu.prototype.contains=function(){if(1===arguments.length){if(arguments[0]instanceof Yu){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof bu){var e=arguments[0];return this.covers(e)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return this.covers(n,r)}},Yu.prototype.centre=function(){return this.isNull()?null:new bu((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},Yu.prototype.init=function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof bu){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Yu){var e=arguments[0];this._minx=e._minx,this._maxx=e._maxx,this._miny=e._miny,this._maxy=e._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];it._maxx&&(e=this._minx-t._maxx);var n=0;return this._maxyt._maxy&&(n=this._miny-t._maxy),0===e?n:0===n?e:Math.sqrt(e*e+n*n)},Yu.prototype.hashCode=function(){var t=17;return t=37*t+bu.hashCode(this._minx),t=37*t+bu.hashCode(this._maxx),t=37*t+bu.hashCode(this._miny),t=37*t+bu.hashCode(this._maxy)},Yu.prototype.interfaces_=function(){return[xu,Li]},Yu.prototype.getClass=function(){return Yu},Yu.intersects=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2];return n.x>=(t.xe.x?t.x:e.x)&&n.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],s=arguments[3],a=Math.min(o.x,s.x),u=Math.max(o.x,s.x),c=Math.min(r.x,i.x),h=Math.max(r.x,i.x);return!(c>u)&&(!(hu)&&!(hthis.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}},ec.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},ec.prototype.setPrecisionModel=function(t){this._precisionModel=t},ec.prototype.isInteriorIntersection=function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],e=0;ei?r:i;else{var s=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(o=r>i?s:a)||t.equals(e)||(o=Math.max(s,a))}return tc.isTrue(!(0===o&&!t.equals(e)),\"Bad distance calculation\"),o},ec.nonRobustComputeEdgeDistance=function(t,e,n){var r=t.x-e.x,i=t.y-e.y,o=Math.sqrt(r*r+i*i);return tc.isTrue(!(0===o&&!t.equals(e)),\"Invalid distance calculation\"),o},nc.DONT_INTERSECT.get=function(){return 0},nc.DO_INTERSECT.get=function(){return 1},nc.COLLINEAR.get=function(){return 2},nc.NO_INTERSECTION.get=function(){return 0},nc.POINT_INTERSECTION.get=function(){return 1},nc.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(ec,nc);var rc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(t){var e=new Yu(this._inputLines[0][0],this._inputLines[0][1]),n=new Yu(this._inputLines[1][0],this._inputLines[1][1]);return e.contains(t)&&n.contains(t)},e.prototype.computeIntersection=function(){if(3!==arguments.length)return t.prototype.computeIntersection.apply(this,arguments);var e=arguments[0],n=arguments[1],r=arguments[2];if(this._isProper=!1,Yu.intersects(n,r,e)&&0===sc.orientationIndex(n,r,e)&&0===sc.orientationIndex(r,n,e))return this._isProper=!0,(e.equals(n)||e.equals(r))&&(this._isProper=!1),this._result=t.POINT_INTERSECTION,null;this._result=t.NO_INTERSECTION},e.prototype.normalizeToMinimum=function(t,e,n,r,i){i.x=this.smallestInAbsValue(t.x,e.x,n.x,r.x),i.y=this.smallestInAbsValue(t.y,e.y,n.y,r.y),t.x-=i.x,t.y-=i.y,e.x-=i.x,e.y-=i.y,n.x-=i.x,n.y-=i.y,r.x-=i.x,r.y-=i.y},e.prototype.safeHCoordinateIntersection=function(t,n,r,i){var o=null;try{o=Uu.intersection(t,n,r,i)}catch(s){if(!(s instanceof ju))throw s;o=e.nearestEndpoint(t,n,r,i)}return o},e.prototype.intersection=function(t,n,r,i){var o=this.intersectionWithNormalization(t,n,r,i);return this.isInSegmentEnvelopes(o)||(o=new bu(e.nearestEndpoint(t,n,r,i))),null!==this._precisionModel&&this._precisionModel.makePrecise(o),o},e.prototype.smallestInAbsValue=function(t,e,n,r){var i=t,o=Math.abs(i);return Math.abs(e)1e-4&&Xu.out.println(\"Distance = \"+i.distance(o))},e.prototype.intersectionWithNormalization=function(t,e,n,r){var i=new bu(t),o=new bu(e),s=new bu(n),a=new bu(r),u=new bu;this.normalizeToEnvCentre(i,o,s,a,u);var c=this.safeHCoordinateIntersection(i,o,s,a);return c.x+=u.x,c.y+=u.y,c},e.prototype.computeCollinearIntersection=function(e,n,r,i){var o=Yu.intersects(e,n,r),s=Yu.intersects(e,n,i),a=Yu.intersects(r,i,e),u=Yu.intersects(r,i,n);return o&&s?(this._intPt[0]=r,this._intPt[1]=i,t.COLLINEAR_INTERSECTION):a&&u?(this._intPt[0]=e,this._intPt[1]=n,t.COLLINEAR_INTERSECTION):o&&a?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||s||u?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):o&&u?(this._intPt[0]=r,this._intPt[1]=n,!r.equals(n)||s||a?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):s&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||o||u?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):s&&u?(this._intPt[0]=i,this._intPt[1]=n,!i.equals(n)||o||a?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):t.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(t,e,n,r,i){var o=t.xe.x?t.x:e.x,u=t.y>e.y?t.y:e.y,c=n.xr.x?n.x:r.x,p=n.y>r.y?n.y:r.y,f=((o>c?o:c)+(ah?s:h)+(u0&&s>0||o<0&&s<0)return t.NO_INTERSECTION;var a=sc.orientationIndex(r,i,e),u=sc.orientationIndex(r,i,n);if(a>0&&u>0||a<0&&u<0)return t.NO_INTERSECTION;return 0===o&&0===s&&0===a&&0===u?this.computeCollinearIntersection(e,n,r,i):(0===o||0===s||0===a||0===u?(this._isProper=!1,e.equals2D(r)||e.equals2D(i)?this._intPt[0]=e:n.equals2D(r)||n.equals2D(i)?this._intPt[0]=n:0===o?this._intPt[0]=new bu(r):0===s?this._intPt[0]=new bu(i):0===a?this._intPt[0]=new bu(e):0===u&&(this._intPt[0]=new bu(n))):(this._isProper=!0,this._intPt[0]=this.intersection(e,n,r,i)),t.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(t,e,n,r){var i=t,o=sc.distancePointLine(t,n,r),s=sc.distancePointLine(e,n,r);return s0?n>0?-i:i:n>0?i:-i;if(0===e||0===n)return r>0?t>0?i:-i:t>0?-i:i;if(e>0?r>0?e<=r||(i=-i,o=t,t=n,n=o,o=e,e=r,r=o):e<=-r?(i=-i,n=-n,r=-r):(o=t,t=-n,n=o,o=e,e=-r,r=o):r>0?-e<=r?(i=-i,t=-t,e=-e):(o=-t,t=n,n=o,o=-e,e=r,r=o):e>=r?(t=-t,e=-e,n=-n,r=-r):(i=-i,o=-t,t=-n,n=o,o=-e,e=-r,r=o),t>0){if(!(n>0))return i;if(!(t<=n))return i}else{if(n>0)return-i;if(!(t>=n))return-i;i=-i,t=-t,n=-n}for(;;){if(s=Math.floor(n/t),n-=s*t,(r-=s*e)<0)return-i;if(r>e)return i;if(t>n+n){if(er+r)return-i;n=t-n,r=e-r,i=-i}if(0===r)return 0===n?0:-i;if(0===n)return i;if(s=Math.floor(t/n),t-=s*n,(e-=s*r)<0)return i;if(e>r)return-i;if(n>t+t){if(re+e)return i;t=n-t,e=r-e,i=-i}if(0===e)return 0===t?0:i;if(0===t)return-i}};var oc=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};oc.prototype.countSegment=function(t,e){if(t.xr&&(n=e.x,r=t.x),this._p.x>=n&&this._p.x<=r&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=t.x-this._p.x,o=t.y-this._p.y,s=e.x-this._p.x,a=e.y-this._p.y,u=ic.signOfDet2x2(i,o,s,a);if(0===u)return this._isPointOnSegment=!0,null;a0&&this._crossingCount++}},oc.prototype.isPointInPolygon=function(){return this.getLocation()!==Su.EXTERIOR},oc.prototype.getLocation=function(){return this._isPointOnSegment?Su.BOUNDARY:this._crossingCount%2==1?Su.INTERIOR:Su.EXTERIOR},oc.prototype.isOnSegment=function(){return this._isPointOnSegment},oc.prototype.interfaces_=function(){return[]},oc.prototype.getClass=function(){return oc},oc.locatePointInRing=function(){if(arguments[0]instanceof bu&&Lu(arguments[1],Bu)){for(var t=arguments[0],e=arguments[1],n=new oc(t),r=new bu,i=new bu,o=1;o1||a<0||a>1)&&(i=!0)}}else i=!0;return i?Pu.min(sc.distancePointLine(t,n,r),sc.distancePointLine(e,n,r),sc.distancePointLine(n,t,e),sc.distancePointLine(r,t,e)):0},sc.isPointInRing=function(t,e){return sc.locatePointInRing(t,e)!==Su.EXTERIOR},sc.computeLength=function(t){var e=t.size();if(e<=1)return 0;var n=0,r=new bu;t.getCoordinate(0,r);for(var i=r.x,o=r.y,s=1;sn.y&&(n=o,r=i)}var s=r;do{(s-=1)<0&&(s=e)}while(t[s].equals2D(n)&&s!==r);var a=r;do{a=(a+1)%e}while(t[a].equals2D(n)&&a!==r);var u=t[s],c=t[a];if(u.equals2D(n)||c.equals2D(n)||u.equals2D(c))return!1;var h=sc.computeOrientation(u,n,c),l=!1;return l=0===h?u.x>c.x:h>0,l},sc.locatePointInRing=function(t,e){return oc.locatePointInRing(t,e)},sc.distancePointLinePerpendicular=function(t,e,n){var r=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),i=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/r;return Math.abs(i)*Math.sqrt(r)},sc.computeOrientation=function(t,e,n){return sc.orientationIndex(t,e,n)},sc.distancePointLine=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];if(0===e.length)throw new _u(\"Line array must contain at least one vertex\");for(var n=t.distance(e[0]),r=0;r=1)return o.distance(a);var h=((s.y-o.y)*(a.x-s.x)-(s.x-o.x)*(a.y-s.y))/u;return Math.abs(h)*Math.sqrt(u)}},sc.isOnLine=function(t,e){for(var n=new rc,r=1;r0},yc.prototype.interfaces_=function(){return[fc]},yc.prototype.getClass=function(){return yc};var _c=function(){};_c.prototype.isInBoundary=function(t){return t>1},_c.prototype.interfaces_=function(){return[fc]},_c.prototype.getClass=function(){return _c};var mc=function(){};mc.prototype.isInBoundary=function(t){return 1===t},mc.prototype.interfaces_=function(){return[fc]},mc.prototype.getClass=function(){return mc};var vc=function(){};vc.prototype.add=function(){},vc.prototype.addAll=function(){},vc.prototype.isEmpty=function(){},vc.prototype.iterator=function(){},vc.prototype.size=function(){},vc.prototype.toArray=function(){},vc.prototype.remove=function(){};var xc=function(t){function e(e){t.call(this),this.message=e||\"\"}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var n={name:{configurable:!0}};return n.name.get=function(){return\"IndexOutOfBoundsException\"},Object.defineProperties(e,n),e}(Error),Ec=function(){};Ec.prototype.hasNext=function(){},Ec.prototype.next=function(){},Ec.prototype.remove=function(){};var wc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(vc);(Pi.prototype=new Error).name=\"NoSuchElementException\";var bc=function(t){function e(){t.call(this),this.array_=[],arguments[0]instanceof vc&&this.addAll(arguments[0])}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[t,vc]},e.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},e.prototype.set=function(t,e){var n=this.array_[t];return this.array_[t]=e,n},e.prototype.iterator=function(){return new Ic(this)},e.prototype.get=function(t){if(t<0||t>=this.size())throw new xc;return this.array_[t]},e.prototype.isEmpty=function(){return 0===this.array_.length},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e=1){if(this.get(this.size()-1).equals2D(i))return null}t.prototype.add.call(this,i)}else if(arguments[0]instanceof Object&&\"boolean\"==typeof arguments[1]){var o=arguments[0],s=arguments[1];return this.add(o,s),!0}}else if(3===arguments.length){if(\"boolean\"==typeof arguments[2]&&arguments[0]instanceof Array&&\"boolean\"==typeof arguments[1]){var a=arguments[0],u=arguments[1];if(arguments[2])for(var c=0;c=0;h--)this.add(a[h],u);return!0}if(\"boolean\"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof bu){var l=arguments[0],p=arguments[1];if(!arguments[2]){var f=this.size();if(f>0){if(l>0){if(this.get(l-1).equals2D(p))return null}if(l_&&(m=-1);for(var v=y;v!==_;v+=m)this.add(g[v],d);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new bu(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,n),e}(bc),Cc=function(){},Sc={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Sc.ForwardComparator.get=function(){return Mc},Sc.BidirectionalComparator.get=function(){return Lc},Sc.coordArrayType.get=function(){return new Array(0).fill(null)},Cc.prototype.interfaces_=function(){return[]},Cc.prototype.getClass=function(){return Cc},Cc.isRing=function(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])},Cc.ptNotInList=function(t,e){for(var n=0;n=t?e:[]},Cc.indexOf=function(t,e){for(var n=0;n0)&&(e=t[n]);return e},Cc.extract=function(t,e,n){e=Pu.clamp(e,0,t.length);var r=(n=Pu.clamp(n,-1,t.length))-e+1;n<0&&(r=0),e>=t.length&&(r=0),nr.length)return 1;if(0===n.length)return 0;var i=Cc.compare(n,r);return Cc.isEqualReversed(n,r)?0:i},Lc.prototype.OLDcompare=function(t,e){var n=t,r=e;if(n.lengthr.length)return 1;if(0===n.length)return 0;for(var i=Cc.increasingDirection(n),o=Cc.increasingDirection(r),s=i>0?0:n.length-1,a=o>0?0:n.length-1,u=0;u0))return e.value;e=e.right}}return null},Gi.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:Ac,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var n,r,i=this.root_;do{if(n=i,(r=t.compareTo(i.key))<0)i=i.left;else{if(!(r>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var s={key:t,left:null,right:null,value:e,parent:n,color:Ac,getValue:function(){return this.value},getKey:function(){return this.key}};return r<0?n.left=s:n.right=s,this.fixAfterInsertion(s),this.size_++,null},Gi.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)if(Ai(t)===Fi(Ai(Ai(t)))){var e=qi(Ai(Ai(t)));1===Ti(e)?(Di(Ai(t),Ac),Di(e,Ac),Di(Ai(Ai(t)),1),t=Ai(Ai(t))):(t===qi(Ai(t))&&(t=Ai(t),this.rotateLeft(t)),Di(Ai(t),Ac),Di(Ai(Ai(t)),1),this.rotateRight(Ai(Ai(t))))}else{var n=Fi(Ai(Ai(t)));1===Ti(n)?(Di(Ai(t),Ac),Di(n,Ac),Di(Ai(Ai(t)),1),t=Ai(Ai(t))):(t===Fi(Ai(t))&&(t=Ai(t),this.rotateRight(t)),Di(Ai(t),Ac),Di(Ai(Ai(t)),1),this.rotateLeft(Ai(Ai(t))))}this.root_.color=Ac},Gi.prototype.values=function(){var t=new bc,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=Gi.successor(e));)t.add(e.value);return t},Gi.prototype.entrySet=function(){var t=new Rc,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=Gi.successor(e));)t.add(e);return t},Gi.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},Gi.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},Gi.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},Gi.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}for(var n=t.parent,r=t;null!==n&&r===n.right;)r=n,n=n.parent;return n},Gi.prototype.size=function(){return this.size_};var Dc=function(){};Dc.prototype.interfaces_=function(){return[]},Dc.prototype.getClass=function(){return Dc},Bi.prototype=new Ri,(ki.prototype=new Bi).contains=function(t){for(var e=0,n=this.array_.length;e=0;){var s=i.substring(0,o);r.add(s),o=(i=i.substring(o+n)).indexOf(e)}i.length>0&&r.add(i);for(var a=new Array(r.size()).fill(null),u=0;u0)for(var o=i;o0&&r.append(\" \");for(var o=0;o0&&r.append(\",\"),r.append(Vc.toString(t.getOrdinate(i,o)))}return r.append(\")\"),r.toString()}},Wc.ensureValidRing=function(t,e){var n=e.size();if(0===n)return e;if(n<=3)return Wc.createClosedRing(t,e,4);return e.getOrdinate(0,Bu.X)===e.getOrdinate(n-1,Bu.X)&&e.getOrdinate(0,Bu.Y)===e.getOrdinate(n-1,Bu.Y)?e:Wc.createClosedRing(t,e,n+1)},Wc.createClosedRing=function(t,e,n){var r=t.create(n,e.getDimension()),i=e.size();Wc.copy(e,0,r,0,i);for(var o=i;o0&&Wc.reverse(this._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Gc.FALSE:0},e.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return sc.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var t=this._points.copy();Wc.reverse(t);return this.getFactory().createLineString(t)},e.prototype.compareToSameClass=function(){if(1===arguments.length){for(var t=arguments[0],e=0,n=0;e= 2)\");this._points=t},e.prototype.isCoordinate=function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)\")},e.prototype.getGeometryType=function(){return\"LinearRing\"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.MINIMUM_VALID_SIZE.get=function(){return 4},n.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,n),e}(Jc),nh=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return cc.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&t.prototype.equalsExact.call(this,e,n)}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var t=this._geometries.length,e=new Array(t).fill(null),n=0;n0?e.createPoint(n[0]):e.createPoint():t},sh.prototype.interfaces_=function(){return[rh.GeometryEditorOperation]},sh.prototype.getClass=function(){return sh};var ah=function(){};ah.prototype.edit=function(t,e){return t instanceof eh?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof Jc?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Kc?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},ah.prototype.interfaces_=function(){return[rh.GeometryEditorOperation]},ah.prototype.getClass=function(){return ah};var uh=function(){if(this._dimension=3,this._coordinates=null,1===arguments.length){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var e=0;e0){var t=new Ru(17*this._coordinates.length);t.append(\"(\"),t.append(this._coordinates[0]);for(var e=1;e3&&(r=3),r<2?new uh(n):new uh(n,r)}},hh.prototype.interfaces_=function(){return[Cu,Li]},hh.prototype.getClass=function(){return hh},hh.instance=function(){return hh.instanceObject},lh.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},lh.instanceObject.get=function(){return new hh},Object.defineProperties(hh,lh);var ph=function(t){function e(){t.call(this),this.map_=new Map}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return this.map_.get(t)||null},e.prototype.put=function(t,e){return this.map_.set(t,e),e},e.prototype.values=function(){for(var t=new bc,e=this.map_.values(),n=e.next();!n.done;)t.add(n.value),n=e.next();return t},e.prototype.entrySet=function(){var t=new Rc;return this.map_.entries().forEach(function(e){return t.add(e)}),t},e.prototype.size=function(){return this.map_.size()},e}(Pc),fh=function t(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=t.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof dh){var e=arguments[0];this._modelType=e,e===t.FIXED&&this.setScale(1)}else if(\"number\"==typeof arguments[0]){var n=arguments[0];this._modelType=t.FIXED,this.setScale(n)}else if(arguments[0]instanceof t){var r=arguments[0];this._modelType=r._modelType,this._scale=r._scale}},gh={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};fh.prototype.equals=function(t){if(!(t instanceof fh))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},fh.prototype.compareTo=function(t){var e=t,n=this.getMaximumSignificantDigits(),r=e.getMaximumSignificantDigits();return new Tu(n).compareTo(new Tu(r))},fh.prototype.getScale=function(){return this._scale},fh.prototype.isFloating=function(){return this._modelType===fh.FLOATING||this._modelType===fh.FLOATING_SINGLE},fh.prototype.getType=function(){return this._modelType},fh.prototype.toString=function(){var t=\"UNKNOWN\";return this._modelType===fh.FLOATING?t=\"Floating\":this._modelType===fh.FLOATING_SINGLE?t=\"Floating-Single\":this._modelType===fh.FIXED&&(t=\"Fixed (Scale=\"+this.getScale()+\")\"),t},fh.prototype.makePrecise=function(){if(\"number\"==typeof arguments[0]){var t=arguments[0];if(mu.isNaN(t))return t;if(this._modelType===fh.FLOATING_SINGLE){return t}return this._modelType===fh.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof bu){var e=arguments[0];if(this._modelType===fh.FLOATING)return null;e.x=this.makePrecise(e.x),e.y=this.makePrecise(e.y)}},fh.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===fh.FLOATING?t=16:this._modelType===fh.FLOATING_SINGLE?t=6:this._modelType===fh.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},fh.prototype.setScale=function(t){this._scale=Math.abs(t)},fh.prototype.interfaces_=function(){return[Li,xu]},fh.prototype.getClass=function(){return fh},fh.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},gh.serialVersionUID.get=function(){return 0x6bee6404e9a25c00},gh.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(fh,gh);var dh=function t(e){this._name=e||null,t.nameToTypeMap.put(e,this)},yh={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};dh.prototype.readResolve=function(){return dh.nameToTypeMap.get(this._name)},dh.prototype.toString=function(){return this._name},dh.prototype.interfaces_=function(){return[Li]},dh.prototype.getClass=function(){return dh},yh.serialVersionUID.get=function(){return-552860263173159e4},yh.nameToTypeMap.get=function(){return new ph},Object.defineProperties(dh,yh),fh.Type=dh,fh.FIXED=new dh(\"FIXED\"),fh.FLOATING=new dh(\"FLOATING\"),fh.FLOATING_SINGLE=new dh(\"FLOATING SINGLE\");var _h=function t(){this._precisionModel=new fh,this._SRID=0,this._coordinateSequenceFactory=t.getDefaultCoordinateSequenceFactory(),0===arguments.length||(1===arguments.length?Lu(arguments[0],Cu)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof fh&&(this._precisionModel=arguments[0]):2===arguments.length?(this._precisionModel=arguments[0],this._SRID=arguments[1]):3===arguments.length&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},mh={serialVersionUID:{configurable:!0}};_h.prototype.toGeometry=function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new bu(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new bu(t.getMinX(),t.getMinY()),new bu(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new bu(t.getMinX(),t.getMinY()),new bu(t.getMinX(),t.getMaxY()),new bu(t.getMaxX(),t.getMaxY()),new bu(t.getMaxX(),t.getMinY()),new bu(t.getMinX(),t.getMinY())]),null)},_h.prototype.createLineString=function(t){return t?t instanceof Array?new Jc(this.getCoordinateSequenceFactory().create(t),this):Lu(t,Bu)?new Jc(t,this):void 0:new Jc(this.getCoordinateSequenceFactory().create([]),this)},_h.prototype.createMultiLineString=function(){if(0===arguments.length)return new Xc(null,this);if(1===arguments.length){var t=arguments[0];return new Xc(t,this)}},_h.prototype.buildGeometry=function(t){for(var e=null,n=!1,r=!1,i=t.iterator();i.hasNext();){var o=i.next(),s=o.getClass();null===e&&(e=s),s!==e&&(n=!0),o.isGeometryCollectionOrDerived()&&(r=!0)}if(null===e)return this.createGeometryCollection();if(n||r)return this.createGeometryCollection(_h.toGeometryArray(t));var a=t.iterator().next();if(t.size()>1){if(a instanceof $c)return this.createMultiPolygon(_h.toPolygonArray(t));if(a instanceof Jc)return this.createMultiLineString(_h.toLineStringArray(t));if(a instanceof Kc)return this.createMultiPoint(_h.toPointArray(t));tc.shouldNeverReachHere(\"Unhandled class: \"+a.getClass().getName())}return a},_h.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)},_h.prototype.createPoint=function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof bu){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(Lu(arguments[0],Bu)){var e=arguments[0];return new Kc(e,this)}}},_h.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},_h.prototype.createPolygon=function(){if(0===arguments.length)return new $c(null,null,this);if(1===arguments.length){if(Lu(arguments[0],Bu)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof eh){var n=arguments[0];return this.createPolygon(n,null)}}else if(2===arguments.length){var r=arguments[0],i=arguments[1];return new $c(r,i,this)}},_h.prototype.getSRID=function(){return this._SRID},_h.prototype.createGeometryCollection=function(){if(0===arguments.length)return new jc(null,this);if(1===arguments.length){var t=arguments[0];return new jc(t,this)}},_h.prototype.createGeometry=function(t){return new rh(this).edit(t,{edit:function(){if(2===arguments.length){var t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})},_h.prototype.getPrecisionModel=function(){return this._precisionModel},_h.prototype.createLinearRing=function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Lu(arguments[0],Bu)){var e=arguments[0];return new eh(e,this)}}},_h.prototype.createMultiPolygon=function(){if(0===arguments.length)return new nh(null,this);if(1===arguments.length){var t=arguments[0];return new nh(t,this)}},_h.prototype.createMultiPoint=function(){if(0===arguments.length)return new th(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return new th(t,this)}if(arguments[0]instanceof Array){var e=arguments[0];return this.createMultiPoint(null!==e?this.getCoordinateSequenceFactory().create(e):null)}if(Lu(arguments[0],Bu)){var n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var r=new Array(n.size()).fill(null),i=0;i=this.size())throw new Error;return this.array_[t]},Xi.prototype.push=function(t){return this.array_.push(t),t},Xi.prototype.pop=function(t){if(0===this.array_.length)throw new ji;return this.array_.pop()},Xi.prototype.peek=function(){if(0===this.array_.length)throw new ji;return this.array_[this.array_.length-1]},Xi.prototype.empty=function(){return 0===this.array_.length},Xi.prototype.isEmpty=function(){return this.empty()},Xi.prototype.search=function(t){return this.array_.indexOf(t)},Xi.prototype.size=function(){return this.array_.length},Xi.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e0&&this._minIndexthis._minCoord.y&&n.y>this._minCoord.y&&r===sc.CLOCKWISE&&(i=!0),i&&(this._minIndex=this._minIndex-1)},Sh.prototype.getRightmostSideOfSegment=function(t,e){var n=t.getEdge().getCoordinates();if(e<0||e+1>=n.length)return-1;if(n[e].y===n[e+1].y)return-1;var r=Nh.LEFT;return n[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=n,this._minCoord=e[n])},Sh.prototype.findRightmostEdgeAtNode=function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},Sh.prototype.findEdge=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();n.isForward()&&this.checkForRightmostCoordinate(n)}tc.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),\"inconsistency in rightmost processing\"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe;this.getRightmostSide(this._minDe,this._minIndex)===Nh.LEFT&&(this._orientedDe=this._minDe.getSym())},Sh.prototype.interfaces_=function(){return[]},Sh.prototype.getClass=function(){return Sh};var Mh=function(t){function e(n,r){t.call(this,e.msgWithCoord(n,r)),this.pt=r?new bu(r):null,this.name=\"TopologyException\"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(t,e){return e?t:t+\" [ \"+e+\" ]\"},e}(Qu),Lh=function(){this.array_=[]};Lh.prototype.addLast=function(t){this.array_.push(t)},Lh.prototype.removeFirst=function(){return this.array_.shift()},Lh.prototype.isEmpty=function(){return 0===this.array_.length};var Ph=function(){this._finder=null,this._dirEdgeList=new bc,this._nodes=new bc,this._rightMostCoord=null,this._env=null,this._finder=new Sh};Ph.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){t.next().setVisited(!1)}},Ph.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Ph.prototype.computeNodeDepth=function(t){for(var e=null,n=t.getEdges().iterator();n.hasNext();){var r=n.next();if(r.isVisited()||r.getSym().isVisited()){e=r;break}}if(null===e)throw new Mh(\"unable to find edge to compute depths at \"+t.getCoordinate());t.getEdges().computeDepths(e);for(var i=t.getEdges().iterator();i.hasNext();){var o=i.next();o.setVisited(!0),this.copySymDepths(o)}},Ph.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(Nh.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},Ph.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Ph.prototype.findResultEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(Nh.RIGHT)>=1&&e.getDepth(Nh.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},Ph.prototype.computeDepths=function(t){var e=new Rc,n=new Lh,r=t.getNode();for(n.addLast(r),e.add(r),t.setVisited(!0);!n.isEmpty();){var i=n.removeFirst();e.add(i),this.computeNodeDepth(i);for(var o=i.getEdges().iterator();o.hasNext();){var s=o.next().getSym();if(!s.isVisited()){var a=s.getNode();e.contains(a)||(n.addLast(a),e.add(a))}}}},Ph.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0},Ph.prototype.getEnvelope=function(){if(null===this._env){for(var t=new Yu,e=this._dirEdgeList.iterator();e.hasNext();)for(var n=e.next().getEdge().getCoordinates(),r=0;rthis.location.length){var e=new Array(3).fill(null);e[Nh.ON]=this.location[Nh.ON],e[Nh.LEFT]=Su.NONE,e[Nh.RIGHT]=Su.NONE,this.location=e}for(var n=0;n1&&t.append(Su.toLocationSymbol(this.location[Nh.LEFT])),t.append(Su.toLocationSymbol(this.location[Nh.ON])),this.location.length>1&&t.append(Su.toLocationSymbol(this.location[Nh.RIGHT])),t.toString()},Oh.prototype.setLocations=function(t,e,n){this.location[Nh.ON]=t,this.location[Nh.LEFT]=e,this.location[Nh.RIGHT]=n},Oh.prototype.get=function(t){return t1},Oh.prototype.isAnyNull=function(){for(var t=0;tthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},Th.prototype.addPoints=function(t,e,n){var r=t.getCoordinates();if(e){var i=1;n&&(i=0);for(var o=i;o=0;a--)this._pts.add(r[a])}},Th.prototype.isHole=function(){return this._isHole},Th.prototype.setInResult=function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)},Th.prototype.containsPoint=function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!sc.isPointInRing(t,e.getCoordinates()))return!1;for(var n=this._holes.iterator();n.hasNext();){if(n.next().containsPoint(t))return!1}return!0},Th.prototype.addHole=function(t){this._holes.add(t)},Th.prototype.isShell=function(){return null===this._shell},Th.prototype.getLabel=function(){return this._label},Th.prototype.getEdges=function(){return this._edges},Th.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},Th.prototype.getShell=function(){return this._shell},Th.prototype.mergeLabel=function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=e.getLocation(n,Nh.RIGHT);if(r===Su.NONE)return null;if(this._label.getLocation(n)===Su.NONE)return this._label.setLocation(n,r),null}},Th.prototype.setShell=function(t){this._shell=t,null!==t&&t.addHole(this)},Th.prototype.toPolygon=function(t){for(var e=new Array(this._holes.size()).fill(null),n=0;n=2,\"found partial label\"),this.computeIM(t)},Fh.prototype.isInResult=function(){return this._isInResult},Fh.prototype.isVisited=function(){return this._isVisited},Fh.prototype.interfaces_=function(){return[]},Fh.prototype.getClass=function(){return Fh};var qh=function(t){function e(){t.call(this),this._coord=null,this._edges=null;var e=arguments[0],n=arguments[1];this._coord=e,this._edges=n,this._label=new Rh(0,Su.NONE)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){if(t.next().getEdge().isInResult())return!0}return!1},e.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(t){t.println(\"node \"+this._coord+\" lbl: \"+this._label)},e.prototype.computeIM=function(t){},e.prototype.computeMergedLocation=function(t,e){var n=Su.NONE;if(n=this._label.getLocation(e),!t.isNull(e)){var r=t.getLocation(e);n!==Su.BOUNDARY&&(n=r)}return n},e.prototype.setLabel=function(){if(2!==arguments.length)return t.prototype.setLabel.apply(this,arguments);var e=arguments[0],n=arguments[1];null===this._label?this._label=new Rh(e,n):this._label.setLocation(e,n)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){if(arguments[0]instanceof e){var t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof Rh)for(var n=arguments[0],r=0;r<2;r++){var i=this.computeMergedLocation(n,r);this._label.getLocation(r)===Su.NONE&&this._label.setLocation(r,i)}},e.prototype.add=function(t){this._edges.insert(t),t.setNode(this)},e.prototype.setLabelBoundary=function(t){if(null===this._label)return null;var e=Su.NONE;null!==this._label&&(e=this._label.getLocation(t));var n=null;switch(e){case Su.BOUNDARY:n=Su.INTERIOR;break;case Su.INTERIOR:default:n=Su.BOUNDARY}this._label.setLocation(t,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Fh),Gh=function(){this.nodeMap=new Gi,this.nodeFact=null;var t=arguments[0];this.nodeFact=t};Gh.prototype.find=function(t){return this.nodeMap.get(t)},Gh.prototype.addNode=function(){if(arguments[0]instanceof bu){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof qh){var n=arguments[0],r=this.nodeMap.get(n.getCoordinate());return null===r?(this.nodeMap.put(n.getCoordinate(),n),n):(r.mergeLabel(n),r)}},Gh.prototype.print=function(t){for(var e=this.iterator();e.hasNext();){e.next().print(t)}},Gh.prototype.iterator=function(){return this.nodeMap.values().iterator()},Gh.prototype.values=function(){return this.nodeMap.values()},Gh.prototype.getBoundaryNodes=function(t){for(var e=new bc,n=this.iterator();n.hasNext();){var r=n.next();r.getLabel().getLocation(t)===Su.BOUNDARY&&e.add(r)}return e},Gh.prototype.add=function(t){var e=t.getCoordinate();this.addNode(e).add(t)},Gh.prototype.interfaces_=function(){return[]},Gh.prototype.getClass=function(){return Gh};var Bh=function(){},kh={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Bh.prototype.interfaces_=function(){return[]},Bh.prototype.getClass=function(){return Bh},Bh.isNorthern=function(t){return t===Bh.NE||t===Bh.NW},Bh.isOpposite=function(t,e){if(t===e)return!1;return 2===(t-e+4)%4},Bh.commonHalfPlane=function(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var n=te?t:e)?3:n},Bh.isInHalfPlane=function(t,e){return e===Bh.SE?t===Bh.SE||t===Bh.SW:t===e||t===e+1},Bh.quadrant=function(){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new _u(\"Cannot compute the quadrant for point ( \"+t+\", \"+e+\" )\");return t>=0?e>=0?Bh.NE:Bh.SE:e>=0?Bh.NW:Bh.SW}if(arguments[0]instanceof bu&&arguments[1]instanceof bu){var n=arguments[0],r=arguments[1];if(r.x===n.x&&r.y===n.y)throw new _u(\"Cannot compute the quadrant for two identical points \"+n);return r.x>=n.x?r.y>=n.y?Bh.NE:Bh.SE:r.y>=n.y?Bh.NW:Bh.SW}},kh.NE.get=function(){return 0},kh.NW.get=function(){return 1},kh.SW.get=function(){return 2},kh.SE.get=function(){return 3},Object.defineProperties(Bh,kh);var zh=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,1===arguments.length){var t=arguments[0];this._edge=t}else if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2];this._edge=e,this.init(n,r),this._label=null}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this._edge=i,this.init(o,s),this._label=a}};zh.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant2){o.linkDirectedEdgesForMinimalEdgeRings();var s=o.buildMinimalRings(),a=this.findShell(s);null!==a?(this.placePolygonHoles(a,s),e.add(a)):n.addAll(s)}else r.add(o)}return r},Yh.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();){if(e.next().containsPoint(t))return!0}return!1},Yh.prototype.buildMaximalEdgeRings=function(t){for(var e=new bc,n=t.iterator();n.hasNext();){var r=n.next();if(r.isInResult()&&r.getLabel().isArea()&&null===r.getEdgeRing()){var i=new Dh(r,this._geometryFactory);e.add(i),i.setInResult()}}return e},Yh.prototype.placePolygonHoles=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next();r.isHole()&&r.setShell(t)}},Yh.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},Yh.prototype.findEdgeRingContaining=function(t,e){for(var n=t.getLinearRing(),r=n.getEnvelopeInternal(),i=n.getCoordinateN(0),o=null,s=null,a=e.iterator();a.hasNext();){var u=a.next(),c=u.getLinearRing(),h=c.getEnvelopeInternal();null!==o&&(s=o.getLinearRing().getEnvelopeInternal());var l=!1;h.contains(r)&&sc.isPointInRing(i,c.getCoordinates())&&(l=!0),l&&(null===o||s.contains(h))&&(o=u)}return o},Yh.prototype.findShell=function(t){for(var e=0,n=null,r=t.iterator();r.hasNext();){var i=r.next();i.isHole()||(n=i,e++)}return tc.isTrue(e<=1,\"found two shells in MinimalEdgeRing list\"),n},Yh.prototype.add=function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],n=arguments[1];Uh.linkResultDirectedEdges(n);var r=this.buildMaximalEdgeRings(e),i=new bc,o=this.buildMinimalEdgeRings(r,this._shellList,i);this.sortShellsAndHoles(o,this._shellList,i),this.placeFreeHoles(this._shellList,i)}},Yh.prototype.interfaces_=function(){return[]},Yh.prototype.getClass=function(){return Yh};var Vh=function(){};Vh.prototype.getBounds=function(){},Vh.prototype.interfaces_=function(){return[]},Vh.prototype.getClass=function(){return Vh};var Hh=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};Hh.prototype.getItem=function(){return this._item},Hh.prototype.getBounds=function(){return this._bounds},Hh.prototype.interfaces_=function(){return[Vh,Li]},Hh.prototype.getClass=function(){return Hh};var Wh=function(){this._size=null,this._items=null,this._size=0,this._items=new bc,this._items.add(null)};Wh.prototype.poll=function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t},Wh.prototype.size=function(){return this._size},Wh.prototype.reorder=function(t){for(var e=null,n=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(n)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,n)},Wh.prototype.clear=function(){this._size=0,this._items.clear()},Wh.prototype.isEmpty=function(){return 0===this._size},Wh.prototype.add=function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)},Wh.prototype.interfaces_=function(){return[]},Wh.prototype.getClass=function(){return Wh};var Jh=function(){};Jh.prototype.visitItem=function(t){},Jh.prototype.interfaces_=function(){return[]},Jh.prototype.getClass=function(){return Jh};var Zh=function(){};Zh.prototype.insert=function(t,e){},Zh.prototype.remove=function(t,e){},Zh.prototype.query=function(){},Zh.prototype.interfaces_=function(){return[]},Zh.prototype.getClass=function(){return Zh};var Kh=function(){if(this._childBoundables=new bc,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}},Qh={serialVersionUID:{configurable:!0}};Kh.prototype.getLevel=function(){return this._level},Kh.prototype.size=function(){return this._childBoundables.size()},Kh.prototype.getChildBoundables=function(){return this._childBoundables},Kh.prototype.addChildBoundable=function(t){tc.isTrue(null===this._bounds),this._childBoundables.add(t)},Kh.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},Kh.prototype.getBounds=function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds},Kh.prototype.interfaces_=function(){return[Vh,Li]},Kh.prototype.getClass=function(){return Kh},Qh.serialVersionUID.get=function(){return 0x5a1e55ec41369800},Object.defineProperties(Kh,Qh);var $h=function(){};$h.reverseOrder=function(){return{compare:function(t,e){return e.compareTo(t)}}},$h.min=function(t){return $h.sort(t),t.get(0)},$h.sort=function(t,e){var n=t.toArray();e?qc.sort(n,e):qc.sort(n);for(var r=t.iterator(),i=0,o=n.length;itl.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(r)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new _u(\"neither boundable is composite\")},tl.prototype.isLeaves=function(){return!(tl.isComposite(this._boundable1)||tl.isComposite(this._boundable2))},tl.prototype.compareTo=function(t){var e=t;return this._distancee._distance?1:0},tl.prototype.expand=function(t,e,n,r){for(var i=t.getChildBoundables().iterator();i.hasNext();){var o=i.next(),s=new tl(o,e,this._itemDistance);s.getDistance()1,\"Node capacity must be greater than 1\"),this._nodeCapacity=n}},nl={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};el.prototype.getNodeCapacity=function(){return this._nodeCapacity},el.prototype.lastNode=function(t){return t.get(t.size()-1)},el.prototype.size=function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.size(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var n=e.next();n instanceof Kh?t+=this.size(n):n instanceof Hh&&(t+=1)}return t}},el.prototype.removeItem=function(t,e){for(var n=null,r=t.getChildBoundables().iterator();r.hasNext();){var i=r.next();i instanceof Hh&&i.getItem()===e&&(n=i)}return null!==n&&(t.getChildBoundables().remove(n),!0)},el.prototype.itemsTree=function(){if(0===arguments.length){this.build();var t=this.itemsTree(this._root);return null===t?new bc:t}if(1===arguments.length){for(var e=arguments[0],n=new bc,r=e.getChildBoundables().iterator();r.hasNext();){var i=r.next();if(i instanceof Kh){var o=this.itemsTree(i);null!==o&&n.add(o)}else i instanceof Hh?n.add(i.getItem()):tc.shouldNeverReachHere()}return n.size()<=0?null:n}},el.prototype.insert=function(t,e){tc.isTrue(!this._built,\"Cannot insert items into an STR packed R-tree after it has been built.\"),this._itemBoundables.add(new Hh(t,e))},el.prototype.boundablesAtLevel=function(){if(1===arguments.length){var t=arguments[0],e=new bc;return this.boundablesAtLevel(t,this._root,e),e}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];if(tc.isTrue(n>-2),r.getLevel()===n)return i.add(r),null;for(var o=r.getChildBoundables().iterator();o.hasNext();){var s=o.next();s instanceof Kh?this.boundablesAtLevel(n,s,i):(tc.isTrue(s instanceof Hh),-1===n&&i.add(s))}return null}},el.prototype.query=function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new bc;return this.isEmpty()?e:(this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,e),e)}if(2===arguments.length){var n=arguments[0],r=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),n)&&this.query(n,this._root,r)}else if(3===arguments.length)if(Lu(arguments[2],Jh)&&arguments[0]instanceof Object&&arguments[1]instanceof Kh)for(var i=arguments[0],o=arguments[1],s=arguments[2],a=o.getChildBoundables(),u=0;ut&&(t=r)}}return t+1}},el.prototype.createParentBoundables=function(t,e){tc.isTrue(!t.isEmpty());var n=new bc;n.add(this.createNode(e));var r=new bc(t);$h.sort(r,this.getComparator());for(var i=r.iterator();i.hasNext();){var o=i.next();this.lastNode(n).getChildBoundables().size()===this.getNodeCapacity()&&n.add(this.createNode(e)),this.lastNode(n).addChildBoundable(o)}return n},el.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},el.prototype.interfaces_=function(){return[Li]},el.prototype.getClass=function(){return el},el.compareDoubles=function(t,e){return t>e?1:t0);for(var n=new bc,r=0;r0;){var l=h.poll(),p=l.getDistance();if(p>=u)break;l.isLeaves()?(u=p,c=l):l.expandToQueue(h,u)}return[c.getBoundable(0).getItem(),c.getBoundable(1).getItem()]}}else if(3===arguments.length){var f=arguments[0],g=arguments[1],d=arguments[2],y=new Hh(f,g),_=new tl(this.getRoot(),y,d);return this.nearestNeighbour(_)[0]}},e.prototype.interfaces_=function(){return[Zh,Li]},e.prototype.getClass=function(){return e},e.centreX=function(t){return e.avg(t.getMinX(),t.getMaxX())},e.avg=function(t,e){return(t+e)/2},e.centreY=function(t){return e.avg(t.getMinY(),t.getMaxY())},n.STRtreeNode.get=function(){return sl},n.serialVersionUID.get=function(){return 0x39920f7d5f261e0},n.xComparator.get=function(){return{interfaces_:function(){return[wu]},compare:function(n,r){return t.compareDoubles(e.centreX(n.getBounds()),e.centreX(r.getBounds()))}}},n.yComparator.get=function(){return{interfaces_:function(){return[wu]},compare:function(n,r){return t.compareDoubles(e.centreY(n.getBounds()),e.centreY(r.getBounds()))}}},n.intersectsOp.get=function(){return{interfaces_:function(){return[t.IntersectsOp]},intersects:function(t,e){return t.intersects(e)}}},n.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,n),e}(el),sl=function(t){function e(){var e=arguments[0];t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var n=e.next();null===t?t=new Yu(n.getBounds()):t.expandToInclude(n.getBounds())}return t},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kh),al=function(){};al.prototype.interfaces_=function(){return[]},al.prototype.getClass=function(){return al},al.relativeSign=function(t,e){return te?1:0},al.compare=function(t,e,n){if(e.equals2D(n))return 0;var r=al.relativeSign(e.x,n.x),i=al.relativeSign(e.y,n.y);switch(t){case 0:return al.compareValue(r,i);case 1:return al.compareValue(i,r);case 2:return al.compareValue(i,-r);case 3:return al.compareValue(-r,i);case 4:return al.compareValue(-r,-i);case 5:return al.compareValue(-i,-r);case 6:return al.compareValue(-i,r);case 7:return al.compareValue(r,-i)}return tc.shouldNeverReachHere(\"invalid octant value\"),0},al.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var ul=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this._segString=t,this.coord=new bu(e),this.segmentIndex=n,this._segmentOctant=r,this._isInterior=!e.equals2D(t.getCoordinate(n))};ul.prototype.getCoordinate=function(){return this.coord},ul.prototype.print=function(t){t.print(this.coord),t.print(\" seg # = \"+this.segmentIndex)},ul.prototype.compareTo=function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:al.compare(this._segmentOctant,this.coord,e.coord)},ul.prototype.isEndPoint=function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t},ul.prototype.isInterior=function(){return this._isInterior},ul.prototype.interfaces_=function(){return[xu]},ul.prototype.getClass=function(){return ul};var cl=function(){this._nodeMap=new Gi,this._edge=null;var t=arguments[0];this._edge=t};cl.prototype.getSplitCoordinates=function(){var t=new Nc;this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var r=e.next();this.addEdgeCoordinates(n,r,t),n=r}return t.toCoordinateArray()},cl.prototype.addCollapsedNodes=function(){var t=new bc;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var n=e.next().intValue();this.add(this._edge.getCoordinate(n),n)}},cl.prototype.print=function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){e.next().print(t)}},cl.prototype.findCollapsesFromExistingVertices=function(t){for(var e=0;e=0?e>=0?n>=r?0:1:n>=r?7:6:e>=0?n>=r?3:2:n>=r?4:5}if(arguments[0]instanceof bu&&arguments[1]instanceof bu){var i=arguments[0],o=arguments[1],s=o.x-i.x,a=o.y-i.y;if(0===s&&0===a)throw new _u(\"Cannot compute the octant for two identical points \"+i);return hl.octant(s,a)}};var ll=function(){};ll.prototype.getCoordinates=function(){},ll.prototype.size=function(){},ll.prototype.getCoordinate=function(t){},ll.prototype.isClosed=function(){},ll.prototype.setData=function(t){},ll.prototype.getData=function(){},ll.prototype.interfaces_=function(){return[]},ll.prototype.getClass=function(){return ll};var pl=function(){};pl.prototype.addIntersection=function(t,e){},pl.prototype.interfaces_=function(){return[ll]},pl.prototype.getClass=function(){return pl};var fl=function(){this._nodeList=new cl(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};fl.prototype.getCoordinates=function(){return this._pts},fl.prototype.size=function(){return this._pts.length},fl.prototype.getCoordinate=function(t){return this._pts[t]},fl.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},fl.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},fl.prototype.setData=function(t){this._data=t},fl.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:hl.octant(t,e)},fl.prototype.getData=function(){return this._data},fl.prototype.addIntersection=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[3],o=new bu(n.getIntersection(i));this.addIntersection(o,r)}},fl.prototype.toString=function(){return Ku.toLineString(new uh(this._pts))},fl.prototype.getNodeList=function(){return this._nodeList},fl.prototype.addIntersectionNode=function(t,e){var n=e,r=n+1;if(r=0&&n>=0?Math.max(e,n):e<=0&&n<=0?Math.max(e,n):0}if(arguments[0]instanceof bu){var r=arguments[0];return sc.orientationIndex(this.p0,this.p1,r)}},gl.prototype.toGeometry=function(t){return t.createLineString([this.p0,this.p1])},gl.prototype.isVertical=function(){return this.p0.x===this.p1.x},gl.prototype.equals=function(t){if(!(t instanceof gl))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},gl.prototype.intersection=function(t){var e=new rc;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},gl.prototype.project=function(){if(arguments[0]instanceof bu){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new bu(t);var e=this.projectionFactor(t),n=new bu;return n.x=this.p0.x+e*(this.p1.x-this.p0.x),n.y=this.p0.y+e*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof gl){var r=arguments[0],i=this.projectionFactor(r.p0),o=this.projectionFactor(r.p1);if(i>=1&&o>=1)return null;if(i<=0&&o<=0)return null;var s=this.project(r.p0);i<0&&(s=this.p0),i>1&&(s=this.p1);var a=this.project(r.p1);return o<0&&(a=this.p0),o>1&&(a=this.p1),new gl(s,a)}},gl.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},gl.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},gl.prototype.getCoordinate=function(t){return 0===t?this.p0:this.p1},gl.prototype.distancePerpendicular=function(t){return sc.distancePointLinePerpendicular(t,this.p0,this.p1)},gl.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},gl.prototype.midPoint=function(){return gl.midPoint(this.p0,this.p1)},gl.prototype.projectionFactor=function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,r=e*e+n*n;if(r<=0)return mu.NaN;return((t.x-this.p0.x)*e+(t.y-this.p0.y)*n)/r},gl.prototype.closestPoints=function(t){var e=this.intersection(t);if(null!==e)return[e,e];var n=new Array(2).fill(null),r=mu.MAX_VALUE,i=null,o=this.closestPoint(t.p0);r=o.distance(t.p0),n[0]=o,n[1]=t.p0;var s=this.closestPoint(t.p1);(i=s.distance(t.p1))0&&e<1)return this.project(t);return this.p0.distance(t)1||mu.isNaN(e))&&(e=1),e},gl.prototype.toString=function(){return\"LINESTRING( \"+this.p0.x+\" \"+this.p0.y+\", \"+this.p1.x+\" \"+this.p1.y+\")\"},gl.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},gl.prototype.distance=function(){if(arguments[0]instanceof gl){var t=arguments[0];return sc.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof bu){var e=arguments[0];return sc.distancePointLine(e,this.p0,this.p1)}},gl.prototype.pointAlong=function(t){var e=new bu;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e},gl.prototype.hashCode=function(){var t=mu.doubleToLongBits(this.p0.x);t^=31*mu.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),n=mu.doubleToLongBits(this.p1.x);n^=31*mu.doubleToLongBits(this.p1.y);return e^(Math.trunc(n)^Math.trunc(n>>32))},gl.prototype.interfaces_=function(){return[xu,Li]},gl.prototype.getClass=function(){return gl},gl.midPoint=function(t,e){return new bu((t.x+e.x)/2,(t.y+e.y)/2)},dl.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(gl,dl);var yl=function(){this.tempEnv1=new Yu,this.tempEnv2=new Yu,this._overlapSeg1=new gl,this._overlapSeg2=new gl};yl.prototype.overlap=function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];t.getLineSegment(e,this._overlapSeg1),n.getLineSegment(r,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},yl.prototype.interfaces_=function(){return[]},yl.prototype.getClass=function(){return yl};var _l=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this._pts=t,this._start=e,this._end=n,this._context=r};_l.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},_l.prototype.computeSelect=function(t,e,n,r){var i=this._pts[e],o=this._pts[n];if(r.tempEnv1.init(i,o),n-e==1)return r.select(this,e),null;if(!t.intersects(r.tempEnv1))return null;var s=Math.trunc((e+n)/2);e=t.length-1)return t.length-1;for(var r=Bh.quadrant(t[n],t[n+1]),i=e+1;in.getId()&&(n.computeOverlaps(i,t),this._nOverlaps++),this._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.SegmentOverlapAction.get=function(){return wl},Object.defineProperties(e,n),e}(xl),wl=function(t){function e(){t.call(this),this._si=null;var e=arguments[0];this._si=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(4!==arguments.length)return t.prototype.overlap.apply(this,arguments);var e=arguments[0],n=arguments[1],r=arguments[2],i=arguments[3],o=e.getContext(),s=r.getContext();this._si.processIntersections(o,n,s,i)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(yl),bl=function t(){if(this._quadrantSegments=t.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=t.CAP_ROUND,this._joinStyle=t.JOIN_ROUND,this._mitreLimit=t.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=t.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this.setQuadrantSegments(e)}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.setQuadrantSegments(n),this.setEndCapStyle(r)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(o),this.setJoinStyle(s),this.setMitreLimit(a)}},Il={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};bl.prototype.getEndCapStyle=function(){return this._endCapStyle},bl.prototype.isSingleSided=function(){return this._isSingleSided},bl.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=bl.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=bl.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==bl.JOIN_ROUND&&(this._quadrantSegments=bl.DEFAULT_QUADRANT_SEGMENTS)},bl.prototype.getJoinStyle=function(){return this._joinStyle},bl.prototype.setJoinStyle=function(t){this._joinStyle=t},bl.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},bl.prototype.getSimplifyFactor=function(){return this._simplifyFactor},bl.prototype.getQuadrantSegments=function(){return this._quadrantSegments},bl.prototype.setEndCapStyle=function(t){this._endCapStyle=t},bl.prototype.getMitreLimit=function(){return this._mitreLimit},bl.prototype.setMitreLimit=function(t){this._mitreLimit=t},bl.prototype.setSingleSided=function(t){this._isSingleSided=t},bl.prototype.interfaces_=function(){return[]},bl.prototype.getClass=function(){return bl},bl.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},Il.CAP_ROUND.get=function(){return 1},Il.CAP_FLAT.get=function(){return 2},Il.CAP_SQUARE.get=function(){return 3},Il.JOIN_ROUND.get=function(){return 1},Il.JOIN_MITRE.get=function(){return 2},Il.JOIN_BEVEL.get=function(){return 3},Il.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Il.DEFAULT_MITRE_LIMIT.get=function(){return 5},Il.DEFAULT_SIMPLIFY_FACTOR.get=function(){return.01},Object.defineProperties(bl,Il);var Nl=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=sc.COUNTERCLOCKWISE,this._inputLine=t||null},Cl={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Nl.prototype.isDeletable=function(t,e,n,r){var i=this._inputLine[t],o=this._inputLine[e],s=this._inputLine[n];return!!this.isConcave(i,o,s)&&(!!this.isShallow(i,o,s,r)&&this.isShallowSampled(i,o,t,n,r))},Nl.prototype.deleteShallowConcavities=function(){for(var t=1,e=this.findNextNonDeletedIndex(t),n=this.findNextNonDeletedIndex(e),r=!1;n=0;r--)this.addPt(t[r])},Sl.prototype.isRedundant=function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)Math.PI;)t-=Ll.PI_TIMES_2;for(;t<=-Math.PI;)t+=Ll.PI_TIMES_2;return t},Ll.angle=function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],n=arguments[1],r=n.x-e.x,i=n.y-e.y;return Math.atan2(i,r)}},Ll.isAcute=function(t,e,n){var r=t.x-e.x,i=t.y-e.y;return r*(n.x-e.x)+i*(n.y-e.y)>0},Ll.isObtuse=function(t,e,n){var r=t.x-e.x,i=t.y-e.y;return r*(n.x-e.x)+i*(n.y-e.y)<0},Ll.interiorAngle=function(t,e,n){var r=Ll.angle(e,t),i=Ll.angle(e,n);return Math.abs(i-r)},Ll.normalizePositive=function(t){if(t<0){for(;t<0;)t+=Ll.PI_TIMES_2;t>=Ll.PI_TIMES_2&&(t=0)}else{for(;t>=Ll.PI_TIMES_2;)t-=Ll.PI_TIMES_2;t<0&&(t=0)}return t},Ll.angleBetween=function(t,e,n){var r=Ll.angle(e,t),i=Ll.angle(e,n);return Ll.diff(r,i)},Ll.diff=function(t,e){var n=null;return(n=tMath.PI&&(n=2*Math.PI-n),n},Ll.toRadians=function(t){return t*Math.PI/180},Ll.getTurn=function(t,e){var n=Math.sin(e-t);return n>0?Ll.COUNTERCLOCKWISE:n<0?Ll.CLOCKWISE:Ll.NONE},Ll.angleBetweenOriented=function(t,e,n){var r=Ll.angle(e,t),i=Ll.angle(e,n)-r;return i<=-Math.PI?i+Ll.PI_TIMES_2:i>Math.PI?i-Ll.PI_TIMES_2:i},Pl.PI_TIMES_2.get=function(){return 2*Math.PI},Pl.PI_OVER_2.get=function(){return Math.PI/2},Pl.PI_OVER_4.get=function(){return Math.PI/4},Pl.COUNTERCLOCKWISE.get=function(){return sc.COUNTERCLOCKWISE},Pl.CLOCKWISE.get=function(){return sc.CLOCKWISE},Pl.NONE.get=function(){return sc.COLLINEAR},Object.defineProperties(Ll,Pl);var Ol=function t(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new gl,this._seg1=new gl,this._offset0=new gl,this._offset1=new gl,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],n=arguments[1],r=arguments[2];this._precisionModel=e,this._bufParams=n,this._li=new rc,this._filletAngleQuantum=Math.PI/2/n.getQuadrantSegments(),n.getQuadrantSegments()>=8&&n.getJoinStyle()===bl.JOIN_ROUND&&(this._closingSegLengthFactor=t.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Rl={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Ol.prototype.addNextSegment=function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=sc.computeOrientation(this._s0,this._s1,this._s2),r=n===sc.CLOCKWISE&&this._side===Nh.LEFT||n===sc.COUNTERCLOCKWISE&&this._side===Nh.RIGHT;0===n?this.addCollinear(e):r?this.addOutsideTurn(n,e):this.addInsideTurn(n,e)},Ol.prototype.addLineEndCap=function(t,e){var n=new gl(t,e),r=new gl;this.computeOffsetSegment(n,Nh.LEFT,this._distance,r);var i=new gl;this.computeOffsetSegment(n,Nh.RIGHT,this._distance,i);var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o);switch(this._bufParams.getEndCapStyle()){case bl.CAP_ROUND:this._segList.addPt(r.p1),this.addFilletArc(e,a+Math.PI/2,a-Math.PI/2,sc.CLOCKWISE,this._distance),this._segList.addPt(i.p1);break;case bl.CAP_FLAT:this._segList.addPt(r.p1),this._segList.addPt(i.p1);break;case bl.CAP_SQUARE:var u=new bu;u.x=Math.abs(this._distance)*Math.cos(a),u.y=Math.abs(this._distance)*Math.sin(a);var c=new bu(r.p1.x+u.x,r.p1.y+u.y),h=new bu(i.p1.x+u.x,i.p1.y+u.y);this._segList.addPt(c),this._segList.addPt(h)}},Ol.prototype.getCoordinates=function(){return this._segList.getCoordinates()},Ol.prototype.addMitreJoin=function(t,e,n,r){var i=!0,o=null;try{o=Uu.intersection(e.p0,e.p1,n.p0,n.p1);(r<=0?1:o.distance(t)/Math.abs(r))>this._bufParams.getMitreLimit()&&(i=!1)}catch(t){if(!(t instanceof ju))throw t;o=new bu(0,0),i=!1}i?this._segList.addPt(o):this.addLimitedMitreJoin(e,n,r,this._bufParams.getMitreLimit())},Ol.prototype.addFilletCorner=function(t,e,n,r,i){var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o),u=n.x-t.x,c=n.y-t.y,h=Math.atan2(c,u);r===sc.CLOCKWISE?a<=h&&(a+=2*Math.PI):a>=h&&(a-=2*Math.PI),this._segList.addPt(e),this.addFilletArc(t,a,h,r,i),this._segList.addPt(n)},Ol.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)0){var n=new bu((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var r=new bu((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Ol.prototype.createCircle=function(t){var e=new bu(t.x+this._distance,t.y);this._segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Ol.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},Ol.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Sl,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Ol.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Ol.prototype.addCollinear=function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2);this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===bl.JOIN_BEVEL||this._bufParams.getJoinStyle()===bl.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,sc.CLOCKWISE,this._distance))},Ol.prototype.closeRing=function(){this._segList.closeRing()},Ol.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Ol.prototype.interfaces_=function(){return[]},Ol.prototype.getClass=function(){return Ol},Rl.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return.001},Rl.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return.001},Rl.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},Rl.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Ol,Rl);var Tl=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};Tl.prototype.getOffsetCurve=function(t,e){if(this._distance=e,0===e)return null;var n=e<0,r=Math.abs(e),i=this.getSegGen(r);t.length<=1?this.computePointCurve(t[0],i):this.computeOffsetCurve(t,n,i);var o=i.getCoordinates();return n&&Cc.reverse(o),o},Tl.prototype.computeSingleSidedBufferCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);if(e){n.addSegments(t,!0);var i=Nl.simplify(t,-r),o=i.length-1;n.initSideSegments(i[o],i[o-1],Nh.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(i[s],!0)}else{n.addSegments(t,!1);var a=Nl.simplify(t,r),u=a.length-1;n.initSideSegments(a[0],a[1],Nh.LEFT),n.addFirstSegment();for(var c=2;c<=u;c++)n.addNextSegment(a[c],!0)}n.addLastSegment(),n.closeRing()},Tl.prototype.computeRingBufferCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);e===Nh.RIGHT&&(r=-r);var i=Nl.simplify(t,r),o=i.length-1;n.initSideSegments(i[o-1],i[0],e);for(var s=1;s<=o;s++){var a=1!==s;n.addNextSegment(i[s],a)}n.closeRing()},Tl.prototype.computeLineBufferCurve=function(t,e){var n=this.simplifyTolerance(this._distance),r=Nl.simplify(t,n),i=r.length-1;e.initSideSegments(r[0],r[1],Nh.LEFT);for(var o=2;o<=i;o++)e.addNextSegment(r[o],!0);e.addLastSegment(),e.addLineEndCap(r[i-1],r[i]);var s=Nl.simplify(t,-n),a=s.length-1;e.initSideSegments(s[a],s[a-1],Nh.LEFT);for(var u=a-2;u>=0;u--)e.addNextSegment(s[u],!0);e.addLastSegment(),e.addLineEndCap(s[1],s[0]),e.closeRing()},Tl.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case bl.CAP_ROUND:e.createCircle(t);break;case bl.CAP_SQUARE:e.createSquare(t)}},Tl.prototype.getLineCurve=function(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var n=Math.abs(e),r=this.getSegGen(n);if(t.length<=1)this.computePointCurve(t[0],r);else if(this._bufParams.isSingleSided()){var i=e<0;this.computeSingleSidedBufferCurve(t,i,r)}else this.computeLineBufferCurve(t,r);return r.getCoordinates()},Tl.prototype.getBufferParameters=function(){return this._bufParams},Tl.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},Tl.prototype.getRingCurve=function(t,e,n){if(this._distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return Tl.copyCoordinates(t);var r=this.getSegGen(n);return this.computeRingBufferCurve(t,e,r),r.getCoordinates()},Tl.prototype.computeOffsetCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);if(e){var i=Nl.simplify(t,-r),o=i.length-1;n.initSideSegments(i[o],i[o-1],Nh.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(i[s],!0)}else{var a=Nl.simplify(t,r),u=a.length-1;n.initSideSegments(a[0],a[1],Nh.LEFT),n.addFirstSegment();for(var c=2;c<=u;c++)n.addNextSegment(a[c],!0)}n.addLastSegment()},Tl.prototype.getSegGen=function(t){return new Ol(this._precisionModel,this._bufParams,t)},Tl.prototype.interfaces_=function(){return[]},Tl.prototype.getClass=function(){return Tl},Tl.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),n=0;ni.getMaxY()||this.findStabbedSegments(t,r.getDirectedEdges(),e)}return e}if(3===arguments.length)if(Lu(arguments[2],wc)&&arguments[0]instanceof bu&&arguments[1]instanceof jh)for(var o=arguments[0],s=arguments[1],a=arguments[2],u=s.getEdge().getCoordinates(),c=0;cthis._seg.p1.y&&this._seg.reverse();if(!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||sc.computeOrientation(this._seg.p0,this._seg.p1,o)===sc.RIGHT)){var h=s.getDepth(Nh.LEFT);this._seg.p0.equals(u[c])||(h=s.getDepth(Nh.RIGHT));var l=new Fl(this._seg,h);a.add(l)}}else if(Lu(arguments[2],wc)&&arguments[0]instanceof bu&&Lu(arguments[1],wc))for(var p=arguments[0],f=arguments[1],g=arguments[2],d=f.iterator();d.hasNext();){var y=d.next();y.isForward()&&this.findStabbedSegments(p,y,g)}},Al.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);if(0===e.size())return 0;return $h.min(e)._leftDepth},Al.prototype.interfaces_=function(){return[]},Al.prototype.getClass=function(){return Al},Dl.DepthSegment.get=function(){return Fl},Object.defineProperties(Al,Dl);var Fl=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new gl(t),this._leftDepth=e};Fl.prototype.compareTo=function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==n?n:0!=(n=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?n:this._upwardSeg.compareTo(e._upwardSeg)},Fl.prototype.compareX=function(t,e){var n=t.p0.compareTo(e.p0);return 0!==n?n:t.p1.compareTo(e.p1)},Fl.prototype.toString=function(){return this._upwardSeg.toString()},Fl.prototype.interfaces_=function(){return[xu]},Fl.prototype.getClass=function(){return Fl};var ql=function(t,e,n){this.p0=t||null,this.p1=e||null,this.p2=n||null};ql.prototype.area=function(){return ql.area(this.p0,this.p1,this.p2)},ql.prototype.signedArea=function(){return ql.signedArea(this.p0,this.p1,this.p2)},ql.prototype.interpolateZ=function(t){if(null===t)throw new _u(\"Supplied point is null.\");return ql.interpolateZ(t,this.p0,this.p1,this.p2)},ql.prototype.longestSideLength=function(){return ql.longestSideLength(this.p0,this.p1,this.p2)},ql.prototype.isAcute=function(){return ql.isAcute(this.p0,this.p1,this.p2)},ql.prototype.circumcentre=function(){return ql.circumcentre(this.p0,this.p1,this.p2)},ql.prototype.area3D=function(){return ql.area3D(this.p0,this.p1,this.p2)},ql.prototype.centroid=function(){return ql.centroid(this.p0,this.p1,this.p2)},ql.prototype.inCentre=function(){return ql.inCentre(this.p0,this.p1,this.p2)},ql.prototype.interfaces_=function(){return[]},ql.prototype.getClass=function(){return ql},ql.area=function(t,e,n){return Math.abs(((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2)},ql.signedArea=function(t,e,n){return((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2},ql.det=function(t,e,n,r){return t*r-e*n},ql.interpolateZ=function(t,e,n,r){var i=e.x,o=e.y,s=n.x-i,a=r.x-i,u=n.y-o,c=r.y-o,h=s*c-a*u,l=t.x-i,p=t.y-o,f=(c*l-a*p)/h,g=(-u*l+s*p)/h;return e.z+f*(n.z-e.z)+g*(r.z-e.z)},ql.longestSideLength=function(t,e,n){var r=t.distance(e),i=e.distance(n),o=n.distance(t),s=r;return i>s&&(s=i),o>s&&(s=o),s},ql.isAcute=function(t,e,n){return!!Ll.isAcute(t,e,n)&&(!!Ll.isAcute(e,n,t)&&!!Ll.isAcute(n,t,e))},ql.circumcentre=function(t,e,n){var r=n.x,i=n.y,o=t.x-r,s=t.y-i,a=e.x-r,u=e.y-i,c=2*ql.det(o,s,a,u),h=ql.det(s,o*o+s*s,u,a*a+u*u),l=ql.det(o,o*o+s*s,a,a*a+u*u);return new bu(r-h/c,i+l/c)},ql.perpendicularBisector=function(t,e){var n=e.x-t.x,r=e.y-t.y,i=new Uu(t.x+n/2,t.y+r/2,1),o=new Uu(t.x-r+n/2,t.y+n+r/2,1);return new Uu(i,o)},ql.angleBisector=function(t,e,n){var r=e.distance(t),i=r/(r+e.distance(n)),o=n.x-t.x,s=n.y-t.y;return new bu(t.x+i*o,t.y+i*s)},ql.area3D=function(t,e,n){var r=e.x-t.x,i=e.y-t.y,o=e.z-t.z,s=n.x-t.x,a=n.y-t.y,u=n.z-t.z,c=i*u-o*a,h=o*s-r*u,l=r*a-i*s,p=c*c+h*h+l*l,f=Math.sqrt(p)/2;return f},ql.centroid=function(t,e,n){var r=(t.x+e.x+n.x)/3,i=(t.y+e.y+n.y)/3;return new bu(r,i)},ql.inCentre=function(t,e,n){var r=e.distance(n),i=t.distance(n),o=t.distance(e),s=r+i+o,a=(r*t.x+i*e.x+o*n.x)/s,u=(r*t.y+i*e.y+o*n.y)/s;return new bu(a,u)};var Gl=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new bc;var t=arguments[0],e=arguments[1],n=arguments[2];this._inputGeom=t,this._distance=e,this._curveBuilder=n};Gl.prototype.addPoint=function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),n=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(n,Su.EXTERIOR,Su.INTERIOR)},Gl.prototype.addPolygon=function(t){var e=this._distance,n=Nh.LEFT;this._distance<0&&(e=-this._distance,n=Nh.RIGHT);var r=t.getExteriorRing(),i=Cc.removeRepeatedPoints(r.getCoordinates());if(this._distance<0&&this.isErodedCompletely(r,this._distance))return null;if(this._distance<=0&&i.length<3)return null;this.addPolygonRing(i,e,n,Su.EXTERIOR,Su.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(s,-this._distance)||this.addPolygonRing(a,e,Nh.opposite(n),Su.INTERIOR,Su.EXTERIOR)}},Gl.prototype.isTriangleErodedCompletely=function(t,e){var n=new ql(t[0],t[1],t[2]),r=n.inCentre();return sc.distancePointLine(r,n.p0,n.p1)=eh.MINIMUM_VALID_SIZE&&sc.isCCW(t)&&(o=i,s=r,n=Nh.opposite(n));var a=this._curveBuilder.getRingCurve(t,n,e);this.addCurve(a,o,s)},Gl.prototype.add=function(t){if(t.isEmpty())return null;t instanceof $c?this.addPolygon(t):t instanceof Jc?this.addLineString(t):t instanceof Kc?this.addPoint(t):t instanceof th?this.addCollection(t):t instanceof Xc?this.addCollection(t):t instanceof nh?this.addCollection(t):t instanceof jc&&this.addCollection(t)},Gl.prototype.isErodedCompletely=function(t,e){var n=t.getCoordinates();if(n.length<4)return e<0;if(4===n.length)return this.isTriangleErodedCompletely(n,e);var r=t.getEnvelopeInternal(),i=Math.min(r.getHeight(),r.getWidth());return e<0&&2*Math.abs(e)>i},Gl.prototype.addCollection=function(t){for(var e=0;e=this._max)throw new Pi;var t=this._parent.getGeometryN(this._index++);return t instanceof jc?(this._subcollectionIterator=new kl(t),this._subcollectionIterator.next()):t},kl.prototype.remove=function(){throw new Error(this.getClass().getName())},kl.prototype.hasNext=function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},kl.prototype.interfaces_=function(){return[Ec]},kl.prototype.getClass=function(){return kl},kl.isAtomic=function(t){return!(t instanceof jc)};var zl=function(){this._geom=null;var t=arguments[0];this._geom=t};zl.prototype.locate=function(t){return zl.locate(t,this._geom)},zl.prototype.interfaces_=function(){return[Bl]},zl.prototype.getClass=function(){return zl},zl.isPointInRing=function(t,e){return!!e.getEnvelopeInternal().intersects(t)&&sc.isPointInRing(t,e.getCoordinates())},zl.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var n=e.getExteriorRing();if(!zl.isPointInRing(t,n))return!1;for(var r=0;r=0;n--){var r=this._edgeList.get(n),i=r.getSym();null===e&&(e=i),null!==t&&i.setNext(t),t=r}e.setNext(t)},e.prototype.computeDepths=function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),n=t.getDepth(Nh.LEFT),r=t.getDepth(Nh.RIGHT),i=this.computeDepths(e+1,this._edgeList.size(),n);if(this.computeDepths(0,e,i)!==r)throw new Mh(\"depth mismatch at \"+t.getCoordinate())}else if(3===arguments.length){for(var o=arguments[0],s=arguments[1],a=arguments[2],u=o;u=0;i--){var o=this._resultAreaEdgeList.get(i),s=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),r){case this._SCANNING_FOR_INCOMING:if(s.getEdgeRing()!==t)continue;n=s,r=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;n.setNextMin(o),r=this._SCANNING_FOR_INCOMING}}r===this._LINKING_TO_OUTGOING&&(tc.isTrue(null!==e,\"found null for first outgoing dirEdge\"),tc.isTrue(e.getEdgeRing()===t,\"unable to link last incoming dirEdge\"),n.setNextMin(e))},e.prototype.getOutgoingDegree=function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();){e.next().isInResult()&&t++}return t}if(1===arguments.length){for(var n=arguments[0],r=0,i=this.iterator();i.hasNext();){i.next().getEdgeRing()===n&&r++}return r}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var t=Su.NONE,e=this.iterator();e.hasNext();){var n=e.next(),r=n.getSym();if(!n.isLineEdge()){if(n.isInResult()){t=Su.INTERIOR;break}if(r.isInResult()){t=Su.EXTERIOR;break}}}if(t===Su.NONE)return null;for(var i=t,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getSym();s.isLineEdge()?s.getEdge().setCovered(i===Su.INTERIOR):(s.isInResult()&&(i=Su.EXTERIOR),a.isInResult()&&(i=Su.INTERIOR))}},e.prototype.computeLabelling=function(e){t.prototype.computeLabelling.call(this,e),this._label=new Rh(Su.NONE);for(var n=this.iterator();n.hasNext();)for(var r=n.next().getEdge().getLabel(),i=0;i<2;i++){var o=r.getLocation(i);o!==Su.INTERIOR&&o!==Su.BOUNDARY||this._label.setLocation(i,Su.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(jl),Ul=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createNode=function(t){return new qh(t,new Xl)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Xh),Yl=function t(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=t.orientation(e)};Yl.prototype.compareTo=function(t){var e=t;return Yl.compareOriented(this._pts,this._orientation,e._pts,e._orientation)},Yl.prototype.interfaces_=function(){return[xu]},Yl.prototype.getClass=function(){return Yl},Yl.orientation=function(t){return 1===Cc.increasingDirection(t)},Yl.compareOriented=function(t,e,n,r){for(var i=e?1:-1,o=r?1:-1,s=e?t.length:-1,a=r?n.length:-1,u=e?0:t.length-1,c=r?0:n.length-1;;){var h=t[u].compareTo(n[c]);if(0!==h)return h;var l=(u+=i)===s,p=(c+=o)===a;if(l&&!p)return-1;if(!l&&p)return 1;if(l&&p)return 0}};var Vl=function(){this._edges=new bc,this._ocaMap=new Gi};Vl.prototype.print=function(t){t.print(\"MULTILINESTRING ( \");for(var e=0;e0&&t.print(\",\"),t.print(\"(\");for(var r=n.getCoordinates(),i=0;i0&&t.print(\",\"),t.print(r[i].x+\" \"+r[i].y);t.println(\")\")}t.print(\") \")},Vl.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())},Vl.prototype.findEdgeIndex=function(t){for(var e=0;et?1:this.diste?1:0},Jl.prototype.interfaces_=function(){return[xu]},Jl.prototype.getClass=function(){return Jl};var Zl=function(){this._nodeMap=new Gi,this.edge=null;var t=arguments[0];this.edge=t};Zl.prototype.print=function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){e.next().print(t)}},Zl.prototype.iterator=function(){return this._nodeMap.values().iterator()},Zl.prototype.addSplitEdges=function(t){this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var r=e.next(),i=this.createSplitEdge(n,r);t.add(i),n=r}},Zl.prototype.addEndpoints=function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)},Zl.prototype.createSplitEdge=function(t,e){var n=e.segmentIndex-t.segmentIndex+2,r=this.edge.pts[e.segmentIndex],i=e.dist>0||!e.coord.equals2D(r);i||n--;var o=new Array(n).fill(null),s=0;o[s++]=new bu(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this.edge.pts[a];return i&&(o[s]=e.coord),new ep(o,new Rh(this.edge._label))},Zl.prototype.add=function(t,e,n){var r=new Jl(t,e,n),i=this._nodeMap.get(r);return null!==i?i:(this._nodeMap.put(r,r),r)},Zl.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();){if(e.next().coord.equals(t))return!0}return!1},Zl.prototype.interfaces_=function(){return[]},Zl.prototype.getClass=function(){return Zl};var Kl=function(){};Kl.prototype.getChainStartIndices=function(t){var e=0,n=new bc;n.add(new Tu(e));do{var r=this.findChainEnd(t,e);n.add(new Tu(r)),e=r}while(en?e:n},Ql.prototype.getMinX=function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return ee&&(r=1),this._depth[t][n]=r}}},$l.prototype.getDelta=function(t){return this._depth[t][Nh.RIGHT]-this._depth[t][Nh.LEFT]},$l.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?Su.EXTERIOR:Su.INTERIOR},$l.prototype.toString=function(){return\"A: \"+this._depth[0][1]+\",\"+this._depth[0][2]+\" B: \"+this._depth[1][1]+\",\"+this._depth[1][2]},$l.prototype.add=function(){if(1===arguments.length)for(var t=arguments[0],e=0;e<2;e++)for(var n=1;n<3;n++){var r=t.getLocation(e,n);r!==Su.EXTERIOR&&r!==Su.INTERIOR||(this.isNull(e,n)?this._depth[e][n]=$l.depthAtLocation(r):this._depth[e][n]+=$l.depthAtLocation(r))}else if(3===arguments.length){var i=arguments[0],o=arguments[1];arguments[2]===Su.INTERIOR&&this._depth[i][o]++}},$l.prototype.interfaces_=function(){return[]},$l.prototype.getClass=function(){return $l},$l.depthAtLocation=function(t){return t===Su.EXTERIOR?0:t===Su.INTERIOR?1:$l.NULL_VALUE},tp.NULL_VALUE.get=function(){return-1},Object.defineProperties($l,tp);var ep=function(t){function e(){if(t.call(this),this.pts=null,this._env=null,this.eiList=new Zl(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new $l,this._depthDelta=0,1===arguments.length){var n=arguments[0];e.call(this,n,null)}else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var t=new Array(2).fill(null);t[0]=this.pts[0],t[1]=this.pts[1];return new e(t,Rh.toLineLabel(this._label))},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(t){this._isIsolated=t},e.prototype.setName=function(t){this._name=t},e.prototype.equals=function(t){if(!(t instanceof e))return!1;var n=t;if(this.pts.length!==n.pts.length)return!1;for(var r=!0,i=!0,o=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}},e.prototype.print=function(t){t.print(\"edge \"+this._name+\": \"),t.print(\"LINESTRING (\");for(var e=0;e0&&t.print(\",\"),t.print(this.pts[e].x+\" \"+this.pts[e].y);t.print(\") \"+this._label+\" \"+this._depthDelta)},e.prototype.computeIM=function(t){e.updateIM(this._label,t)},e.prototype.isCollapsed=function(){return!!this._label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(t){t.print(\"edge \"+this._name+\": \");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+\" \");t.println(\"\")},e.prototype.getMonotoneChainEdge=function(){return null===this._mce&&(this._mce=new Ql(this)),this._mce},e.prototype.getEnvelope=function(){if(null===this._env){this._env=new Yu;for(var t=0;t0&&t.append(\",\"),t.append(this.pts[e].x+\" \"+this.pts[e].y);return t.append(\") \"+this._label+\" \"+this._depthDelta),t.toString()},e.prototype.isPointwiseEqual=function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;er||this._maxyo;if(s)return!1;var a=this.intersectsToleranceSquare(t,e);return tc.isTrue(!(s&&a),\"Found bad envelope test\"),a},sp.prototype.initCorners=function(t){this._minx=t.x-.5,this._maxx=t.x+.5,this._miny=t.y-.5,this._maxy=t.y+.5,this._corner[0]=new bu(this._maxx,this._maxy),this._corner[1]=new bu(this._minx,this._maxy),this._corner[2]=new bu(this._minx,this._miny),this._corner[3]=new bu(this._maxx,this._miny)},sp.prototype.intersects=function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},sp.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},sp.prototype.getCoordinate=function(){return this._originalPt},sp.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},sp.prototype.getSafeEnvelope=function(){if(null===this._safeEnv){var t=sp.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new Yu(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},sp.prototype.intersectsPixelClosure=function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},sp.prototype.intersectsToleranceSquare=function(t,e){var n=!1,r=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.isProper()||(!(!n||!r)||(!!t.equals(this._pt)||!!e.equals(this._pt))))))},sp.prototype.addSnappedNode=function(t,e){var n=t.getCoordinate(e),r=t.getCoordinate(e+1);return!!this.intersects(n,r)&&(t.addIntersection(this.getCoordinate(),e),!0)},sp.prototype.interfaces_=function(){return[]},sp.prototype.getClass=function(){return sp},ap.SAFE_ENV_EXPANSION_FACTOR.get=function(){return.75},Object.defineProperties(sp,ap);var up=function(){this.tempEnv1=new Yu,this.selectedSegment=new gl};up.prototype.select=function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[0],e=arguments[1];t.getLineSegment(e,this.selectedSegment),this.select(this.selectedSegment)}},up.prototype.interfaces_=function(){return[]},up.prototype.getClass=function(){return up};var cp=function(){this._index=null;var t=arguments[0];this._index=t},hp={HotPixelSnapAction:{configurable:!0}};cp.prototype.snap=function(){if(1===arguments.length){var t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2],i=e.getSafeEnvelope(),o=new lp(e,n,r);return this._index.query(i,{interfaces_:function(){return[Jh]},visitItem:function(t){t.select(i,o)}}),o.isNodeAdded()}},cp.prototype.interfaces_=function(){return[]},cp.prototype.getClass=function(){return cp},hp.HotPixelSnapAction.get=function(){return lp},Object.defineProperties(cp,hp);var lp=function(t){function e(){t.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var e=arguments[0],n=arguments[1],r=arguments[2];this._hotPixel=e,this._parentEdge=n,this._hotPixelVertexIndex=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(2!==arguments.length)return t.prototype.select.apply(this,arguments);var e=arguments[0],n=arguments[1],r=e.getContext();if(null!==this._parentEdge&&r===this._parentEdge&&n===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(r,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(up),pp=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new bc};pp.prototype.processIntersections=function(t,e,n,r){if(t===n&&e===r)return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];if(this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var u=0;u=0;e--){try{t.bufferReducedPrecision(e)}catch(e){if(!(e instanceof Mh))throw e;t._saveException=e}if(null!==t._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var n=arguments[0],r=gp.precisionScaleFactor(this._argGeom,this._distance,n),i=new fh(r);this.bufferFixedPrecision(i)}},gp.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===fh.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},gp.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},gp.prototype.bufferOriginalPrecision=function(){try{var t=new np(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof Qu))throw t;this._saveException=t}},gp.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},gp.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},gp.prototype.interfaces_=function(){return[]},gp.prototype.getClass=function(){return gp},gp.bufferOp=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new gp(t).getResultGeometry(e)}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof cc&&\"number\"==typeof arguments[1]){var n=arguments[0],r=arguments[1],i=arguments[2],o=new gp(n);o.setQuadrantSegments(i);return o.getResultGeometry(r)}if(arguments[2]instanceof bl&&arguments[0]instanceof cc&&\"number\"==typeof arguments[1]){var s=arguments[0],a=arguments[1],u=arguments[2];return new gp(s,u).getResultGeometry(a)}}else if(4===arguments.length){var c=arguments[0],h=arguments[1],l=arguments[2],p=arguments[3],f=new gp(c);f.setQuadrantSegments(l),f.setEndCapStyle(p);return f.getResultGeometry(h)}},gp.precisionScaleFactor=function(t,e,n){var r=t.getEnvelopeInternal(),i=Pu.max(Math.abs(r.getMaxX()),Math.abs(r.getMaxY()),Math.abs(r.getMinX()),Math.abs(r.getMinY()))+2*(e>0?e:0),o=n-Math.trunc(Math.log(i)/Math.log(10)+1);return Math.pow(10,o)},dp.CAP_ROUND.get=function(){return bl.CAP_ROUND},dp.CAP_BUTT.get=function(){return bl.CAP_FLAT},dp.CAP_FLAT.get=function(){return bl.CAP_FLAT},dp.CAP_SQUARE.get=function(){return bl.CAP_SQUARE},dp.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(gp,dp);var yp=function(){this._pt=[new bu,new bu],this._distance=mu.NaN,this._isNull=!0};yp.prototype.getCoordinates=function(){return this._pt},yp.prototype.getCoordinate=function(t){return this._pt[t]},yp.prototype.setMinimum=function(){if(1===arguments.length){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var r=e.distance(n);rthis._distance&&this.initialize(e,n,r)}},yp.prototype.interfaces_=function(){return[]},yp.prototype.getClass=function(){return yp};var _p=function(){};_p.prototype.interfaces_=function(){return[]},_p.prototype.getClass=function(){return _p},_p.computeDistance=function(){if(arguments[2]instanceof yp&&arguments[0]instanceof Jc&&arguments[1]instanceof bu)for(var t=arguments[0],e=arguments[1],n=arguments[2],r=t.getCoordinates(),i=new gl,o=0;o0||this._isIn?Su.INTERIOR:Su.EXTERIOR)},Ip.prototype.interfaces_=function(){return[]},Ip.prototype.getClass=function(){return Ip};var Np=function t(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length){var e=arguments[0],n=arguments[1];t.call(this,e,t.INSIDE_AREA,n)}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._component=r,this._segIndex=i,this._pt=o}},Cp={INSIDE_AREA:{configurable:!0}};Np.prototype.isInsideArea=function(){return this._segIndex===Np.INSIDE_AREA},Np.prototype.getCoordinate=function(){return this._pt},Np.prototype.getGeometryComponent=function(){return this._component},Np.prototype.getSegmentIndex=function(){return this._segIndex},Np.prototype.interfaces_=function(){return[]},Np.prototype.getClass=function(){return Np},Cp.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Np,Cp);var Sp=function(t){this._pts=t||null};Sp.prototype.filter=function(t){t instanceof Kc&&this._pts.add(t)},Sp.prototype.interfaces_=function(){return[kc]},Sp.prototype.getClass=function(){return Sp},Sp.getPoints=function(){if(1===arguments.length){var t=arguments[0];return t instanceof Kc?$h.singletonList(t):Sp.getPoints(t,new bc)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof Kc?n.add(e):e instanceof jc&&e.apply(new Sp(n)),n}};var Mp=function(){this._locations=null;var t=arguments[0];this._locations=t};Mp.prototype.filter=function(t){(t instanceof Kc||t instanceof Jc||t instanceof $c)&&this._locations.add(new Np(t,0,t.getCoordinate()))},Mp.prototype.interfaces_=function(){return[kc]},Mp.prototype.getClass=function(){return Mp},Mp.getLocations=function(t){var e=new bc;return t.apply(new Mp(e)),e};var Lp=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Ip,this._minDistanceLocation=null,this._minDistance=mu.MAX_VALUE,2===arguments.length){var t=arguments[0],e=arguments[1];this._geom=[t,e],this._terminateDistance=0}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=n,this._geom[1]=r,this._terminateDistance=i}};Lp.prototype.computeContainmentDistance=function(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=1-e,i=wp.getPolygons(this._geom[e]);if(i.size()>0){var o=Mp.getLocations(this._geom[r]);if(this.computeContainmentDistance(o,i,n),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[r]=n[0],this._minDistanceLocation[e]=n[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&Lu(arguments[0],wc)&&Lu(arguments[1],wc)){for(var s=arguments[0],a=arguments[1],u=arguments[2],c=0;cthis._minDistance)return null;for(var r=t.getCoordinates(),i=e.getCoordinate(),o=0;othis._minDistance)return null;for(var l=u.getCoordinates(),p=c.getCoordinates(),f=0;fthis._distance&&this.initialize(e,n,r)}},Pp.prototype.interfaces_=function(){return[]},Pp.prototype.getClass=function(){return Pp};var Op=function(){};Op.prototype.interfaces_=function(){return[]},Op.prototype.getClass=function(){return Op},Op.computeDistance=function(){if(arguments[2]instanceof Pp&&arguments[0]instanceof Jc&&arguments[1]instanceof bu)for(var t=arguments[0],e=arguments[1],n=arguments[2],r=new gl,i=t.getCoordinates(),o=0;o1||t<=0)throw new _u(\"Fraction is not in range (0.0 - 1.0]\");this._densifyFrac=t},Rp.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},Rp.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Rp.prototype.computeOrientedDistance=function(t,e,n){var r=new Ap(e);if(t.apply(r),n.setMaximum(r.getMaxPointDistance()),this._densifyFrac>0){var i=new Dp(e,this._densifyFrac);t.apply(i),n.setMaximum(i.getMaxPointDistance())}},Rp.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Rp.prototype.interfaces_=function(){return[]},Rp.prototype.getClass=function(){return Rp},Rp.distance=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new Rp(t,e).distance()}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2],o=new Rp(n,r);return o.setDensifyFraction(i),o.distance()}},Tp.MaxPointDistanceFilter.get=function(){return Ap},Tp.MaxDensifiedByFractionDistanceFilter.get=function(){return Dp},Object.defineProperties(Rp,Tp);var Ap=function(){this._maxPtDist=new Pp,this._minPtDist=new Pp,this._euclideanDist=new Op,this._geom=null;var t=arguments[0];this._geom=t};Ap.prototype.filter=function(t){this._minPtDist.initialize(),Op.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Ap.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ap.prototype.interfaces_=function(){return[pc]},Ap.prototype.getClass=function(){return Ap};var Dp=function(){this._maxPtDist=new Pp,this._minPtDist=new Pp,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};Dp.prototype.filter=function(t,e){if(0===e)return null;for(var n=t.getCoordinate(e-1),r=t.getCoordinate(e),i=(r.x-n.x)/this._numSubSegs,o=(r.y-n.y)/this._numSubSegs,s=0;sn){this._isValid=!1;var i=r.getCoordinates();this._errorLocation=i[1],this._errorIndicator=t.getFactory().createLineString(i),this._errMsg=\"Distance between buffer curve and input is too large (\"+this._maxDistanceFound+\" at \"+Ku.toLineString(i[0],i[1])+\")\"}},Fp.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Fp.MAX_DISTANCE_DIFF_FRAC*t;return this._minValidDistance=t-e,this._maxValidDistance=t+e,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Fp.VERBOSE&&Xu.out.println(\"Min Dist= \"+this._minDistanceFound+\" err= \"+(1-this._minDistanceFound/this._bufDistance)+\" Max Dist= \"+this._maxDistanceFound+\" err= \"+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Fp.prototype.checkNegativeValid=function(){if(!(this._input instanceof $c||this._input instanceof nh||this._input instanceof jc))return null;var t=this.getPolygonLines(this._input);if(this.checkMinimumDistance(t,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(t,this._result,this._maxValidDistance)},Fp.prototype.getErrorIndicator=function(){return this._errorIndicator},Fp.prototype.checkMinimumDistance=function(t,e,n){var r=new Lp(t,e,n);if(this._minDistanceFound=r.distance(),this._minDistanceFound0&&t>e&&(this._isValid=!1,this._errorMsg=\"Area of positive buffer is smaller than input\",this._errorIndicator=this._result),this._distance<0&&t=2?null:this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg=\"Result is non-empty\",this._errorIndicator=this._result),void this.report(\"ExpectedEmpty\"))},Gp.prototype.report=function(t){if(!Gp.VERBOSE)return null;Xu.out.println(\"Check \"+t+\": \"+(this._isValid?\"passed\":\"FAILED\"))},Gp.prototype.getErrorMessage=function(){return this._errorMsg},Gp.prototype.interfaces_=function(){return[]},Gp.prototype.getClass=function(){return Gp},Gp.isValidMsg=function(t,e,n){var r=new Gp(t,e,n);return r.isValid()?null:r.getErrorMessage()},Gp.isValid=function(t,e,n){return!!new Gp(t,e,n).isValid()},Bp.VERBOSE.get=function(){return!1},Bp.MAX_ENV_DIFF_FRAC.get=function(){return.012},Object.defineProperties(Gp,Bp);var kp=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};kp.prototype.getCoordinates=function(){return this._pts},kp.prototype.size=function(){return this._pts.length},kp.prototype.getCoordinate=function(t){return this._pts[t]},kp.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},kp.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:hl.octant(this.getCoordinate(t),this.getCoordinate(t+1))},kp.prototype.setData=function(t){this._data=t},kp.prototype.getData=function(){return this._data},kp.prototype.toString=function(){return Ku.toLineString(new uh(this._pts))},kp.prototype.interfaces_=function(){return[ll]},kp.prototype.getClass=function(){return kp};var zp=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new bc,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};zp.prototype.getInteriorIntersection=function(){return this._interiorIntersection},zp.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},zp.prototype.getIntersectionSegments=function(){return this._intSegments},zp.prototype.count=function(){return this._intersectionCount},zp.prototype.getIntersections=function(){return this._intersections},zp.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},zp.prototype.setKeepIntersections=function(t){this._keepIntersections=t},zp.prototype.processIntersections=function(t,e,n,r){if(!this._findAllIntersections&&this.hasIntersection())return null;if(t===n&&e===r)return null;if(this._isCheckEndSegmentsOnly){if(!(this.isEndSegment(t,e)||this.isEndSegment(n,r)))return null}var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=i,this._intSegments[1]=o,this._intSegments[2]=s,this._intSegments[3]=a,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},zp.prototype.isEndSegment=function(t,e){return 0===e||e>=t.size()-2},zp.prototype.hasIntersection=function(){return null!==this._interiorIntersection},zp.prototype.isDone=function(){return!this._findAllIntersections&&null!==this._interiorIntersection},zp.prototype.interfaces_=function(){return[Hl]},zp.prototype.getClass=function(){return zp},zp.createAllIntersectionsFinder=function(t){var e=new zp(t);return e.setFindAllIntersections(!0),e},zp.createAnyIntersectionFinder=function(t){return new zp(t)},zp.createIntersectionCounter=function(t){var e=new zp(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var jp=function(){this._li=new rc,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};jp.prototype.execute=function(){if(null!==this._segInt)return null;this.checkInteriorIntersections()},jp.prototype.getIntersections=function(){return this._segInt.getIntersections()},jp.prototype.isValid=function(){return this.execute(),this._isValid},jp.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},jp.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new zp(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new El;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},jp.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Mh(this.getErrorMessage(),this._segInt.getInteriorIntersection())},jp.prototype.getErrorMessage=function(){if(this._isValid)return\"no intersections found\";var t=this._segInt.getIntersectionSegments();return\"found non-noded intersection between \"+Ku.toLineString(t[0],t[1])+\" and \"+Ku.toLineString(t[2],t[3])},jp.prototype.interfaces_=function(){return[]},jp.prototype.getClass=function(){return jp},jp.computeIntersections=function(t){var e=new jp(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Xp=function t(){this._nv=null;var e=arguments[0];this._nv=new jp(t.toSegmentStrings(e))};Xp.prototype.checkValid=function(){this._nv.checkValid()},Xp.prototype.interfaces_=function(){return[]},Xp.prototype.getClass=function(){return Xp},Xp.toSegmentStrings=function(t){for(var e=new bc,n=t.iterator();n.hasNext();){var r=n.next();e.add(new kp(r.getCoordinates(),r))}return e},Xp.checkValid=function(t){new Xp(t).checkValid()};var Up=function(t){this._mapOp=t};Up.prototype.map=function(t){for(var e=new bc,n=0;n0&&r<4&&!this._preserveType?this._factory.createLineString(n):this._factory.createLinearRing(n)},Hp.prototype.interfaces_=function(){return[]},Hp.prototype.getClass=function(){return Hp};var Wp=function t(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new gl,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Jc&&\"number\"==typeof arguments[1]){var e=arguments[0],n=arguments[1];t.call(this,e.getCoordinates(),n)}else if(arguments[0]instanceof Array&&\"number\"==typeof arguments[1]){var r=arguments[0],i=arguments[1];this._srcPts=r,this._isClosed=t.isClosed(r),this._snapTolerance=i}};Wp.prototype.snapVertices=function(t,e){for(var n=this._isClosed?t.size()-1:t.size(),r=0;r=0&&t.add(o+1,new bu(i),!1)}},Wp.prototype.findSegmentIndexToSnap=function(t,e){for(var n=mu.MAX_VALUE,r=-1,i=0;ie&&(e=r)}return e}if(2===arguments.length){var i=arguments[0],o=arguments[1];return Math.min(Jp.computeOverlaySnapTolerance(i),Jp.computeOverlaySnapTolerance(o))}},Jp.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*Jp.SNAP_PRECISION_FACTOR},Jp.snapToSelf=function(t,e,n){return new Jp(t).snapToSelf(e,n)},Zp.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Jp,Zp);var Kp=function(t){function e(e,n,r){t.call(this),this._snapTolerance=e||null,this._snapPts=n||null,this._isSelfSnap=void 0!==r&&r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(t,e){var n=new Wp(t,this._snapTolerance);return n.setAllowSnappingToSourceVertices(this._isSelfSnap),n.snapTo(e)},e.prototype.transformCoordinates=function(t,e){var n=t.toCoordinateArray(),r=this.snapLine(n,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(r)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Hp),Qp=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};Qp.prototype.getCommon=function(){return mu.longBitsToDouble(this._commonBits)},Qp.prototype.add=function(t){var e=mu.doubleToLongBits(t);if(this._isFirst)return this._commonBits=e,this._commonSignExp=Qp.signExpBits(this._commonBits),this._isFirst=!1,null;if(Qp.signExpBits(e)!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=Qp.numCommonMostSigMantissaBits(this._commonBits,e),this._commonBits=Qp.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},Qp.prototype.toString=function(){if(1===arguments.length){var t=arguments[0],e=mu.longBitsToDouble(t),n=\"0000000000000000000000000000000000000000000000000000000000000000\"+mu.toBinaryString(t),r=n.substring(n.length-64);return r.substring(0,1)+\" \"+r.substring(1,12)+\"(exp) \"+r.substring(12)+\" [ \"+e+\" ]\"}},Qp.prototype.interfaces_=function(){return[]},Qp.prototype.getClass=function(){return Qp},Qp.getBit=function(t,e){return 0!=(t&1<>52},Qp.zeroLowerBits=function(t,e){return t&~((1<=0;r--){if(Qp.getBit(t,r)!==Qp.getBit(e,r))return n;n++}return 52};var $p=function(){this._commonCoord=null,this._ccFilter=new ef},tf={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};$p.prototype.addCommonBits=function(t){var e=new nf(this._commonCoord);t.apply(e),t.geometryChanged()},$p.prototype.removeCommonBits=function(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new bu(this._commonCoord);e.x=-e.x,e.y=-e.y;var n=new nf(e);return t.apply(n),t.geometryChanged(),t},$p.prototype.getCommonCoordinate=function(){return this._commonCoord},$p.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},$p.prototype.interfaces_=function(){return[]},$p.prototype.getClass=function(){return $p},tf.CommonCoordinateFilter.get=function(){return ef},tf.Translater.get=function(){return nf},Object.defineProperties($p,tf);var ef=function(){this._commonBitsX=new Qp,this._commonBitsY=new Qp};ef.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},ef.prototype.getCommonCoordinate=function(){return new bu(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},ef.prototype.interfaces_=function(){return[pc]},ef.prototype.getClass=function(){return ef};var nf=function(){this.trans=null;var t=arguments[0];this.trans=t};nf.prototype.filter=function(t,e){var n=t.getOrdinate(e,0)+this.trans.x,r=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,n),t.setOrdinate(e,1,r)},nf.prototype.isDone=function(){return!1},nf.prototype.isGeometryChanged=function(){return!0},nf.prototype.interfaces_=function(){return[zc]},nf.prototype.getClass=function(){return nf};var rf=function(t,e){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};rf.prototype.selfSnap=function(t){return new Jp(t).snapTo(t,this._snapTolerance)},rf.prototype.removeCommonBits=function(t){this._cbr=new $p,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e},rf.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},rf.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),n=Cf.overlayOp(e[0],e[1],t);return this.prepareResult(n)},rf.prototype.checkValid=function(t){t.isValid()||Xu.out.println(\"Snapped geometry is invalid\")},rf.prototype.computeSnapTolerance=function(){this._snapTolerance=Jp.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},rf.prototype.snap=function(t){var e=this.removeCommonBits(t);return Jp.snap(e[0],e[1],this._snapTolerance)},rf.prototype.interfaces_=function(){return[]},rf.prototype.getClass=function(){return rf},rf.overlayOp=function(t,e,n){return new rf(t,e).getResultGeometry(n)},rf.union=function(t,e){return rf.overlayOp(t,e,Cf.UNION)},rf.intersection=function(t,e){return rf.overlayOp(t,e,Cf.INTERSECTION)},rf.symDifference=function(t,e){return rf.overlayOp(t,e,Cf.SYMDIFFERENCE)},rf.difference=function(t,e){return rf.overlayOp(t,e,Cf.DIFFERENCE)};var of=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};of.prototype.getResultGeometry=function(t){var e=null,n=!1,r=null;try{e=Cf.overlayOp(this._geom[0],this._geom[1],t);n=!0}catch(t){if(!(t instanceof Qu))throw t;r=t}if(!n)try{e=rf.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof Qu?r:t}return e},of.prototype.interfaces_=function(){return[]},of.prototype.getClass=function(){return of},of.overlayOp=function(t,e,n){return new of(t,e).getResultGeometry(n)},of.union=function(t,e){return of.overlayOp(t,e,Cf.UNION)},of.intersection=function(t,e){return of.overlayOp(t,e,Cf.INTERSECTION)},of.symDifference=function(t,e){return of.overlayOp(t,e,Cf.SYMDIFFERENCE)},of.difference=function(t,e){return of.overlayOp(t,e,Cf.DIFFERENCE)};var sf=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};sf.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},sf.prototype.interfaces_=function(){return[]},sf.prototype.getClass=function(){return sf};var af=function t(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){var e=arguments[0],n=arguments[1];this._eventType=t.DELETE,this._xValue=e,this._insertEvent=n}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._eventType=t.INSERT,this._label=r,this._xValue=i,this._obj=o}},uf={INSERT:{configurable:!0},DELETE:{configurable:!0}};af.prototype.isDelete=function(){return this._eventType===af.DELETE},af.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},af.prototype.getObject=function(){return this._obj},af.prototype.compareTo=function(t){var e=t;return this._xValuee._xValue?1:this._eventTypee._eventType?1:0},af.prototype.getInsertEvent=function(){return this._insertEvent},af.prototype.isInsert=function(){return this._eventType===af.INSERT},af.prototype.isSameLabel=function(t){return null!==this._label&&this._label===t._label},af.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},af.prototype.interfaces_=function(){return[xu]},af.prototype.getClass=function(){return af},uf.INSERT.get=function(){return 1},uf.DELETE.get=function(){return 2},Object.defineProperties(af,uf);var cf=function(){};cf.prototype.interfaces_=function(){return[]},cf.prototype.getClass=function(){return cf};var hf=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=n};hf.prototype.isTrivialIntersection=function(t,e,n,r){if(t===n&&1===this._li.getIntersectionNum()){if(hf.isAdjacentSegments(e,r))return!0;if(t.isClosed()){var i=t.getNumPoints()-1;if(0===e&&r===i||0===r&&e===i)return!0}}return!1},hf.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},hf.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},hf.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},hf.prototype.isBoundaryPointInternal=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next().getCoordinate();if(t.isIntersection(r))return!0}return!1},hf.prototype.hasProperIntersection=function(){return this._hasProper},hf.prototype.hasIntersection=function(){return this._hasIntersection},hf.prototype.isDone=function(){return this._isDone},hf.prototype.isBoundaryPoint=function(t,e){return null!==e&&(!!this.isBoundaryPointInternal(t,e[0])||!!this.isBoundaryPointInternal(t,e[1]))},hf.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},hf.prototype.addIntersections=function(t,e,n,r){if(t===n&&e===r)return null;this.numTests++;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),n.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,n,r)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),n.addIntersections(this._li,r,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},hf.prototype.interfaces_=function(){return[]},hf.prototype.getClass=function(){return hf},hf.isAdjacentSegments=function(t,e){return 1===Math.abs(t-e)};var lf=function(t){function e(){t.call(this),this.events=new bc,this.nOverlaps=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){$h.sort(this.events);for(var t=0;te||this._maxo?1:0},gf.prototype.interfaces_=function(){return[wu]},gf.prototype.getClass=function(){return gf};var df=function(t){function e(){t.call(this),this._item=null;var e=arguments[0],n=arguments[1],r=arguments[2];this._min=e,this._max=n,this._item=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;n.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pf),yf=function(t){function e(){t.call(this),this._node1=null,this._node2=null;var e=arguments[0],n=arguments[1];this._node1=e,this._node2=n,this.buildExtent(this._node1,this._node2)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)},e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,n),null!==this._node2&&this._node2.query(t,e,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pf),_f=function(){this._leaves=new bc,this._root=null,this._level=0};_f.prototype.buildTree=function(){$h.sort(this._leaves,new pf.NodeComparator);for(var t=this._leaves,e=null,n=new bc;;){if(this.buildLevel(t,n),1===n.size())return n.get(0);e=t,t=n,n=e}},_f.prototype.insert=function(t,e,n){if(null!==this._root)throw new Error(\"Index cannot be added to once it has been queried\");this._leaves.add(new df(t,e,n))},_f.prototype.query=function(t,e,n){this.init(),this._root.query(t,e,n)},_f.prototype.buildRoot=function(){if(null!==this._root)return null;this._root=this.buildTree()},_f.prototype.printNode=function(t){Xu.out.println(Ku.toLineString(new bu(t._min,this._level),new bu(t._max,this._level)))},_f.prototype.init=function(){if(null!==this._root)return null;this.buildRoot()},_f.prototype.buildLevel=function(t,e){this._level++,e.clear();for(var n=0;n=2,\"found LineString with single point\"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),n=0,r=t.iterator();r.hasNext();){var i=r.next();e[n++]=i.getCoordinate().copy()}return e},e.prototype.getBoundaryNodes=function(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(t,e,n){if(this.isBoundaryNode(t,e))return null;n===Su.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,n)},e.prototype.addPolygonRing=function(t,e,n){if(t.isEmpty())return null;var r=Cc.removeRepeatedPoints(t.getCoordinates());if(r.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=r[0],null;var i=e,o=n;sc.isCCW(r)&&(i=n,o=e);var s=new ep(r,new Rh(this._argIndex,Su.BOUNDARY,i,o));this._lineEdgeMap.put(t,s),this.insertEdge(s),this.insertPoint(this._argIndex,r[0],Su.BOUNDARY)},e.prototype.insertPoint=function(t,e,n){var r=this._nodes.addNode(e),i=r.getLabel();null===i?r._label=new Rh(t,n):i.setLocation(t,n)},e.prototype.createEdgeSetIntersector=function(){return new lf},e.prototype.addSelfIntersectionNodes=function(t){for(var e=this._edges.iterator();e.hasNext();)for(var n=e.next(),r=n.getLabel().getLocation(t),i=n.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,r)}},e.prototype.add=function(){if(1!==arguments.length)return t.prototype.add.apply(this,arguments);var e=arguments[0];if(e.isEmpty())return null;if(e instanceof nh&&(this._useBoundaryDeterminationRule=!1),e instanceof $c)this.addPolygon(e);else if(e instanceof Jc)this.addLineString(e);else if(e instanceof Kc)this.addPoint(e);else if(e instanceof th)this.addCollection(e);else if(e instanceof Xc)this.addCollection(e);else if(e instanceof nh)this.addCollection(e);else{if(!(e instanceof jc))throw new Error(e.getClass().getName());this.addCollection(e)}},e.prototype.addCollection=function(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new vf(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)},e.prototype.findEdge=function(){if(1===arguments.length){var e=arguments[0];return this._lineEdgeMap.get(e)}return t.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(t,e){return t.isInBoundary(e)?Su.BOUNDARY:Su.INTERIOR},e}(Uh),If=function(){if(this._li=new rc,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){var t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new bf(0,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=fc.OGC_SFS_BOUNDARY_RULE;e.getPrecisionModel().compareTo(n.getPrecisionModel())>=0?this.setComputationPrecision(e.getPrecisionModel()):this.setComputationPrecision(n.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new bf(0,e,r),this._arg[1]=new bf(1,n,r)}else if(3===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2];i.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(i.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new bf(0,i,s),this._arg[1]=new bf(1,o,s)}};If.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},If.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},If.prototype.interfaces_=function(){return[]},If.prototype.getClass=function(){return If};var Nf=function(){};Nf.prototype.interfaces_=function(){return[]},Nf.prototype.getClass=function(){return Nf},Nf.map=function(){if(arguments[0]instanceof cc&&Lu(arguments[1],Nf.MapOp)){for(var t=arguments[0],e=arguments[1],n=new bc,r=0;r=t.size()?null:t.get(e)},Tf.union=function(t){return new Tf(t).union()},Af.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Tf,Af);var Df=function(){};Df.prototype.interfaces_=function(){return[]},Df.prototype.getClass=function(){return Df},Df.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return Cf.createEmptyResult(Cf.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),of.overlayOp(t,e,Cf.UNION)};var Ff=function(){return new Yi};Yi.prototype={constructor:Yi,reset:function(){this.s=this.t=0},add:function(t){Vi(qf,t,this.t),Vi(this,qf.s,this.s),this.s?this.t+=qf.t:this.s=qf.t},valueOf:function(){return this.s}};var qf=new Yi,Gf=1e-6,Bf=Math.PI,kf=Bf/2,zf=Bf/4,jf=2*Bf,Xf=180/Bf,Uf=Bf/180,Yf=Math.abs,Vf=Math.atan,Hf=Math.atan2,Wf=Math.cos,Jf=Math.exp,Zf=Math.log,Kf=Math.sin,Qf=Math.sqrt,$f=Math.tan,tg={Feature:function(t,e){Ji(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r2?t[2]*Uf:0),e.invert=function(e){return e=t.invert(e[0]*Uf,e[1]*Uf),e[0]*=Xf,e[1]*=Xf,e},e},og=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Wi,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},sg=function(t,e,n,r,i,o){var s,a=t[0],u=t[1],c=0,h=1,l=e[0]-a,p=e[1]-u;if(s=n-a,l||!(s>0)){if(s/=l,l<0){if(s0){if(s>h)return;s>c&&(c=s)}if(s=i-a,l||!(s<0)){if(s/=l,l<0){if(s>h)return;s>c&&(c=s)}else if(l>0){if(s0)){if(s/=p,p<0){if(s0){if(s>h)return;s>c&&(c=s)}if(s=o-u,p||!(s<0)){if(s/=p,p<0){if(s>h)return;s>c&&(c=s)}else if(p>0){if(s0&&(t[0]=a+c*l,t[1]=u+c*p),h<1&&(e[0]=a+h*l,e[1]=u+h*p),!0}}}}},ag=function(t,e){return Yf(t[0]-e[0])=0;--o)i.point((h=c[o])[0],h[1]);else r(p.x,p.p.x,-1,i);p=p.p}c=(p=p.o).z,f=!f}while(!p.v);i.lineEnd()}}},cg=function(t,e){return te?1:t>=e?0:NaN},hg=(function(t){1===t.length&&(t=function(t){return function(e,n){return cg(t(e),n)}}(t))}(cg),function(t){for(var e,n,r,i=t.length,o=-1,s=0;++o=0;)for(e=(r=t[i]).length;--e>=0;)n[--s]=r[e];return n}),lg=1e9,pg=-lg,fg=Ff(),gg=(Ff(),function(t){return t}),dg=(Ff(),Ff(),1/0),yg=dg,_g=-dg,mg=_g,vg={point:function(t,e){t_g&&(_g=t),emg&&(mg=e)},lineStart:Wi,lineEnd:Wi,polygonStart:Wi,polygonEnd:Wi,result:function(){var t=[[dg,yg],[_g,mg]];return _g=mg=-(yg=dg=1/0),t}},xg=(Ff(),function(t,e,n,r){return function(i,o){function s(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&o.point(e,n)}function a(t,e){var n=i(t,e);y.point(n[0],n[1])}function u(){E.point=a,y.lineStart()}function c(){E.point=s,y.lineEnd()}function h(t,e){d.push([t,e]);var n=i(t,e);v.point(n[0],n[1])}function l(){v.lineStart(),d=[]}function p(){h(d[0][0],d[0][1]),v.lineEnd();var t,e,n,r,i=v.clean(),s=m.result(),a=s.length;if(d.pop(),f.push(d),d=null,a)if(1&i){if(n=s[0],(e=n.length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart(),t=0;t1&&2&i&&s.push(s.pop().concat(s.shift())),g.push(s.filter(go))}var f,g,d,y=e(o),_=i.invert(r[0],r[1]),m=og(),v=e(m),x=!1,E={point:s,lineStart:u,lineEnd:c,polygonStart:function(){E.point=h,E.lineStart=l,E.lineEnd=p,g=[],f=[]},polygonEnd:function(){E.point=s,E.lineStart=u,E.lineEnd=c,g=hg(g);var t=function(t,e){var n=e[0],r=e[1],i=[Kf(n),-Wf(n),0],o=0,s=0;fg.reset();for(var a=0,u=t.length;a=0?1:-1,I=b*w,N=I>Bf,C=g*x;if(fg.add(Hf(C*b*Kf(I),d*E+C*Wf(I))),o+=N?w+b*jf:w,N^p>=n^m>=n){var S=eo($i(l),$i(_));io(S);var M=eo(i,S);io(M);var L=(N^w>=0?-1:1)*Hi(M[2]);(r>L||r===L&&(S[0]||S[1]))&&(s+=N^w>=0?1:-1)}}return(o<-Gf||o0?Bf:-Bf,u=Yf(o-n);Yf(u-Bf)0?kf:-kf),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),e=0):i!==a&&u>=Bf&&(Yf(n-i)Gf?Vf((Kf(e)*(o=Wf(r))*Kf(n)-Kf(r)*(i=Wf(e))*Kf(t))/(i*o*s)):(e+r)/2}(n,r,o,s),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),e=0),t.point(n=o,r=s),i=a},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}},function(t,e,n,r){var i;if(null==t)i=n*kf,r.point(-Bf,i),r.point(0,i),r.point(Bf,i),r.point(Bf,0),r.point(Bf,-i),r.point(0,-i),r.point(-Bf,-i),r.point(-Bf,0),r.point(-Bf,i);else if(Yf(t[0]-e[0])>Gf){var o=t[0]o}function r(t,e,n){var r=[1,0,0],i=eo($i(t),$i(e)),s=to(i,i),a=i[0],u=s-a*a;if(!u)return!n&&t;var c=o*s/u,h=-o*a/u,l=eo(r,i),p=ro(r,c);no(p,ro(i,h));var f=l,g=to(p,f),d=to(f,f),y=g*g-d*(to(p,p)-1);if(!(y<0)){var _=Qf(y),m=ro(f,(-g-_)/d);if(no(m,p),m=Qi(m),!n)return m;var v,x=t[0],E=e[0],w=t[1],b=e[1];E0^m[1]<(Yf(m[0]-x)Bf^(x<=m[0]&&m[0]<=E)){var C=ro(f,(-g+_)/d);return no(C,p),[m,Qi(C)]}}}function i(e,n){var r=s?t:Bf-t,i=0;return e<-r?i|=1:e>r&&(i|=2),n<-r?i|=4:n>r&&(i|=8),i}var o=Wf(t),s=o>0,a=Yf(o)>Gf;return xg(n,function(t){var e,o,u,c,h;return{lineStart:function(){c=u=!1,h=1},point:function(l,p){var f,g=[l,p],d=n(l,p),y=s?d?0:i(l,p):d?i(l+(l<0?Bf:-Bf),p):0;if(!e&&(c=u=d)&&t.lineStart(),d!==u&&(!(f=r(e,g))||ag(e,f)||ag(g,f))&&(g[0]+=Gf,g[1]+=Gf,d=n(g[0],g[1])),d!==u)h=0,d?(t.lineStart(),f=r(g,e),t.point(f[0],f[1])):(f=r(e,g),t.point(f[0],f[1]),t.lineEnd()),e=f;else if(a&&e&&s^d){var _;y&o||!(_=r(g,e,!0))||(h=0,s?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!d||e&&ag(e,g)||t.point(g[0],g[1]),e=g,u=d,o=y},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return h|(c&&u)<<1}}},function(n,r,i,o){!function(t,e,n,r,i,o){if(n){var s=Wf(e),a=Kf(e),u=r*n;null==i?(i=e+r*jf,o=e-u/2):(i=ho(s,i),o=ho(s,o),(r>0?io)&&(i+=r*jf));for(var c,h=i;r>0?h>o:h4*e&&d--){var x=s+p,E=a+f,w=u+g,b=Qf(x*x+E*E+w*w),I=Hi(w/=b),N=Yf(Yf(w)-1)e||Yf((_*L+m*P)/v-.5)>.3||s*p+a*f+u*g2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90]).scale(159.155)};t.projection=Cs,t.random=gu,t.clusters=du,t.helpers=ko,t.invariant=jo,t.meta=zo,t.isolines=function(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.zProperty||\"elevation\",i=n.commonProperties||{},o=n.breaksProperties||[];if(W(t,\"Point\",\"Input must contain Points\"),!e)throw new Error(\"breaks is required\");if(!Array.isArray(e))throw new Error(\"breaks must be an Array\");if(!I(i))throw new Error(\"commonProperties must be an Object\");if(!Array.isArray(o))throw new Error(\"breaksProperties must be an Array\");var s=rt(t,{zProperty:r,flip:!0});return c(function(t,e,n){var r=j(n),i=r[2]-r[0],o=r[3]-r[1],s=r[0],a=r[1],u=e[0].length-1,c=e.length-1,h=i/u,l=o/c,p=function(t){t[0]=t[0]*h+s,t[1]=t[1]*l+a};return t.forEach(function(t){S(t,p)}),t}(function(t,e,n,r,i){for(var o=[],s=1;ss;)r=Math.floor((o+1)*Math.random()),n=i[r],i[r]=i[o],i[o]=n;return i.slice(s)}(t.features,e))},t.envelope=he,t.square=le,t.circle=fe,t.midpoint=function(t,e){return pe(t,qt(t,e)/2,ge(t,e))},t.center=de,t.centerOfMass=_e,t.centroid=ye,t.combine=function(t){function n(t,e,n){n?r[e].coordinates=r[e].coordinates.concat(t.geometry.coordinates):r[e].coordinates.push(t.geometry.coordinates),r[e].properties.push(t.properties)}var r={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}},i=Object.keys(r).reduce(function(t,e){return t[e.replace(\"Multi\",\"\")]=e,t},{});return O(t,function(t){t.geometry&&(r[t.geometry.type]?n(t,t.geometry.type,!0):i[t.geometry.type]&&n(t,i[t.geometry.type],!1))}),c(Object.keys(r).filter(function(t){return r[t].coordinates.length}).sort().map(function(t){return e({type:t,coordinates:r[t].coordinates},{collectedProperties:r[t].properties})}))},t.distance=qt,t.explode=me,t.bbox=j,t.tesselate=function(t){if(!t.geometry||\"Polygon\"!==t.geometry.type&&\"MultiPolygon\"!==t.geometry.type)throw new Error(\"input must be a Polygon or MultiPolygon\");var e={type:\"FeatureCollection\",features:[]};return\"Polygon\"===t.geometry.type?e.features=De(t.geometry.coordinates):t.geometry.coordinates.forEach(function(t){e.features=e.features.concat(De(t))}),e},t.bboxPolygon=ce,t.booleanPointInPolygon=Pt,t.nearestPoint=Fe,t.nearestPointOnLine=on,t.nearestPointToLine=function(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.units,i=n.properties||{};if(!t)throw new Error(\"points is required\");if(!(t=function(t){var e=[];switch(t.geometry?t.geometry.type:t.type){case\"GeometryCollection\":return A(t,function(t){\"Point\"===t.type&&e.push({type:\"Feature\",properties:{},geometry:t})}),{type:\"FeatureCollection\",features:e};case\"FeatureCollection\":return t.features=t.features.filter(function(t){return\"Point\"===t.geometry.type}),t;default:throw new Error(\"points must be a Point Collection\")}}(t)).features.length)throw new Error(\"points must contain features\");if(!e)throw new Error(\"line is required\");if(\"LineString\"!==K(e))throw new Error(\"line must be a LineString\");var o=1/0,s=null;return O(t,function(t){var n=gn(t,e,{units:r});n=0&&c<=1&&(f.onLine1=!0),h>=0&&h<=1&&(f.onLine2=!0),!(!f.onLine1||!f.onLine2)&&[f.x,f.y])}(t[n][0],t[n][1],t[n+1][0],t[n+1][1],e[o][0],e[o][1],e[o+1][0],e[o+1][1]);s&&i.features.push(r([s[0],s[1]]))}})}),i},t.pointOnFeature=yn,t.area=mn,t.along=function(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var i;if(\"Feature\"===t.type)i=t.geometry.coordinates;else{if(\"LineString\"!==t.type)throw new Error(\"input must be a LineString Feature or Geometry\");i=t.coordinates}if(!b(e))throw new Error(\"distance must be a number\");for(var o=0,s=0;s=o&&s===i.length-1);s++){if(o>=e){var a=e-o;if(a){var u=ge(i[s],i[s-1])-180;return pe(i[s],a,u,n)}return r(i[s])}o+=qt(i[s],i[s+1],n)}return r(i[i.length-1])},t.length=bn,t.lineSlice=function(t,e,n){var r=U(n);if(\"LineString\"!==K(n))throw new Error(\"line must be a LineString\");for(var i,o=on(n,t),s=on(n,e),u=[(i=o.properties.index<=s.properties.index?[o,s]:[s,o])[0].geometry.coordinates],c=i[0].properties.index+1;c is required\");if(\"boolean\"!=typeof n)throw new Error(\" must be a boolean\");if(\"boolean\"!=typeof r)throw new Error(\" must be a boolean\");!1===r&&(t=Gt(t));var i=[];switch(t.type){case\"GeometryCollection\":return A(t,function(t){sr(t,n)}),t;case\"FeatureCollection\":return O(t,function(t){O(sr(t,n),function(t){i.push(t)})}),c(i)}return sr(t,n)},t.isobands=function(t,e,n){if(n=n||{},!I(n))throw new Error(\"options is invalid\");var r=n.zProperty||\"elevation\",i=n.commonProperties||{},s=n.breaksProperties||[];if(W(t,\"Point\",\"Input must contain Points\"),!e)throw new Error(\"breaks is required\");if(!Array.isArray(e))throw new Error(\"breaks is not an Array\");if(!I(i))throw new Error(\"commonProperties is not an Object\");if(!Array.isArray(s))throw new Error(\"breaksProperties is not an Array\");var a=cr(t,{zProperty:r,flip:!0}),u=function(t,e,n){for(var r=[],i=1;i0}(t,e);case\"Polygon\":return!br(e,t)}break;case\"Polygon\":switch(e.type){case\"Point\":return!Pt(e,t);case\"LineString\":return!br(t,e);case\"Polygon\":return!function(t,e){for(var n=0;n0)for(var n=0;n0))throw new Error(\"Invalid maxDistance\");if(!(void 0===r||null===r||Math.sign(r)>0))throw new Error(\"Invalid minPoints\");t=Gt(t),r=r||3;var o=new Ha.DBSCAN,s=-1;return o.run(T(t),E(e,i),r,qt).forEach(function(e){s++,e.forEach(function(e){var n=t.features[e];n.properties||(n.properties={}),n.properties.cluster=s,n.properties.dbscan=\"core\"})}),o.noise.forEach(function(e){var n=t.features[e];n.properties||(n.properties={}),n.properties.cluster?n.properties.dbscan=\"edge\":n.properties.dbscan=\"noise\"}),t},t.clustersKmeans=function(t,e){if(\"object\"!=typeof(e=e||{}))throw new Error(\"options is invalid\");var n=e.numberOfClusters,r=e.mutate;W(t,\"Point\",\"Input must contain Points\");var i=t.features.length;(n=n||Math.round(Math.sqrt(i/2)))>i&&(n=i),!1!==r&&void 0!==r||(t=Gt(t));var o=T(t),s=o.slice(0,n),a=eu(o,n,s),u={};return a.centroids.forEach(function(t,e){u[e]=t}),O(t,function(t,e){var n=a.idxs[e];t.properties.cluster=n,t.properties.centroid=u[n]}),t},t.pointToLineDistance=gn,t.booleanParallel=function(t,e){if(!t)throw new Error(\"line1 is required\");if(!e)throw new Error(\"line2 is required\");if(\"LineString\"!==Dr(t,\"line1\"))throw new Error(\"line1 must be a LineString\");if(\"LineString\"!==Dr(e,\"line2\"))throw new Error(\"line2 must be a LineString\");for(var n=en(te(t)).features,r=en(te(e)).features,i=0;i=d;){for(var T=[],A=[],D=g+w,F=0;D<=y;){var q=r([D,O]),G=function(t,e){for(var n=0;n0&&0!==e)if(e>o[o.length-1])e-=o.length;else{var r=Po(e,o);0!==r&&(e-=r)}if(e!==+u){var l=i[e];l&&c&&(void 0!==n&&l.properties[n]!==c.properties[n]||Tr(c,l)&&function(t,e){var n=a(T(t)),r=a(T(e));return nn(n,r).features.length>0}(c,l)&&(i[u]=Mo(c,l),o.push(t.properties.origIndexPosition),o.sort(function(t,e){return t-e}),s.remove(t),i.splice(e,1),c.properties.origIndexPosition=u,s.remove(c,function(t,e){return t.properties.origIndexPosition===e.properties.origIndexPosition}),h=!0))}}),h){if(!c)continue;c.properties.origIndexPosition=u,s.insert(c),u--}}return i.forEach(function(t){delete t.properties.origIndexPosition,delete t.bbox}),r},t.hexGrid=Oo,t.mask=function(t,e){var n=function(t){return o(t&&t.geometry.coordinates||[[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]])}(e),r=function(t){var e=[],n=[];return F(t,function(t){var r=t.geometry.coordinates,i=r[0],s=r.slice(1);e.push(o([i])),s.forEach(function(t){n.push(o([t]))})}),[c(e),c(n)]}(t),i=r[0],s=r[1];return function(t,e,n){var r=[];return r.push(t.geometry.coordinates[0]),F(e,function(t){r.push(t.geometry.coordinates[0])}),F(n,function(t){r.push(t.geometry.coordinates[0])}),o(r)}(n,i=Ro(i),s=Ro(s))},t.squareGrid=Ao,t.triangleGrid=Do,t.interpolate=function(t,e,n){if(\"object\"!=typeof(n=n||{}))throw new Error(\"options is invalid\");var r=n.gridType,i=n.property,o=n.weight;if(!t)throw new Error(\"points is required\");if(W(t,\"Point\",\"input must contain Points\"),!e)throw new Error(\"cellSize is required\");if(void 0!==o&&\"number\"!=typeof o)throw new Error(\"weight must be a number\");i=i||\"elevation\",r=r||\"square\",o=o||1;var s,a=j(t);switch(r){case\"point\":case\"points\":s=Ln(a,e,n);break;case\"square\":case\"squares\":s=Ao(a,e,n);break;case\"hex\":case\"hexes\":s=Oo(a,e,n);break;case\"triangle\":case\"triangles\":s=Do(a,e,n);break;default:throw new Error(\"invalid gridType\")}var u=[];return O(s,function(e){var s=0,a=0;O(t,function(t){var u,c=qt(\"point\"===r?e:ye(e),t,n);if(void 0!==i&&(u=t.properties[i]),void 0===u&&(u=t.geometry.coordinates[2]),void 0===u)throw new Error(\"zValue is missing\");0===c&&(s=u);var h=1/Math.pow(c,o);a+=h,s+=h*u});var c=Gt(e);c.properties[i]=s/a,u.push(c)}),c(u)},t.pointOnSurface=yn,t.polygonToLineString=kn,t.lineStringToPolygon=jn,t.inside=Pt,t.within=Rt,t.bezier=ue,t.nearest=Fe,t.pointOnLine=on,t.lineDistance=bn,t.radians2degrees=v,t.degrees2radians=x,t.distanceToDegrees=_,t.distanceToRadians=y,t.radiansToDistance=d,t.bearingToAngle=m,t.convertDistance=E,t.toMercator=cn,t.toWgs84=hn,t.randomPosition=_i,t.randomPoint=mi,t.randomPolygon=vi,t.randomLineString=xi,t.getCluster=wi,t.clusterEach=bi,t.clusterReduce=Ii,t.createBins=Ni,t.applyFilter=Ci,t.propertiesContainsFilter=Si,t.filterProperties=Mi,t.earthRadius=Fo,t.factors=qo,t.unitsFactors=Go,t.areaFactors=Bo,t.feature=e,t.geometry=n,t.point=r,t.points=i,t.polygon=o,t.polygons=s,t.lineString=a,t.lineStrings=u,t.featureCollection=c,t.multiLineString=h,t.multiPoint=l,t.multiPolygon=p,t.geometryCollection=f,t.round=g,t.radiansToLength=d,t.lengthToRadians=y,t.lengthToDegrees=_,t.bearingToAzimuth=m,t.radiansToDegrees=v,t.degreesToRadians=x,t.convertLength=E,t.convertArea=w,t.isNumber=b,t.isObject=I,t.validateBBox=N,t.validateId=C,t.getCoord=X,t.getCoords=U,t.containsNumber=Y,t.geojsonType=V,t.featureOf=H,t.collectionOf=W,t.getGeom=J,t.getGeomType=Z,t.getType=K,t.coordEach=S,t.coordReduce=M,t.propEach=L,t.propReduce=P,t.featureEach=O,t.featureReduce=R,t.coordAll=T,t.geomEach=A,t.geomReduce=D,t.flattenEach=F,t.flattenReduce=q,t.segmentEach=G,t.segmentReduce=B,t.lineEach=k,t.lineReduce=z,Object.defineProperty(t,\"__esModule\",{value:!0})});\n"],"names":["t","e","n","I","Error","r","bbox","i","id","constructor","Object","N","C","o","type","properties","geometry","s","Array","isArray","a","l","h","p","length","b","coordinates","c","map","u","features","f","geometries","g","isNaN","Math","pow","round","d","qo","y","_","v","m","PI","x","E","w","Bo","forEach","indexOf","S","M","L","P","O","R","T","push","A","D","F","q","G","B","k","z","j","X","U","Y","V","H","W","J","Z","K","Q","keys","Xo","Uo","verbose","console","log","rows","cols","cells","cval","tt","nt","et","path","info","flipped","abs","unshift","$","top","right","bottom","left","successCallback","rt","zProperty","flip","flags","sort","matrixPosition","it","exp","sqrt","max","floor","min","ot","st","this","_maxEntries","_minEntries","ceil","_initFormat","clear","at","ut","children","yt","minX","minY","maxX","maxY","ct","leaf","ht","lt","pt","ft","gt","dt","height","_t","pop","Yo","mt","exports","vt","data","compare","_down","xt","slice","is","ts","Vo","load","remove","Nt","insert","It","shift","next","Ct","ns","Et","St","wt","Mt","node","dist","peek","bt","prev","search","os","Lt","concavity","ss","Pt","ignoreBoundary","Ot","Rt","Tt","Dt","At","__sentinel","splice","Ft","prototype","apply","qt","units","sin","cos","atan2","Gt","Bt","zt","kt","jt","Xt","hs","arcs","cs","transform","Ut","ls","Yt","Vt","Ht","Wt","Jt","Zt","Kt","mutate","Qt","concat","reverse","toString","$t","ws","geoms","ps","objects","te","ee","join","hasOwnProperty","ne","re","ie","oe","se","ae","ue","resolution","sharpness","bs","points","duration","pos","ce","Number","he","le","pe","asin","fe","steps","ge","final","de","ye","_e","me","ve","xe","steiner","be","Ne","Le","Pe","Ee","we","Ae","Oe","Se","Re","Ce","Ie","prevZ","nextZ","Me","Te","De","vertices","holes","dimensions","Is","Fe","featureIndex","distanceToPoint","qe","Ge","Be","ke","ze","je","Ze","Xe","Ue","Ye","Ve","He","We","Je","Ke","Qe","$e","tn","call","toBBox","collides","all","toJSON","fromJSON","en","reduce","nn","rn","on","location","index","sn","an","tan","un","Fo","cn","ln","hn","pn","fn","atan","gn","mercator","dn","yn","_n","mn","vn","xn","En","wn","Ss","bn","In","Nn","ignoreEndVertices","Cn","Mn","Sn","Ln","mask","Pn","precision","JSON","parse","stringify","On","Rn","Tn","An","Fn","filter","Dn","qn","Gn","Bn","kn","zn","jn","autoComplete","orderCoords","Xn","Un","Yn","Hn","Vn","Wn","Gs","polygon","Jn","Zn","Date","getTime","strict","Kn","Bs","Qn","copy","$n","tolerance","tr","er","nr","rr","ir","or","sr","ar","ur","cr","hr","ks","zs","lr","Sa","Na","Ia","La","Ca","Ma","Pa","cval_real","topleft","topright","righttop","rightbottom","bottomright","bottomleft","leftbottom","lefttop","edges","polygons","Ra","pr","Xs","Us","Ys","js","ea","na","ra","Qs","$s","ta","fa","ga","da","ha","la","pa","Vs","Hs","Ws","Oa","Js","Zs","Ks","ia","oa","sa","aa","ua","ca","fr","pivot","gr","origin","dr","yr","_r","mr","vr","xr","sign","Er","every","wr","br","Ir","Nr","Cr","Lr","Sr","Mr","Pr","replace","Or","Rr","ka","Tr","ja","Ar","Dr","Fr","parent","qr","nodes","diagonal","grid","Gr","init","weight","Br","content","scoreFunction","kr","zr","jr","Xr","Ur","Yr","Vr","Hr","uu","Jr","su","halfedges","Wr","Zr","Kr","Qr","site","$r","ti","ei","pu","cu","arc","cy","circle","au","iu","ni","ri","hu","edge","ii","ou","oi","lu","si","ai","ui","ci","hi","li","pi","angle","fi","gi","di","medianCandidates","yi","_i","random","Ei","mi","vi","num_vertices","max_radial_length","xi","max_length","max_rotation","wi","Ci","bi","Ni","Ii","Si","Mi","Li","Pi","message","Oi","Ri","Ti","Ac","color","Ai","Di","Fi","qi","Gi","root_","size_","Bi","ki","array_","arguments","vc","addAll","zi","ji","Xi","Ui","Yi","reset","Vi","Hi","kf","Wi","Ji","eg","Zi","lineStart","point","lineEnd","Ki","polygonStart","polygonEnd","Qi","Hf","$i","Wf","Kf","to","eo","no","ro","io","Qf","oo","Bf","jf","so","rg","uo","co","ao","invert","ho","acos","Gf","lo","po","fo","Yf","pg","lg","sg","og","NaN","rejoin","result","hg","ug","go","yo","_o","mo","stream","vo","clipExtent","scale","translate","ng","vg","xo","Uf","Eg","gg","Ng","Cg","clipAngle","wg","Xf","center","rotate","fitExtent","fitSize","Eo","Zf","$f","wo","bo","No","So","bh","read","gp","bufferOp","Io","Ih","write","Co","Sg","Mo","Df","union","Lo","Cf","intersection","isEmpty","Po","Oo","triangles","Ro","geojson","To","Ao","Do","meters","metres","millimeters","millimetres","centimeters","centimetres","kilometers","kilometres","miles","nauticalmiles","inches","yards","feet","radians","degrees","Go","acres","ko","freeze","earthRadius","factors","unitsFactors","areaFactors","feature","lineString","lineStrings","featureCollection","multiLineString","multiPoint","multiPolygon","geometryCollection","radiansToLength","lengthToRadians","lengthToDegrees","bearingToAzimuth","radiansToDegrees","degreesToRadians","convertLength","convertArea","isNumber","isObject","validateBBox","validateId","radians2degrees","degrees2radians","distanceToDegrees","distanceToRadians","radiansToDistance","bearingToAngle","convertDistance","zo","coordEach","coordReduce","propEach","propReduce","featureEach","featureReduce","coordAll","geomEach","geomReduce","flattenEach","flattenReduce","segmentEach","segmentReduce","lineEach","lineReduce","jo","getCoord","getCoords","containsNumber","geojsonType","featureOf","collectionOf","getGeom","getGeomType","getType","_all","_build","_splitRoot","_insert","_condense","compareMinX","compareMinY","_chooseSubtree","_split","_adjustParentBBoxes","_chooseSplitAxis","_chooseSplitIndex","_allDistMargin","Function","Ho","Wo","Jo","Zo","Ko","Qo","$o","es","rs","_up","default","as","us","start","end","fs","LN2","set","maybeSet","get","gs","ds","ArrayBuffer","ys","Float64Array","_s","Uint32Array","ms","vs","lines","rings","Int32Array","Int8Array","add","has","values","xs","Es","GeometryCollection","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","centers","controls","stepLength","delay","cacheSteps","vector","speed","Ns","deviation","flatten","Cs","toMercator","toWgs84","Ms","ring","Ls","winding","netWinding","modulo","Ps","Os","param","coord","nxtIsectAlongEdgeIn","nxtIsectAlongRingAndEdge2","ringAndEdge1","ringAndEdgeIn","nxtIsectAlongRingAndEdge1","isect","ringAndEdge1Walkable","ringAndEdge2","ringAndEdge2Walkable","ringAndEdgeOut","Rs","Ts","As","lon","lat","view","String","antipode","Ds","coords","move_to","Fs","json","wkt","substring","qs","interpolate","Arc","offset","parseFloat","polyline","ya","_a","ma","va","xa","Ea","wa","ba","Ta","buildId","innerEdges","outerEdges","outerEdgesSorted","removeInnerEdge","from","removeOuterEdge","addOuterEdge","sortOuterEdges","getOuterEdges","getOuterEdge","addInnerEdge","Aa","label","symetric","getSymetric","deleteEdge","isEqual","toLineString","compareTo","Da","envelope","Fa","configurable","some","isValid","isHole","toMultiPoint","toPolygon","getEnvelope","findEdgeRingContaining","find","inside","defineProperties","qa","fromGeoJson","getNode","addEdge","deleteDangles","_removeIfDangle","removeNode","deleteCutEdges","_computeNextCWEdges","_findLabeledEdgeRings","removeEdge","_computeNextCCWEdges","getEdgeRings","_findIntersectionNodes","_findEdgeRing","Ga","shim","Ba","propertyIsEnumerable","supported","unsupported","za","direction","pseudoNode","objectComparator","compareCoord","compareLine","comparePolygon","compareFeature","toFixed","removePseudo","fixStartIndex","comparePath","compareBBox","Xa","dataset","epsilon","minPts","distance","_euclideanDistance","clusters","noise","_visited","_assigned","_datasetLength","_init","run","_regionQuery","_addToCluster","_expandCluster","_mergeArrays","Ua","assignments","centroids","randomCentroid","assign","getClusters","argmin","MAX_VALUE","Ya","_queue","_priorities","_sorting","_insertAt","getElements","getElementPriority","getPriorities","getElementsWithPriorities","Va","_reachability","_processed","_coreDistance","_orderedList","_distanceToCore","_updateQueue","getReachabilityPlot","Ha","DBSCAN","KMEANS","OPTICS","PriorityQueue","Wa","Ja","Za","Ka","Qa","$a","tu","eu","idxs","nu","cleanDirty","heuristic","heuristics","manhattan","closest","size","closed","neighbors","isWall","getCost","visited","markDirty","rescoreElement","cleanNode","dirtyNodes","sinkDown","bubbleUp","ru","links","source","target","_found","fu","extent","gu","randomPosition","randomPoint","randomPolygon","randomLineString","du","getCluster","clusterEach","clusterReduce","createBins","applyFilter","propertiesContainsFilter","filterProperties","defineProperty","value","TypeError","parseInt","writable","isFinite","isInteger","trunc","yu","interfaces_","getClass","equalsWithTolerance","_u","mu","vu","doubleToLongBits","longBitsToDouble","isInfinite","xu","Eu","wu","bu","NULL_ORDINATE","Iu","DimensionalComparator","serialVersionUID","setOrdinate","equals2D","getOrdinate","equals3D","equals","equalInZ","clone","distance3D","hashCode","setCoordinate","Nu","_dimensionsToTest","Cu","create","Su","Mu","INTERIOR","BOUNDARY","EXTERIOR","NONE","toLocationSymbol","Lu","Pu","Ou","LOG_10","log10","clamp","wrap","average","Ru","str","append","setCharAt","substr","Tu","intValue","Au","isWhitespace","toUpperCase","Du","_hi","_lo","Fu","TWO_PI","PI_2","EPS","SPLIT","MAX_PRINT_DIGITS","TEN","ONE","SCI_NOT_EXPONENT_CHAR","SCI_NOT_ZERO","extractSignificantDigits","magnitude","divide","multiply","subtract","valueOf","selfAdd","sqr","doubleValue","negate","isZero","selfSubtract","getSpecialNumberString","selfDivide","dump","createNaN","selfMultiply","reciprocal","rint","setValue","isNegative","selfSqr","toStandardNotation","toSciNotation","fill","charAt","stringOfChar","isPositive","signum","isDigit","qu","Gu","DP_SAFE_EPSILON","orientationIndex","orientationIndexFilter","signOfDet2x2","Bu","ku","getCoordinate","getCoordinateCopy","getDimension","getX","expandEnvelope","getY","toCoordinateArray","zu","ju","__proto__","Xu","arraycopy","getProperty","Uu","Yu","_minx","_maxx","_miny","_maxy","Vu","getArea","getWidth","getHeight","isNull","getMaxX","getMaxY","getMinX","getMinY","intersects","covers","expandToInclude","minExtent","setToNull","maxExtent","expandBy","contains","centre","Hu","typeStr","emptyTypeStr","spaces","parenComma","doubleParenComma","trimParens","Wu","geometryFactory","_h","exec","toLowerCase","Zu","extractGeometry","getGeometryType","Ju","coordinate","_coordinates","multipoint","_geometries","linestring","_points","linearring","multilinestring","_shell","_holes","multipolygon","geometrycollection","createPoint","trim","split","createMultiPoint","createLineString","createLinearRing","createMultiLineString","createPolygon","createMultiPolygon","createGeometryCollection","Ku","parser","Qu","name","stack","$u","tc","shouldNeverReachHere","isTrue","ec","_result","_inputLines","_intPt","_intLineIndex","_isProper","_pa","_pb","_precisionModel","nc","DONT_INTERSECT","DO_INTERSECT","COLLINEAR","NO_INTERSECTION","POINT_INTERSECTION","COLLINEAR_INTERSECTION","getIndexAlongSegment","computeIntLineIndex","getTopologySummary","isEndPoint","isCollinear","computeIntersection","computeIntersect","getIntersectionNum","getEdgeDistance","isProper","hasIntersection","setPrecisionModel","isInteriorIntersection","getIntersection","computeEdgeDistance","getEndpoint","isIntersection","getIntersectionAlongSegment","nonRobustComputeEdgeDistance","rc","isInSegmentEnvelopes","sc","normalizeToMinimum","smallestInAbsValue","safeHCoordinateIntersection","nearestEndpoint","intersectionWithNormalization","makePrecise","checkDD","out","println","normalizeToEnvCentre","computeCollinearIntersection","distancePointLine","ic","oc","_p","_crossingCount","_isPointOnSegment","countSegment","isPointInPolygon","getLocation","isOnSegment","locatePointInRing","ac","CLOCKWISE","RIGHT","COUNTERCLOCKWISE","LEFT","STRAIGHT","signedArea","distanceLineLine","isPointInRing","computeLength","isCCW","computeOrientation","distancePointLinePerpendicular","isOnLine","uc","cc","_envelope","_factory","_SRID","_userData","getSRID","hc","SORTINDEX_POINT","SORTINDEX_MULTIPOINT","SORTINDEX_LINESTRING","SORTINDEX_LINEARRING","SORTINDEX_MULTILINESTRING","SORTINDEX_POLYGON","SORTINDEX_MULTIPOLYGON","SORTINDEX_GEOMETRYCOLLECTION","geometryChangedFilter","isGeometryCollection","getSortIndex","getFactory","getGeometryN","isRectangle","equalsTopo","equalsExact","geometryChanged","geometryChangedAction","equalsNorm","norm","getLength","getNumGeometries","compareToSameClass","getUserData","toGeometry","getEnvelopeInternal","checkNotGeometryCollection","equal","normalize","getPrecisionModel","computeEnvelopeInternal","setSRID","setUserData","iterator","hasNext","isGeometryCollectionOrDerived","hasNonEmptyElements","hasNullElements","lc","pc","fc","gc","Mod2BoundaryNodeRule","EndPointBoundaryNodeRule","MultiValentEndPointBoundaryNodeRule","MonoValentEndPointBoundaryNodeRule","MOD2_BOUNDARY_RULE","ENDPOINT_BOUNDARY_RULE","MULTIVALENT_ENDPOINT_BOUNDARY_RULE","MONOVALENT_ENDPOINT_BOUNDARY_RULE","OGC_SFS_BOUNDARY_RULE","isInBoundary","dc","yc","_c","mc","toArray","xc","Ec","wc","bc","ensureCapacity","Ic","arrayList_","position_","Nc","coordArrayType","closeRing","Cc","Sc","ForwardComparator","BidirectionalComparator","Mc","Lc","isRing","ptNotInList","scroll","hasRepeatedPoints","removeRepeatedPoints","removeNull","copyDeep","isEqualReversed","atLeastNCoordinatesOrNothing","increasingDirection","minCoordinate","extract","OLDcompare","Pc","put","entrySet","Oc","Rc","Tc","hashSet_","key","getValue","getKey","fixAfterInsertion","rotateLeft","rotateRight","getFirstEntry","successor","Dc","Fc","treeSet_","qc","asList","Gc","Bc","FALSE","TRUE","DONTCARE","SYM_FALSE","SYM_TRUE","SYM_DONTCARE","SYM_P","SYM_L","SYM_A","toDimensionSymbol","toDimensionValue","kc","zc","isDone","isGeometryChanged","jc","getCoordinates","getNumPoints","isEquivalentClass","getBoundaryDimension","getBoundary","Xc","isClosed","Uc","_geom","_geomFact","_bnRule","_endpointMap","boundaryMultiLineString","getEmptyMultiPoint","computeBoundaryCoordinates","createMultiPointFromCoords","Jc","boundaryLineString","getStartPoint","getEndPoint","addEndpoint","getCoordinateN","count","Yc","Vc","Hc","NEWLINE","SIMPLE_ORDINATE_FORMAT","chars","getStackTrace","printStackTrace","readLine","format","Wc","copyCoord","extend","swap","ensureValidRing","createClosedRing","isSimple","getPointN","getCoordinateSequence","getCoordinateSequenceFactory","isCoordinate","Zc","Kc","Qc","$c","getNumInteriorRing","convexHull","getExteriorRing","getInteriorRingN","th","eh","validateConstruction","MINIMUM_VALID_SIZE","nh","rh","_isUserDataCopied","ih","NoOpGeometryOperation","CoordinateOperation","CoordinateSequenceOperation","setCopyUserData","edit","editInternal","editGeometryCollection","editPolygon","getName","GeometryEditorOperation","oh","sh","ah","editCoordinates","uh","_dimension","ch","hh","lh","instanceObject","readResolve","instance","ph","map_","Map","done","entries","fh","_modelType","_scale","FLOATING","dh","FIXED","setScale","gh","maximumPreciseValue","getMaximumSignificantDigits","getScale","isFloating","FLOATING_SINGLE","mostPrecise","_name","nameToTypeMap","yh","Type","_coordinateSequenceFactory","getDefaultCoordinateSequenceFactory","mh","buildGeometry","toGeometryArray","toPolygonArray","toLineStringArray","toPointArray","createGeometry","toMultiPolygonArray","toMultiLineStringArray","toMultiPointArray","toLinearRingArray","createPointFromInternalCoord","vh","xh","Eh","wh","Feature","FeatureCollection","precisionModel","reducePrecision","Nh","Ch","ON","opposite","empty","Sh","_minIndex","_minCoord","_minDe","_orientedDe","getRightmostSide","getRightmostSideOfSegment","checkForRightmostCoordinate","findRightmostEdgeAtVertex","getEdge","findRightmostEdgeAtNode","getEdges","getRightmostEdge","isForward","getSym","findEdge","Mh","msgWithCoord","Lh","addLast","removeFirst","Ph","_finder","_dirEdgeList","_nodes","_rightMostCoord","_env","clearVisitedEdges","setVisited","getRightmostCoordinate","computeNodeDepth","isVisited","computeDepths","copySymDepths","computeDepth","setEdgeDepths","addReachable","findResultEdges","getDepth","isInteriorAreaEdge","setInResult","setDepth","getNodes","getDirectedEdges","Oh","setAllLocations","setAllLocationsIfNull","isLine","merge","getLocations","setLocations","isArea","isAnyNull","setLocation","isEqualOnSide","allPositionsEqual","Rh","elt","getGeometryCount","toLine","toLineLabel","Th","_startDe","_maxNodeDegree","_edges","_pts","_label","_ring","_isHole","_geometryFactory","computePoints","computeRing","isIsolated","getEdgeRing","getLabel","mergeLabel","addPoints","setEdgeRing","getNext","getLinearRing","computeMaxNodeDegree","getOutgoingDegree","containsPoint","addHole","isShell","getMaxNodeDegree","getShell","setShell","Ah","setMinEdgeRing","getNextMin","Dh","buildMinimalRings","getMinEdgeRing","linkDirectedEdgesForMinimalEdgeRings","linkMinimalDirectedEdges","Fh","_isInResult","_isCovered","_isCoveredSet","_isVisited","isCovered","isCoveredSet","setLabel","setCovered","updateIM","computeIM","isInResult","qh","_coord","isIncidentEdgeInResult","print","computeMergedLocation","setNode","setLabelBoundary","Gh","nodeMap","nodeFact","addNode","createNode","getBoundaryNodes","Bh","kh","NE","NW","SW","SE","isNorthern","isOpposite","commonHalfPlane","isInHalfPlane","quadrant","zh","_edge","_node","_p0","_p1","_dx","_dy","_quadrant","compareDirection","getDy","lastIndexOf","getDirectedCoordinate","getDx","getQuadrant","computeLabel","jh","_isForward","_sym","_next","_nextMin","_edgeRing","_minEdgeRing","_depth","computeDirectedLabel","setNextMin","getDepthDelta","isLineEdge","printEdge","printReverse","setSym","setVisitedEdge","setNext","depthFactor","Xh","Uh","_edgeEndList","printEdges","eiList","getNodeIterator","linkResultDirectedEdges","debugPrintln","isBoundaryNode","linkAllDirectedEdges","matchInSameDirection","getEdgeEnds","debugPrint","getEdgeIterator","findEdgeInSameDirection","insertEdge","findEdgeEnd","addEdges","Yh","_shellList","sortShellsAndHoles","computePolygons","placeFreeHoles","buildMinimalEdgeRings","findShell","placePolygonHoles","buildMaximalEdgeRings","getPolygons","Vh","getBounds","Hh","_bounds","_item","getItem","Wh","_size","_items","poll","reorder","Jh","visitItem","Zh","query","Kh","_childBoundables","_level","Qh","getLevel","getChildBoundables","addChildBoundable","computeBounds","$h","reverseOrder","singletonList","tl","_boundable1","_boundable2","_distance","_itemDistance","expandToQueue","isComposite","area","expand","isLeaves","getDistance","getBoundable","el","_root","_built","_itemBoundables","_nodeCapacity","DEFAULT_NODE_CAPACITY","nl","IntersectsOp","getNodeCapacity","lastNode","build","removeItem","itemsTree","boundablesAtLevel","getIntersectsOp","createHigherLevels","getRoot","createParentBoundables","depth","getComparator","compareDoubles","rl","il","ol","STRtreeNode","xComparator","yComparator","intersectsOp","createParentBoundablesFromVerticalSlices","createParentBoundablesFromVerticalSlice","sl","verticalSlices","nearestNeighbour","POSITIVE_INFINITY","centreX","avg","centreY","al","relativeSign","compareValue","ul","_segString","segmentIndex","_segmentOctant","_isInterior","isInterior","cl","_nodeMap","getSplitCoordinates","addEndpoints","addEdgeCoordinates","addCollapsedNodes","findCollapsesFromInsertedNodes","findCollapsesFromExistingVertices","addSplitEdges","createSplitEdge","findCollapseIndex","fl","getData","getSegmentOctant","checkSplitEdgesCorrectness","hl","octant","ll","setData","pl","addIntersection","_nodeList","_data","safeOctant","addIntersectionNode","getNodeList","addIntersections","getNodedSubstrings","gl","p0","p1","dl","isVertical","project","projectionFactor","distancePerpendicular","midPoint","closestPoints","closestPoint","lineIntersection","pointAlongOffset","setCoordinates","segmentFraction","isHorizontal","pointAlong","yl","tempEnv1","tempEnv2","_overlapSeg1","_overlapSeg2","overlap","getLineSegment","_l","_start","_end","_context","_id","computeSelect","select","computeOverlaps","computeOverlapsInternal","setId","getEndIndex","getStartIndex","getContext","getId","ml","getChainStartIndices","findChainEnd","toIntArray","getChains","vl","computeNodes","xl","_segInt","setSegmentIntersector","El","_monoChains","_index","_idCounter","_nodedSegStrings","_nOverlaps","SegmentOverlapAction","getMonotoneChains","getIndex","intersectChains","wl","_si","processIntersections","bl","_quadrantSegments","DEFAULT_QUADRANT_SEGMENTS","_endCapStyle","CAP_ROUND","_joinStyle","JOIN_ROUND","_mitreLimit","DEFAULT_MITRE_LIMIT","_isSingleSided","_simplifyFactor","DEFAULT_SIMPLIFY_FACTOR","setQuadrantSegments","setEndCapStyle","setJoinStyle","setMitreLimit","Il","CAP_FLAT","CAP_SQUARE","JOIN_MITRE","JOIN_BEVEL","getEndCapStyle","isSingleSided","getJoinStyle","setSimplifyFactor","getSimplifyFactor","getQuadrantSegments","getMitreLimit","setSingleSided","bufferDistanceError","Nl","_distanceTol","_isDeleted","_angleOrientation","_inputLine","Cl","INIT","DELETE","KEEP","NUM_PTS_TO_CHECK","isDeletable","isConcave","isShallow","isShallowSampled","deleteShallowConcavities","findNextNonDeletedIndex","isShallowConcavity","simplify","collapseLine","Sl","_ptList","_minimimVertexDistance","Ml","COORDINATE_ARRAY_TYPE","addPt","isRedundant","revere","addPts","setMinimumVertexDistance","Ll","Pl","PI_TIMES_2","PI_OVER_2","PI_OVER_4","toDegrees","isAcute","isObtuse","interiorAngle","normalizePositive","angleBetween","diff","toRadians","getTurn","angleBetweenOriented","Ol","_maxCurveSegmentError","_filletAngleQuantum","_closingSegLengthFactor","_segList","_bufParams","_li","_s0","_s1","_s2","_seg0","_seg1","_offset0","_offset1","_side","_hasNarrowConcaveAngle","MAX_CLOSING_SEG_LEN_FACTOR","Rl","OFFSET_SEGMENT_SEPARATION_FACTOR","INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR","CURVE_VERTEX_SNAP_DISTANCE_FACTOR","addNextSegment","computeOffsetSegment","addCollinear","addOutsideTurn","addInsideTurn","addLineEndCap","addFilletArc","addMitreJoin","addLimitedMitreJoin","addFilletCorner","addBevelJoin","createSquare","addSegments","addFirstSegment","addLastSegment","initSideSegments","createCircle","hasNarrowConcaveAngle","Tl","getOffsetCurve","getSegGen","computePointCurve","computeOffsetCurve","computeSingleSidedBufferCurve","simplifyTolerance","computeRingBufferCurve","computeLineBufferCurve","getLineCurve","getBufferParameters","getRingCurve","copyCoordinates","Al","_subgraphs","_seg","_cga","Dl","DepthSegment","findStabbedSegments","Fl","_leftDepth","_upwardSeg","compareX","ql","p2","interpolateZ","longestSideLength","circumcentre","area3D","centroid","inCentre","det","perpendicularBisector","angleBisector","Gl","_inputGeom","_curveBuilder","_curveList","addPoint","addCurve","addPolygon","isErodedCompletely","addPolygonRing","isTriangleErodedCompletely","addLineString","getCurves","addCollection","Bl","locate","kl","_parent","_atStart","_max","_subcollectionIterator","isAtomic","zl","containsPointInPolygon","jl","_edgeMap","_edgeList","_ptInAreaLocation","getNextCW","propagateSideLabels","isAreaLabelsConsistent","computeEdgeEndLabels","getBoundaryNodeRule","checkAreaLabelsConsistent","findIndex","getGeometry","computeLabelling","getDegree","insertEdgeEnd","Xl","_resultAreaEdgeList","_SCANNING_FOR_INCOMING","_LINKING_TO_OUTGOING","getResultAreaEdges","updateLabelling","mergeSymLabels","findCoveredLineEdges","Ul","Yl","_orientation","orientation","compareOriented","Vl","_ocaMap","findEdgeIndex","findEqualEdge","Hl","Wl","_hasIntersection","_hasProper","_hasProperInterior","_hasInterior","_properIntersectionPoint","_isSelfIntersection","numIntersections","numInteriorIntersections","numProperIntersections","numTests","isTrivialIntersection","isAdjacentSegments","getProperIntersectionPoint","hasProperInteriorIntersection","getLineIntersector","hasProperIntersection","hasInteriorIntersection","Jl","getSegmentIndex","Zl","pts","ep","Kl","Ql","startIndex","env1","env2","computeIntersectsForChain","getStartIndexes","computeIntersects","$l","NULL_VALUE","tp","getDelta","depthAtLocation","_mce","_isIsolated","_depthDelta","getCollapsedEdge","setIsolated","setName","isCollapsed","getMaximumSegmentIndex","getMonotoneChainEdge","isPointwiseEqual","setDepthDelta","getEdgeIntersectionList","setAtLeastIfValid","np","_workingPrecisionModel","_workingNoder","_graph","setWorkingPrecisionModel","insertUniqueEdge","depthDelta","buildSubgraphs","createSubgraphs","createEmptyResultGeometry","getNoder","buffer","computeNodedEdges","setNoder","convertSegStrings","rp","_noder","_scaleFactor","_offsetX","_offsetY","_isScaled","isIntegerPrecision","rescale","ip","_segStrings","op","fact","checkEndPtVertexIntersections","checkInteriorIntersections","checkValid","checkCollapses","checkCollapse","sp","_pt","_originalPt","_ptScaled","_p0Scaled","_p1Scaled","_corner","_safeEnv","initCorners","ap","SAFE_ENV_EXPANSION_FACTOR","intersectsScaled","intersectsToleranceSquare","copyScaled","getSafeEnvelope","intersectsPixelClosure","addSnappedNode","up","selectedSegment","cp","hp","HotPixelSnapAction","snap","lp","isNodeAdded","_hotPixel","_parentEdge","_hotPixelVertexIndex","_isNodeAdded","pp","_interiorIntersections","getInteriorIntersections","fp","_pm","_pointSnapper","checkCorrectness","snapRound","findInteriorIntersections","computeIntersectionSnaps","computeVertexSnaps","_argGeom","_resultGeometry","_saveException","dp","CAP_BUTT","MAX_PRECISION_DIGITS","bufferFixedPrecision","bufferReducedPrecision","precisionScaleFactor","computeGeometry","bufferOriginalPrecision","getResultGeometry","yp","_isNull","setMinimum","initialize","setMaximum","computeDistance","mp","_maxPtDist","vp","MaxPointDistanceFilter","MaxMidpointDistanceFilter","computeMaxMidpointDistance","Ep","getMaxPointDistance","computeMaxVertexDistance","xp","findDistance","getDistancePoints","_minPtDist","wp","_comps","bp","_lines","_isForcedToLineString","setForceToLineString","getLines","Ip","_boundaryRule","_isIn","_numBoundaries","locateInternal","locateInPolygonRing","updateLocationInfo","computeLocation","Np","_component","_segIndex","INSIDE_AREA","Cp","isInsideArea","getGeometryComponent","Sp","getPoints","Mp","_locations","Lp","_terminateDistance","_ptLocator","_minDistanceLocation","_minDistance","computeContainmentDistance","computeMinDistanceLinesPoints","computeMinDistance","computeFacetDistance","computeMinDistanceLines","updateMinDistance","computeMinDistancePoints","nearestLocations","nearestPoints","isWithinDistance","Pp","Op","Rp","_g0","_g1","_ptDist","_densifyFrac","Tp","MaxDensifiedByFractionDistanceFilter","setDensifyFraction","compute","computeOrientedDistance","Ap","Dp","orientedDistance","_euclideanDist","_numSubSegs","Fp","_minValidDistance","_maxValidDistance","_minDistanceFound","_maxDistanceFound","_isValid","_errMsg","_errorLocation","_errorIndicator","_input","_bufDistance","qp","VERBOSE","MAX_DISTANCE_DIFF_FRAC","checkMaximumDistance","checkPositiveValid","checkNegativeValid","getPolygonLines","checkMinimumDistance","getErrorIndicator","getErrorLocation","getErrorMessage","Gp","_errorMsg","Bp","MAX_ENV_DIFF_FRAC","checkPolygonal","checkExpectedEmpty","checkEnvelope","checkArea","checkDistance","report","isValidMsg","kp","zp","_findAllIntersections","_isCheckEndSegmentsOnly","_interiorIntersection","_intSegments","_intersections","_intersectionCount","_keepIntersections","getInteriorIntersection","setCheckEndSegmentsOnly","getIntersectionSegments","getIntersections","setFindAllIntersections","setKeepIntersections","isEndSegment","createAllIntersectionsFinder","createAnyIntersectionFinder","createIntersectionCounter","jp","execute","computeIntersections","Xp","_nv","toSegmentStrings","Up","_mapOp","Yp","_op","_lineEdgesList","_resultLineList","collectLines","getGraph","collectLineEdge","collectBoundaryTouchEdge","labelIsolatedLine","getArgGeometry","buildLines","isResultOfOp","isCoveredByA","labelIsolatedLines","INTERSECTION","Vp","_resultPointList","filterCoveredNodeToPoint","isCoveredByLA","extractNonCoveredResultNodes","Hp","_pruneEmptyGeometry","_preserveGeometryCollectionType","_preserveCollections","_preserveType","transformPoint","transformCoordinates","transformPolygon","transformLinearRing","createCoordinateSequence","getInputGeometry","transformMultiLineString","transformLineString","transformMultiPoint","transformMultiPolygon","transformGeometryCollection","Wp","_snapTolerance","_srcPts","_allowSnappingToSourceVertices","_isClosed","snapVertices","findSnapForVertex","snapTo","snapSegments","findSegmentIndexToSnap","setAllowSnappingToSourceVertices","Jp","_srcGeom","Zp","SNAP_PRECISION_FACTOR","extractTargetCoordinates","Kp","snapToSelf","computeSnapTolerance","computeMinimumSegmentLength","computeOverlaySnapTolerance","computeSizeBasedSnapTolerance","_snapPts","_isSelfSnap","snapLine","Qp","_isFirst","_commonMantissaBitsCount","_commonBits","_commonSignExp","getCommon","signExpBits","numCommonMostSigMantissaBits","zeroLowerBits","toBinaryString","getBit","$p","_commonCoord","_ccFilter","ef","tf","CommonCoordinateFilter","Translater","addCommonBits","nf","removeCommonBits","getCommonCoordinate","_commonBitsX","_commonBitsY","trans","rf","_cbr","selfSnap","prepareResult","overlayOp","UNION","symDifference","SYMDIFFERENCE","difference","DIFFERENCE","of","sf","mce","chainIndex","af","_xValue","_eventType","_insertEvent","_deleteEventIndex","_obj","INSERT","uf","isDelete","setDeleteEventIndex","getObject","getInsertEvent","isInsert","isSameLabel","getDeleteEventIndex","cf","hf","_includeProper","_recordIsolated","_numIntersections","_bdyNodes","_isDone","_isDoneWhenProperInt","setIsDoneIfProperInt","isBoundaryPointInternal","isBoundaryPoint","setBoundaryNodes","lf","events","nOverlaps","prepareEvents","processOverlaps","pf","_min","NEGATIVE_INFINITY","ff","NodeComparator","getMin","getMax","gf","df","yf","_node1","_node2","buildExtent","_f","_leaves","buildTree","buildLevel","buildRoot","printNode","mf","getItems","vf","wf","xf","SegmentVisitor","IntervalIndexedGeometry","Ef","_counter","addLine","bf","_parentGeom","_lineEdgeMap","_boundaryNodeRule","_useBoundaryDeterminationRule","_argIndex","_boundaryNodes","_hasTooFewPoints","_invalidPoint","_areaPtLocator","insertBoundaryPoint","determineBoundary","computeSelfNodes","createEdgeSetIntersector","addSelfIntersectionNodes","computeSplitEdges","computeEdgeIntersections","hasTooFewPoints","insertPoint","getInvalidPoint","getBoundaryPoints","addSelfIntersectionNode","If","_resultPrecisionModel","_arg","setComputationPrecision","Nf","MapOp","_resultGeom","_resultPolyList","cancelDuplicateResultEdges","createEmptyResult","replaceCollapsedEdges","updateNodeLabelling","computeOverlay","insertUniqueEdges","copyPoints","computeLabelsFromDepths","labelIncompleteNodes","findResultAreaEdges","labelIncompleteNode","resultDimension","Sf","_g","_boundaryDistanceTolerance","_linework","extractLinework","isWithinToleranceOfBoundary","Mf","getLinework","Lf","_doLeft","_doRight","extractPoints","computeOffsetPoints","setSidesToGenerate","Pf","_locFinder","_location","_invalidLocation","TOLERANCE","_testCoords","computeBoundaryDistanceTolerance","Of","reportResult","addTestPts","hasLocation","isValidResult","getInvalidLocation","Rf","_geomFactory","_skipEmpty","_inputGeoms","extractFactory","extractElements","combine","createList","Tf","_inputPolys","Af","STRTREE_NODE_CAPACITY","reduceToGeometries","unionTree","extractByEnvelope","unionOptimized","unionActual","unionUsingEnvelopeIntersection","binaryUnion","unionSafe","repeatedUnion","restrictToPolygons","bufferUnion","Ff","qf","zf","Vf","Jf","tg","Sphere","sphere","ig","ag","cg","fg","dg","yg","mg","xg","clean","bg","Ig","projection","helpers","invariant","meta","isolines","commonProperties","breaksProperties","convex","pointsWithinPolygon","concave","maxEdge","collect","property","highQuality","bezierSpline","tag","sample","square","midpoint","centerOfMass","collectedProperties","explode","tesselate","bboxPolygon","booleanPointInPolygon","nearestPoint","nearestPointOnLine","nearestPointToLine","planepoint","tin","bearing","destination","kinks","onLine1","onLine2","pointOnFeature","along","lineSlice","lineSliceAlong","pointGrid","truncate","lineIntersect","lineChunk","unkinkPolygon","greatCircle","npoints","lineSegment","lineSplit","lineArc","polygonToLine","lineToPolygon","bboxClip","lineOverlap","sector","rhumbBearing","rhumbDistance","rhumbDestination","polygonTangents","rewind","isobands","lrCoordinates","grouped","groupedRings","transformRotate","transformScale","transformTranslate","zTranslation","lineOffset","polygonize","booleanDisjoint","booleanContains","booleanCrosses","booleanClockwise","booleanOverlap","booleanPointOnLine","booleanEqual","booleanWithin","cleanCoords","clustersDbscan","minPoints","cluster","dbscan","clustersKmeans","numberOfClusters","pointToLineDistance","booleanParallel","shortestPath","minDistance","obstacles","voronoi","ellipse","centerMean","centerMedian","counter","standardDeviationalEllipse","meanCenterCoordinates","semiMajorAxis","semiMinorAxis","numberOfFeatures","percentageWithinEllipse","intersect","dissolve","propertyName","origIndexPosition","hexGrid","squareGrid","triangleGrid","gridType","pointOnSurface","polygonToLineString","lineStringToPolygon","within","bezier","nearest","pointOnLine","lineDistance"],"sourceRoot":""} \ No newline at end of file diff --git a/build/build/assets/js/main.js b/build/build/assets/js/main.js new file mode 100644 index 0000000..001461c --- /dev/null +++ b/build/build/assets/js/main.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcod_design_system=self.webpackChunkcod_design_system||[]).push([[179],{730:function(t,n,e){var o="@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;700&display=swap');\n:host {\n --color-1: #004445;\n --color-2: #9fd5b3;\n --color-3: #feb70d;\n --color-4: #b3393b;\n --color-5: #e6e6e6;\n --color-light: #fff;\n --color-dark: #000;\n --font-family: 'Montserrat', sans-serif;\n}\n",a="@charset \"UTF-8\";\n/**\n * GENERATED CSS. DO NOT MODIFY.\n * This file is generated from source SASS in src/scss/themed-bootstrap.scss. If you'd like to make\n * changes please change the source file or the code generation script at scripts/compile_bootstrap.sh.\n */\n@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap');\n/*!\n * Bootstrap v5.3.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme='light'] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #004445;\n --bs-secondary: #e6e6e6;\n --bs-success: #9fd5b3;\n --bs-info: #004445;\n --bs-warning: #feb70d;\n --bs-danger: #b3393b;\n --bs-light: #fff;\n --bs-dark: #000;\n --bs-primary-rgb: 0, 68, 69;\n --bs-secondary-rgb: 230, 230, 230;\n --bs-success-rgb: 159, 213, 179;\n --bs-info-rgb: 0, 68, 69;\n --bs-warning-rgb: 254, 183, 13;\n --bs-danger-rgb: 179, 57, 59;\n --bs-light-rgb: 255, 255, 255;\n --bs-dark-rgb: 0, 0, 0;\n --bs-primary-text-emphasis: #001b1c;\n --bs-secondary-text-emphasis: #5c5c5c;\n --bs-success-text-emphasis: #405548;\n --bs-info-text-emphasis: #001b1c;\n --bs-warning-text-emphasis: #664905;\n --bs-danger-text-emphasis: #481718;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #ccdada;\n --bs-secondary-bg-subtle: #fafafa;\n --bs-success-bg-subtle: #ecf7f0;\n --bs-info-bg-subtle: #ccdada;\n --bs-warning-bg-subtle: #fff1cf;\n --bs-danger-bg-subtle: #f0d7d8;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #99b4b5;\n --bs-secondary-border-subtle: whitesmoke;\n --bs-success-border-subtle: #d9eee1;\n --bs-info-border-subtle: #99b4b5;\n --bs-warning-border-subtle: #ffe29e;\n --bs-danger-border-subtle: #e1b0b1;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: 'Montserrat', sans-serif;\n --bs-font-monospace: 'Montserrat', sans-serif;\n --bs-gradient: linear-gradient(\n 180deg,\n rgba(255, 255, 255, 0.15),\n rgba(255, 255, 255, 0)\n );\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1em;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-link-color: #004445;\n --bs-link-color-rgb: 0, 68, 69;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #003637;\n --bs-link-hover-color-rgb: 0, 54, 55;\n --bs-code-color: #d63384;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0;\n --bs-border-radius-sm: 0;\n --bs-border-radius-lg: 0;\n --bs-border-radius-xl: 0;\n --bs-border-radius-xxl: 0;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50em;\n --bs-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1em 3em rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25em;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(0, 68, 69, 0.25);\n --bs-form-valid-color: #9fd5b3;\n --bs-form-valid-border-color: #9fd5b3;\n --bs-form-invalid-color: #b3393b;\n --bs-form-invalid-border-color: #b3393b;\n}\n\n[data-bs-theme='dark'] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #668f8f;\n --bs-secondary-text-emphasis: #f0f0f0;\n --bs-success-text-emphasis: #c5e6d1;\n --bs-info-text-emphasis: #668f8f;\n --bs-warning-text-emphasis: #fed46e;\n --bs-danger-text-emphasis: #d18889;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #000e0e;\n --bs-secondary-bg-subtle: #2e2e2e;\n --bs-success-bg-subtle: #202b24;\n --bs-info-bg-subtle: #000e0e;\n --bs-warning-bg-subtle: #332503;\n --bs-danger-bg-subtle: #240b0c;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #002929;\n --bs-secondary-border-subtle: #8a8a8a;\n --bs-success-border-subtle: #5f806b;\n --bs-info-border-subtle: #002929;\n --bs-warning-border-subtle: #986e08;\n --bs-danger-border-subtle: #6b2223;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-link-color: #668f8f;\n --bs-link-hover-color: #85a5a5;\n --bs-link-color-rgb: 102, 143, 143;\n --bs-link-hover-color-rgb: 133, 165, 165;\n --bs-code-color: #e685b5;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1em 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6,\n.h6,\nh5,\n.h5,\nh4,\n.h4,\nh3,\n.h3,\nh2,\n.h2,\nh1,\n.h1 {\n margin-top: 0;\n margin-bottom: 0.5em;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color, inherit);\n}\n\nh1,\n.h1 {\n font-size: calc(1.375em + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1,\n .h1 {\n font-size: 2.5em;\n }\n}\n\nh2,\n.h2 {\n font-size: calc(1.325em + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2,\n .h2 {\n font-size: 2em;\n }\n}\n\nh3,\n.h3 {\n font-size: calc(1.3em + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3,\n .h3 {\n font-size: 1.75em;\n }\n}\n\nh4,\n.h4 {\n font-size: calc(1.275em + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4,\n .h4 {\n font-size: 1.5em;\n }\n}\n\nh5,\n.h5 {\n font-size: 1.25em;\n}\n\nh6,\n.h6 {\n font-size: 1em;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1em;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2em;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5em;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1em;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall,\n.small {\n font-size: 0.875em;\n}\n\nmark,\n.mark {\n padding: 0.1875em;\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]),\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1em;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875em 0.375em;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1em;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role='button'] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type='date']):not([type='datetime-local']):not([type='month']):not(\n [type='week']\n ):not([type='time'])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type='button']:not(:disabled),\n[type='reset']:not(:disabled),\n[type='submit']:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5em;\n font-size: calc(1.275em + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5em;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type='search'] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25em;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625em + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5em;\n }\n}\n\n.display-2 {\n font-size: calc(1.575em + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5em;\n }\n}\n\n.display-3 {\n font-size: calc(1.525em + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4em;\n }\n}\n\n.display-4 {\n font-size: calc(1.475em + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5em;\n }\n}\n\n.display-5 {\n font-size: calc(1.425em + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3em;\n }\n}\n\n.display-6 {\n font-size: calc(1.375em + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5em;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5em;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1em;\n font-size: 1.25em;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1em;\n margin-bottom: 1em;\n font-size: 0.875em;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: '\u2014\xa0';\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25em;\n background-color: var(--bs-body-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5em;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5em;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm,\n .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md,\n .container-sm,\n .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg,\n .container-md,\n .container-sm,\n .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm,\n .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm,\n .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5em;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25em;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25em;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5em;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5em;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1em;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1em;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5em;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5em;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3em;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3em;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1em;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1em;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3em;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1em;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1em;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3em;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1em;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1em;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3em;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1em;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1em;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3em;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1em;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1em;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3em;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3em;\n }\n}\n.table {\n --bs-table-color: var(--bs-body-color);\n --bs-table-bg: transparent;\n --bs-table-border-color: var(--bs-border-color);\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: var(--bs-body-color);\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: var(--bs-body-color);\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: var(--bs-body-color);\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1em;\n color: var(--bs-table-color);\n vertical-align: top;\n border-color: var(--bs-table-border-color);\n}\n.table > :not(caption) > * > * {\n padding: 0.5em 0.5em;\n background-color: var(--bs-table-bg);\n border-bottom-width: var(--bs-border-width);\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: calc(var(--bs-border-width) * 2) solid currentcolor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25em 0.25em;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: var(--bs-border-width) 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover > * {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-color: #000;\n --bs-table-bg: #ccdada;\n --bs-table-border-color: #b8c4c4;\n --bs-table-striped-bg: #c2cfcf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #b8c4c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bdcaca;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-secondary {\n --bs-table-color: #000;\n --bs-table-bg: #fafafa;\n --bs-table-border-color: #e1e1e1;\n --bs-table-striped-bg: #eeeeee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e1e1e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e7e7e7;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-success {\n --bs-table-color: #000;\n --bs-table-bg: #ecf7f0;\n --bs-table-border-color: #d4ded8;\n --bs-table-striped-bg: #e0ebe4;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #d4ded8;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #dae4de;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-info {\n --bs-table-color: #000;\n --bs-table-bg: #ccdada;\n --bs-table-border-color: #b8c4c4;\n --bs-table-striped-bg: #c2cfcf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #b8c4c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bdcaca;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-warning {\n --bs-table-color: #000;\n --bs-table-bg: #fff1cf;\n --bs-table-border-color: #e6d9ba;\n --bs-table-striped-bg: #f2e5c5;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6d9ba;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ecdfbf;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-danger {\n --bs-table-color: #000;\n --bs-table-bg: #f0d7d8;\n --bs-table-border-color: #d8c2c2;\n --bs-table-striped-bg: #e4cccd;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #d8c2c2;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #dec7c8;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-light {\n --bs-table-color: #000;\n --bs-table-bg: #fff;\n --bs-table-border-color: #e6e6e6;\n --bs-table-striped-bg: #f2f2f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6e6e6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ececec;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-dark {\n --bs-table-color: #fff;\n --bs-table-bg: #000;\n --bs-table-border-color: #1a1a1a;\n --bs-table-striped-bg: #0d0d0d;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #1a1a1a;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #131313;\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5em;\n}\n\n.col-form-label {\n padding-top: calc(0.375em + var(--bs-border-width));\n padding-bottom: calc(0.375em + var(--bs-border-width));\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5em + var(--bs-border-width));\n padding-bottom: calc(0.5em + var(--bs-border-width));\n font-size: 1.25em;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25em + var(--bs-border-width));\n padding-bottom: calc(0.25em + var(--bs-border-width));\n font-size: 0.875em;\n}\n\n.form-text {\n margin-top: 0.25em;\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375em 0.75em;\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n background-clip: padding-box;\n border: var(--bs-border-width) solid var(--bs-border-color);\n appearance: none;\n border-radius: var(--bs-border-radius);\n transition:\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type='file'] {\n overflow: hidden;\n}\n.form-control[type='file']:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n border-color: #80a2a2;\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n min-width: 85px;\n height: 1.5em;\n margin: 0;\n}\n.form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.form-control::placeholder {\n color: var(--bs-secondary-color);\n opacity: 1;\n}\n.form-control:disabled {\n background-color: var(--bs-secondary-bg);\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375em 0.75em;\n margin: -0.375em -0.75em;\n margin-inline-end: 0.75em;\n color: var(--bs-body-color);\n background-color: var(--bs-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--bs-border-width);\n border-radius: 0;\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--bs-secondary-bg);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375em 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--bs-border-width) 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm,\n.form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5em + calc(var(--bs-border-width) * 2));\n padding: 0.25em 0.5em;\n font-size: 0.875em;\n border-radius: var(--bs-border-radius-sm);\n}\n.form-control-sm::file-selector-button {\n padding: 0.25em 0.5em;\n margin: -0.25em -0.5em;\n margin-inline-end: 0.5em;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1em + calc(var(--bs-border-width) * 2));\n padding: 0.5em 1em;\n font-size: 1.25em;\n border-radius: var(--bs-border-radius-lg);\n}\n.form-control-lg::file-selector-button {\n padding: 0.5em 1em;\n margin: -0.5em -1em;\n margin-inline-end: 1em;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75em + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5em + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1em + calc(var(--bs-border-width) * 2));\n}\n\n.form-control-color {\n width: 3em;\n height: calc(1.5em + 0.75em + calc(var(--bs-border-width) * 2));\n padding: 0.375em;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color.form-control-sm {\n height: calc(1.5em + 0.5em + calc(var(--bs-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n height: calc(1.5em + 1em + calc(var(--bs-border-width) * 2));\n}\n\n.form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: 0.375em 2.25em 0.375em 0.75em;\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n background-image: var(--bs-form-select-bg-img),\n var(--bs-form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: right 0.75em center;\n background-size: 16px 12px;\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n transition:\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select:focus {\n border-color: #80a2a2;\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-select[multiple],\n.form-select[size]:not([size='1']) {\n padding-right: 0.75em;\n background-image: none;\n}\n.form-select:disabled {\n background-color: var(--bs-secondary-bg);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--bs-body-color);\n}\n\n.form-select-sm {\n padding-top: 0.25em;\n padding-bottom: 0.25em;\n padding-left: 0.5em;\n font-size: 0.875em;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n padding-left: 1em;\n font-size: 1.25em;\n border-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme='dark'] .form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check {\n display: block;\n min-height: 1.5em;\n padding-left: 1.5em;\n margin-bottom: 0.125em;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-check-input {\n --bs-form-check-bg: var(--bs-body-bg);\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: var(--bs-form-check-bg);\n background-image: var(--bs-form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--bs-border-width) solid var(--bs-border-color);\n appearance: none;\n print-color-adjust: exact;\n}\n.form-check-input[type='checkbox'] {\n border-radius: 0.25em;\n}\n.form-check-input[type='radio'] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #80a2a2;\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-check-input:checked {\n background-color: #004445;\n border-color: #004445;\n}\n.form-check-input:checked[type='checkbox'] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type='radio'] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type='checkbox']:indeterminate {\n background-color: #004445;\n border-color: #004445;\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n width: 2em;\n margin-left: -2.5em;\n background-image: var(--bs-form-switch-bg);\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a2a2'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-switch.form-check-reverse {\n padding-right: 2.5em;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -2.5em;\n margin-left: 0;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1em;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn,\n.btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n[data-bs-theme='dark']\n .form-switch\n .form-check-input:not(:checked):not(:focus) {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\");\n}\n\n.form-range {\n width: 100%;\n height: 1.5em;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow:\n 0 0 0 1px #fff,\n 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow:\n 0 0 0 1px #fff,\n 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1em;\n height: 1em;\n margin-top: -0.25em;\n background-color: #004445;\n border: 0;\n border-radius: 1em;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #b3c7c7;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5em;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-tertiary-bg);\n border-color: transparent;\n border-radius: 1em;\n}\n.form-range::-moz-range-thumb {\n width: 1em;\n height: 1em;\n background-color: #004445;\n border: 0;\n border-radius: 1em;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #b3c7c7;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5em;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-tertiary-bg);\n border-color: transparent;\n border-radius: 1em;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--bs-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--bs-secondary-color);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5em + calc(var(--bs-border-width) * 2));\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n height: 100%;\n padding: 1em 0.75em;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--bs-border-width) solid transparent;\n transform-origin: 0 0;\n transition:\n opacity 0.1s ease-in-out,\n transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1em 0.75em;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus,\n.form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625em;\n padding-bottom: 0.625em;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625em;\n padding-bottom: 0.625em;\n}\n.form-floating > .form-select {\n padding-top: 1.625em;\n padding-bottom: 0.625em;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5em) translateX(0.15em);\n}\n.form-floating > .form-control:focus ~ label::after,\n.form-floating > .form-control:not(:placeholder-shown) ~ label::after,\n.form-floating > .form-control-plaintext ~ label::after,\n.form-floating > .form-select ~ label::after {\n position: absolute;\n inset: 1em 0.375em;\n z-index: -1;\n height: 1.5em;\n content: '';\n background-color: var(--bs-body-bg);\n border-radius: var(--bs-border-radius);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5em) translateX(0.15em);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: var(--bs-border-width) 0;\n}\n.form-floating > :disabled ~ label {\n color: #6c757d;\n}\n.form-floating > :disabled ~ label::after {\n background-color: var(--bs-secondary-bg);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375em 0.75em;\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-tertiary-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5em 1em;\n font-size: 1.25em;\n border-radius: var(--bs-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25em 0.5em;\n font-size: 0.875em;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 3em;\n}\n\n.input-group:not(.has-validation)\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(\n .form-floating\n ),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3),\n.input-group:not(.has-validation)\n > .form-floating:not(:last-child)\n > .form-control,\n.input-group:not(.has-validation)\n > .form-floating:not(:last-child)\n > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(\n .form-floating\n ),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4),\n.input-group.has-validation\n > .form-floating:nth-last-child(n + 3)\n > .form-control,\n.input-group.has-validation\n > .form-floating:nth-last-child(n + 3)\n > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group\n > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(\n .valid-feedback\n ):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: calc(var(--bs-border-width) * -1);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25em;\n font-size: 0.875em;\n color: var(--bs-form-valid-color);\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25em 0.5em;\n margin-top: 0.1em;\n font-size: 0.875em;\n color: #fff;\n background-color: var(--bs-success);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid,\n.form-control.is-valid {\n border-color: var(--bs-form-valid-border-color);\n padding-right: calc(1.5em + 0.75em);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%239fd5b3' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875em) center;\n background-size: calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-control:valid:focus,\n.form-control.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:valid,\ntextarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75em);\n background-position: top calc(0.375em + 0.1875em) right\n calc(0.375em + 0.1875em);\n}\n\n.was-validated .form-select:valid,\n.form-select.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-select:valid:not([multiple]):not([size]),\n.was-validated .form-select:valid:not([multiple])[size='1'],\n.form-select.is-valid:not([multiple]):not([size]),\n.form-select.is-valid:not([multiple])[size='1'] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%239fd5b3' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n padding-right: 4.125em;\n background-position:\n right 0.75em center,\n center right 2.25em;\n background-size:\n 16px 12px,\n calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-select:valid:focus,\n.form-select.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated .form-control-color:valid,\n.form-control-color.is-valid {\n width: calc(3em + calc(1.5em + 0.75em));\n}\n\n.was-validated .form-check-input:valid,\n.form-check-input.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked,\n.form-check-input.is-valid:checked {\n background-color: var(--bs-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus,\n.form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label,\n.form-check-input.is-valid ~ .form-check-label {\n color: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid,\n.input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25em;\n font-size: 0.875em;\n color: var(--bs-form-invalid-color);\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25em 0.5em;\n margin-top: 0.1em;\n font-size: 0.875em;\n color: #fff;\n background-color: var(--bs-danger);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid,\n.form-control.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n padding-right: calc(1.5em + 0.75em);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23b3393b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23b3393b' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875em) center;\n background-size: calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-control:invalid:focus,\n.form-control.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:invalid,\ntextarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75em);\n background-position: top calc(0.375em + 0.1875em) right\n calc(0.375em + 0.1875em);\n}\n\n.was-validated .form-select:invalid,\n.form-select.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]),\n.was-validated .form-select:invalid:not([multiple])[size='1'],\n.form-select.is-invalid:not([multiple]):not([size]),\n.form-select.is-invalid:not([multiple])[size='1'] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23b3393b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23b3393b' stroke='none'/%3e%3c/svg%3e\");\n padding-right: 4.125em;\n background-position:\n right 0.75em center,\n center right 2.25em;\n background-size:\n 16px 12px,\n calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-select:invalid:focus,\n.form-select.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated .form-control-color:invalid,\n.form-control-color.is-invalid {\n width: calc(3em + calc(1.5em + 0.75em));\n}\n\n.was-validated .form-check-input:invalid,\n.form-check-input.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked,\n.form-check-input.is-invalid:checked {\n background-color: var(--bs-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus,\n.form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label,\n.form-check-input.is-invalid ~ .form-check-label {\n color: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid,\n.input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --bs-btn-padding-x: 0.75em;\n --bs-btn-padding-y: 0.375em;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1em;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25em\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--bs-btn-color);\n background-color: var(--bs-btn-bg);\n border-color: var(--bs-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn,\n:not(.btn-check) + .btn:active,\n.btn:first-child:active,\n.btn.active,\n.btn.show {\n color: var(--bs-btn-active-color);\n background-color: var(--bs-btn-active-bg);\n border-color: var(--bs-btn-active-border-color);\n}\n.btn-check:checked + .btn:focus-visible,\n:not(.btn-check) + .btn:active:focus-visible,\n.btn:first-child:active:focus-visible,\n.btn.active:focus-visible,\n.btn.show:focus-visible {\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn:disabled,\n.btn.disabled,\nfieldset:disabled .btn {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n}\n\n.btn-primary {\n --bs-btn-color: #fff;\n --bs-btn-bg: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #003a3b;\n --bs-btn-hover-border-color: #003637;\n --bs-btn-focus-shadow-rgb: 38, 96, 97;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #003637;\n --bs-btn-active-border-color: #003334;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #004445;\n --bs-btn-disabled-border-color: #004445;\n}\n\n.btn-secondary {\n --bs-btn-color: #000;\n --bs-btn-bg: #e6e6e6;\n --bs-btn-border-color: #e6e6e6;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #eaeaea;\n --bs-btn-hover-border-color: #e9e9e9;\n --bs-btn-focus-shadow-rgb: 196, 196, 196;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #ebebeb;\n --bs-btn-active-border-color: #e9e9e9;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #e6e6e6;\n --bs-btn-disabled-border-color: #e6e6e6;\n}\n\n.btn-success {\n --bs-btn-color: #000;\n --bs-btn-bg: #9fd5b3;\n --bs-btn-border-color: #9fd5b3;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #addbbe;\n --bs-btn-hover-border-color: #a9d9bb;\n --bs-btn-focus-shadow-rgb: 135, 181, 152;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #b2ddc2;\n --bs-btn-active-border-color: #a9d9bb;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #9fd5b3;\n --bs-btn-disabled-border-color: #9fd5b3;\n}\n\n.btn-info {\n --bs-btn-color: #fff;\n --bs-btn-bg: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #003a3b;\n --bs-btn-hover-border-color: #003637;\n --bs-btn-focus-shadow-rgb: 38, 96, 97;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #003637;\n --bs-btn-active-border-color: #003334;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #004445;\n --bs-btn-disabled-border-color: #004445;\n}\n\n.btn-warning {\n --bs-btn-color: #000;\n --bs-btn-bg: #feb70d;\n --bs-btn-border-color: #feb70d;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #fec231;\n --bs-btn-hover-border-color: #febe25;\n --bs-btn-focus-shadow-rgb: 216, 156, 11;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #fec53d;\n --bs-btn-active-border-color: #febe25;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #feb70d;\n --bs-btn-disabled-border-color: #feb70d;\n}\n\n.btn-danger {\n --bs-btn-color: #fff;\n --bs-btn-bg: #b3393b;\n --bs-btn-border-color: #b3393b;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #983032;\n --bs-btn-hover-border-color: #8f2e2f;\n --bs-btn-focus-shadow-rgb: 190, 87, 88;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #8f2e2f;\n --bs-btn-active-border-color: #862b2c;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #b3393b;\n --bs-btn-disabled-border-color: #b3393b;\n}\n\n.btn-light {\n --bs-btn-color: #000;\n --bs-btn-bg: #fff;\n --bs-btn-border-color: #fff;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #d9d9d9;\n --bs-btn-hover-border-color: #cccccc;\n --bs-btn-focus-shadow-rgb: 217, 217, 217;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #cccccc;\n --bs-btn-active-border-color: #bfbfbf;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #fff;\n --bs-btn-disabled-border-color: #fff;\n}\n\n.btn-dark {\n --bs-btn-color: #fff;\n --bs-btn-bg: #000;\n --bs-btn-border-color: #000;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #262626;\n --bs-btn-hover-border-color: #1a1a1a;\n --bs-btn-focus-shadow-rgb: 38, 38, 38;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #333333;\n --bs-btn-active-border-color: #1a1a1a;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #000;\n --bs-btn-disabled-border-color: #000;\n}\n\n.btn-outline-primary {\n --bs-btn-color: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #004445;\n --bs-btn-hover-border-color: #004445;\n --bs-btn-focus-shadow-rgb: 0, 68, 69;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #004445;\n --bs-btn-active-border-color: #004445;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #004445;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #004445;\n --bs-gradient: none;\n}\n\n.btn-outline-secondary {\n --bs-btn-color: #e6e6e6;\n --bs-btn-border-color: #e6e6e6;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #e6e6e6;\n --bs-btn-hover-border-color: #e6e6e6;\n --bs-btn-focus-shadow-rgb: 230, 230, 230;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #e6e6e6;\n --bs-btn-active-border-color: #e6e6e6;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #e6e6e6;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #e6e6e6;\n --bs-gradient: none;\n}\n\n.btn-outline-success {\n --bs-btn-color: #9fd5b3;\n --bs-btn-border-color: #9fd5b3;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #9fd5b3;\n --bs-btn-hover-border-color: #9fd5b3;\n --bs-btn-focus-shadow-rgb: 159, 213, 179;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #9fd5b3;\n --bs-btn-active-border-color: #9fd5b3;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #9fd5b3;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #9fd5b3;\n --bs-gradient: none;\n}\n\n.btn-outline-info {\n --bs-btn-color: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #004445;\n --bs-btn-hover-border-color: #004445;\n --bs-btn-focus-shadow-rgb: 0, 68, 69;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #004445;\n --bs-btn-active-border-color: #004445;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #004445;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #004445;\n --bs-gradient: none;\n}\n\n.btn-outline-warning {\n --bs-btn-color: #feb70d;\n --bs-btn-border-color: #feb70d;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #feb70d;\n --bs-btn-hover-border-color: #feb70d;\n --bs-btn-focus-shadow-rgb: 254, 183, 13;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #feb70d;\n --bs-btn-active-border-color: #feb70d;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #feb70d;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #feb70d;\n --bs-gradient: none;\n}\n\n.btn-outline-danger {\n --bs-btn-color: #b3393b;\n --bs-btn-border-color: #b3393b;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #b3393b;\n --bs-btn-hover-border-color: #b3393b;\n --bs-btn-focus-shadow-rgb: 179, 57, 59;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #b3393b;\n --bs-btn-active-border-color: #b3393b;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #b3393b;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #b3393b;\n --bs-gradient: none;\n}\n\n.btn-outline-light {\n --bs-btn-color: #fff;\n --bs-btn-border-color: #fff;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #fff;\n --bs-btn-hover-border-color: #fff;\n --bs-btn-focus-shadow-rgb: 255, 255, 255;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #fff;\n --bs-btn-active-border-color: #fff;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #fff;\n --bs-gradient: none;\n}\n\n.btn-outline-dark {\n --bs-btn-color: #000;\n --bs-btn-border-color: #000;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #000;\n --bs-btn-hover-border-color: #000;\n --bs-btn-focus-shadow-rgb: 0, 0, 0;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #000;\n --bs-btn-active-border-color: #000;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #000;\n --bs-gradient: none;\n}\n\n.btn-link {\n --bs-btn-font-weight: 400;\n --bs-btn-color: var(--bs-link-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-color: transparent;\n --bs-btn-hover-color: var(--bs-link-hover-color);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-active-color: var(--bs-link-hover-color);\n --bs-btn-active-border-color: transparent;\n --bs-btn-disabled-color: #6c757d;\n --bs-btn-disabled-border-color: transparent;\n --bs-btn-box-shadow: 0 0 0 #000;\n --bs-btn-focus-shadow-rgb: 38, 96, 97;\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--bs-btn-color);\n}\n.btn-link:hover {\n color: var(--bs-btn-hover-color);\n}\n\n.btn-lg,\n.btn-group-lg > .btn {\n --bs-btn-padding-y: 0.5em;\n --bs-btn-padding-x: 1em;\n --bs-btn-font-size: 1.25em;\n --bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n.btn-sm,\n.btn-group-sm > .btn {\n --bs-btn-padding-y: 0.25em;\n --bs-btn-padding-x: 0.5em;\n --bs-btn-font-size: 0.875em;\n --bs-btn-border-radius: var(--bs-border-radius-sm);\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n --bs-dropdown-zindex: 1000;\n --bs-dropdown-min-width: 10em;\n --bs-dropdown-padding-x: 0;\n --bs-dropdown-padding-y: 0.5em;\n --bs-dropdown-spacer: 0.125em;\n --bs-dropdown-font-size: 1em;\n --bs-dropdown-color: var(--bs-body-color);\n --bs-dropdown-bg: var(--bs-body-bg);\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\n --bs-dropdown-border-radius: var(--bs-border-radius);\n --bs-dropdown-border-width: var(--bs-border-width);\n --bs-dropdown-inner-border-radius: calc(\n var(--bs-border-radius) - var(--bs-border-width)\n );\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n --bs-dropdown-divider-margin-y: 0.5em;\n --bs-dropdown-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-dropdown-link-color: var(--bs-body-color);\n --bs-dropdown-link-hover-color: var(--bs-body-color);\n --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #004445;\n --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n --bs-dropdown-item-padding-x: 1em;\n --bs-dropdown-item-padding-y: 0.25em;\n --bs-dropdown-header-color: #6c757d;\n --bs-dropdown-header-padding-x: 1em;\n --bs-dropdown-header-padding-y: 0.5em;\n position: absolute;\n z-index: var(--bs-dropdown-zindex);\n display: none;\n min-width: var(--bs-dropdown-min-width);\n padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n margin: 0;\n font-size: var(--bs-dropdown-font-size);\n color: var(--bs-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--bs-dropdown-bg);\n background-clip: padding-box;\n border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n border-radius: var(--bs-dropdown-border-radius);\n}\n.dropdown-menu[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --bs-position: start;\n }\n .dropdown-menu-sm-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --bs-position: end;\n }\n .dropdown-menu-sm-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --bs-position: start;\n }\n .dropdown-menu-md-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --bs-position: end;\n }\n .dropdown-menu-md-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --bs-position: start;\n }\n .dropdown-menu-lg-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --bs-position: end;\n }\n .dropdown-menu-lg-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --bs-position: start;\n }\n .dropdown-menu-xl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --bs-position: end;\n }\n .dropdown-menu-xl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --bs-position: start;\n }\n .dropdown-menu-xxl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --bs-position: end;\n }\n .dropdown-menu-xxl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--bs-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--bs-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--bs-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--bs-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--bs-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--bs-dropdown-link-color);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n border-radius: var(--bs-dropdown-item-border-radius, 0);\n}\n.dropdown-item:hover,\n.dropdown-item:focus {\n color: var(--bs-dropdown-link-hover-color);\n background-color: var(--bs-dropdown-link-hover-bg);\n}\n.dropdown-item.active,\n.dropdown-item:active {\n color: var(--bs-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--bs-dropdown-link-active-bg);\n}\n.dropdown-item.disabled,\n.dropdown-item:disabled {\n color: var(--bs-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--bs-dropdown-header-padding-y)\n var(--bs-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.875em;\n color: var(--bs-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n color: var(--bs-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --bs-dropdown-color: #dee2e6;\n --bs-dropdown-bg: #343a40;\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\n --bs-dropdown-box-shadow: ;\n --bs-dropdown-link-color: #dee2e6;\n --bs-dropdown-link-hover-color: #fff;\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #004445;\n --bs-dropdown-link-disabled-color: #adb5bd;\n --bs-dropdown-header-color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: var(--bs-border-radius);\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625em;\n padding-left: 0.5625em;\n}\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split,\n.btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375em;\n padding-left: 0.375em;\n}\n\n.btn-lg + .dropdown-toggle-split,\n.btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75em;\n padding-left: 0.75em;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(var(--bs-border-width) * -1);\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --bs-nav-link-padding-x: 1em;\n --bs-nav-link-padding-y: 0.5em;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-link-color);\n --bs-nav-link-hover-color: var(--bs-link-hover-color);\n --bs-nav-link-disabled-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n color: var(--bs-nav-link-color);\n text-decoration: none;\n background: none;\n border: 0;\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover,\n.nav-link:focus {\n color: var(--bs-nav-link-hover-color);\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.nav-link.disabled {\n color: var(--bs-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --bs-nav-tabs-border-width: var(--bs-border-width);\n --bs-nav-tabs-border-color: var(--bs-border-color);\n --bs-nav-tabs-border-radius: var(--bs-border-radius);\n --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg)\n var(--bs-secondary-bg) var(--bs-border-color);\n --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n --bs-nav-tabs-link-active-bg: var(--bs-body-bg);\n --bs-nav-tabs-link-active-border-color: var(--bs-border-color)\n var(--bs-border-color) var(--bs-body-bg);\n border-bottom: var(--bs-nav-tabs-border-width) solid\n var(--bs-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n border: var(--bs-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--bs-nav-tabs-border-radius);\n border-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover,\n.nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.disabled,\n.nav-tabs .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--bs-nav-tabs-link-active-color);\n background-color: var(--bs-nav-tabs-link-active-bg);\n border-color: var(--bs-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --bs-nav-pills-border-radius: var(--bs-border-radius);\n --bs-nav-pills-link-active-color: #fff;\n --bs-nav-pills-link-active-bg: #004445;\n}\n.nav-pills .nav-link {\n border-radius: var(--bs-nav-pills-border-radius);\n}\n.nav-pills .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--bs-nav-pills-link-active-color);\n background-color: var(--bs-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --bs-nav-underline-gap: 1em;\n --bs-nav-underline-border-width: 0.125em;\n --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n gap: var(--bs-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover,\n.nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--bs-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --bs-navbar-padding-x: 0;\n --bs-navbar-padding-y: 0.5em;\n --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);\n --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);\n --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);\n --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-padding-y: 0.3125em;\n --bs-navbar-brand-margin-end: 1em;\n --bs-navbar-brand-font-size: 1.25em;\n --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-nav-link-padding-x: 0.5em;\n --bs-navbar-toggler-padding-y: 0.25em;\n --bs-navbar-toggler-padding-x: 0.75em;\n --bs-navbar-toggler-font-size: 1.25em;\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n --bs-navbar-toggler-focus-width: 0.25em;\n --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--bs-navbar-brand-padding-y);\n padding-bottom: var(--bs-navbar-brand-padding-y);\n margin-right: var(--bs-navbar-brand-margin-end);\n font-size: var(--bs-navbar-brand-font-size);\n color: var(--bs-navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n color: var(--bs-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n --bs-nav-link-padding-x: 0;\n --bs-nav-link-padding-y: 0.5em;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-navbar-color);\n --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link.active,\n.navbar-nav .nav-link.show {\n color: var(--bs-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n color: var(--bs-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n font-size: var(--bs-navbar-toggler-font-size);\n line-height: 1;\n color: var(--bs-navbar-color);\n background-color: transparent;\n border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n border-radius: var(--bs-navbar-toggler-border-radius);\n transition: var(--bs-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--bs-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--bs-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark {\n --bs-navbar-color: rgba(255, 255, 255, 0.55);\n --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n --bs-navbar-active-color: #fff;\n --bs-navbar-brand-color: #fff;\n --bs-navbar-brand-hover-color: #fff;\n --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme='dark'] .navbar-toggler-icon {\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n --bs-card-spacer-y: 1em;\n --bs-card-spacer-x: 1em;\n --bs-card-title-spacer-y: 0.5em;\n --bs-card-title-color: ;\n --bs-card-subtitle-color: ;\n --bs-card-border-width: var(--bs-border-width);\n --bs-card-border-color: var(--bs-border-color-translucent);\n --bs-card-border-radius: var(--bs-border-radius);\n --bs-card-box-shadow: ;\n --bs-card-inner-border-radius: calc(\n var(--bs-border-radius) - (var(--bs-border-width))\n );\n --bs-card-cap-padding-y: 0.5em;\n --bs-card-cap-padding-x: 1em;\n --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n --bs-card-cap-color: ;\n --bs-card-height: ;\n --bs-card-color: ;\n --bs-card-bg: var(--bs-body-bg);\n --bs-card-img-overlay-padding: 1em;\n --bs-card-group-margin: 0.75em;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--bs-card-height);\n color: var(--bs-body-color);\n word-wrap: break-word;\n background-color: var(--bs-card-bg);\n background-clip: border-box;\n border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n border-radius: var(--bs-card-border-radius);\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n color: var(--bs-card-color);\n}\n\n.card-title {\n margin-bottom: var(--bs-card-title-spacer-y);\n color: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n margin-bottom: 0;\n color: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link + .card-link {\n margin-left: var(--bs-card-spacer-x);\n}\n\n.card-header {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--bs-card-inner-border-radius)\n var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--bs-card-inner-border-radius)\n var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--bs-card-bg);\n border-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--bs-card-img-overlay-padding);\n border-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--bs-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n --bs-accordion-color: var(--bs-body-color);\n --bs-accordion-bg: var(--bs-body-bg);\n --bs-accordion-transition: color 0.15s ease-in-out,\n background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out, border-radius 0.15s ease;\n --bs-accordion-border-color: var(--bs-border-color);\n --bs-accordion-border-width: var(--bs-border-width);\n --bs-accordion-border-radius: var(--bs-border-radius);\n --bs-accordion-inner-border-radius: calc(\n var(--bs-border-radius) - (var(--bs-border-width))\n );\n --bs-accordion-btn-padding-x: 1.25em;\n --bs-accordion-btn-padding-y: 1em;\n --bs-accordion-btn-color: var(--bs-body-color);\n --bs-accordion-btn-bg: var(--bs-accordion-bg);\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-icon-width: 1.25em;\n --bs-accordion-btn-icon-transform: rotate(-180deg);\n --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23001b1c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-focus-border-color: #80a2a2;\n --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n --bs-accordion-body-padding-x: 1.25em;\n --bs-accordion-body-padding-y: 1em;\n --bs-accordion-active-color: var(--bs-primary-text-emphasis);\n --bs-accordion-active-bg: var(--bs-primary-bg-subtle);\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n font-size: 1em;\n color: var(--bs-accordion-btn-color);\n text-align: left;\n background-color: var(--bs-accordion-btn-bg);\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: var(--bs-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: var(--bs-accordion-active-color);\n background-color: var(--bs-accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0\n var(--bs-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: var(--bs-accordion-btn-active-icon);\n transform: var(--bs-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: var(--bs-accordion-btn-icon-width);\n height: var(--bs-accordion-btn-icon-width);\n margin-left: auto;\n content: '';\n background-image: var(--bs-accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--bs-accordion-btn-icon-width);\n transition: var(--bs-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: var(--bs-accordion-btn-focus-border-color);\n outline: 0;\n box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--bs-accordion-color);\n background-color: var(--bs-accordion-bg);\n border: var(--bs-accordion-border-width) solid\n var(--bs-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--bs-accordion-border-radius);\n border-top-right-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: var(--bs-accordion-inner-border-radius);\n border-top-right-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n border-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush .accordion-item .accordion-button,\n.accordion-flush .accordion-item .accordion-button.collapsed {\n border-radius: 0;\n}\n\n[data-bs-theme='dark'] .accordion-button::after {\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23668f8f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23668f8f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.breadcrumb {\n --bs-breadcrumb-padding-x: 0;\n --bs-breadcrumb-padding-y: 0;\n --bs-breadcrumb-margin-bottom: 1em;\n --bs-breadcrumb-bg: ;\n --bs-breadcrumb-border-radius: ;\n --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n --bs-breadcrumb-item-padding-x: 0.5em;\n --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n margin-bottom: var(--bs-breadcrumb-margin-bottom);\n font-size: var(--bs-breadcrumb-font-size);\n list-style: none;\n background-color: var(--bs-breadcrumb-bg);\n border-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: var(--bs-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: var(--bs-breadcrumb-item-padding-x);\n color: var(--bs-breadcrumb-divider-color);\n content: var(--bs-breadcrumb-divider, '/')\n /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n.breadcrumb-item.active {\n color: var(--bs-breadcrumb-item-active-color);\n}\n\n.pagination {\n --bs-pagination-padding-x: 0.75em;\n --bs-pagination-padding-y: 0.375em;\n --bs-pagination-font-size: 1em;\n --bs-pagination-color: var(--bs-link-color);\n --bs-pagination-bg: var(--bs-body-bg);\n --bs-pagination-border-width: var(--bs-border-width);\n --bs-pagination-border-color: var(--bs-border-color);\n --bs-pagination-border-radius: var(--bs-border-radius);\n --bs-pagination-hover-color: var(--bs-link-hover-color);\n --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n --bs-pagination-hover-border-color: var(--bs-border-color);\n --bs-pagination-focus-color: var(--bs-link-hover-color);\n --bs-pagination-focus-bg: var(--bs-secondary-bg);\n --bs-pagination-focus-box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n --bs-pagination-active-color: #fff;\n --bs-pagination-active-bg: #004445;\n --bs-pagination-active-border-color: #004445;\n --bs-pagination-disabled-color: var(--bs-secondary-color);\n --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n --bs-pagination-disabled-border-color: var(--bs-border-color);\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n font-size: var(--bs-pagination-font-size);\n color: var(--bs-pagination-color);\n text-decoration: none;\n background-color: var(--bs-pagination-bg);\n border: var(--bs-pagination-border-width) solid\n var(--bs-pagination-border-color);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--bs-pagination-hover-color);\n background-color: var(--bs-pagination-hover-bg);\n border-color: var(--bs-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--bs-pagination-focus-color);\n background-color: var(--bs-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--bs-pagination-focus-box-shadow);\n}\n.page-link.active,\n.active > .page-link {\n z-index: 3;\n color: var(--bs-pagination-active-color);\n background-color: var(--bs-pagination-active-bg);\n border-color: var(--bs-pagination-active-border-color);\n}\n.page-link.disabled,\n.disabled > .page-link {\n color: var(--bs-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--bs-pagination-disabled-bg);\n border-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.page-item:first-child .page-link {\n border-top-left-radius: var(--bs-pagination-border-radius);\n border-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n border-top-right-radius: var(--bs-pagination-border-radius);\n border-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n --bs-pagination-padding-x: 1.5em;\n --bs-pagination-padding-y: 0.75em;\n --bs-pagination-font-size: 1.25em;\n --bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n --bs-pagination-padding-x: 0.5em;\n --bs-pagination-padding-y: 0.25em;\n --bs-pagination-font-size: 0.875em;\n --bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n.badge {\n --bs-badge-padding-x: 0.65em;\n --bs-badge-padding-y: 0.35em;\n --bs-badge-font-size: 0.75em;\n --bs-badge-font-weight: 700;\n --bs-badge-color: #fff;\n --bs-badge-border-radius: var(--bs-border-radius);\n display: inline-block;\n padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n font-size: var(--bs-badge-font-size);\n font-weight: var(--bs-badge-font-weight);\n line-height: 1;\n color: var(--bs-badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--bs-badge-border-radius);\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n --bs-alert-bg: transparent;\n --bs-alert-padding-x: 1em;\n --bs-alert-padding-y: 1em;\n --bs-alert-margin-bottom: 1em;\n --bs-alert-color: inherit;\n --bs-alert-border-color: transparent;\n --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n --bs-alert-border-radius: var(--bs-border-radius);\n --bs-alert-link-color: inherit;\n position: relative;\n padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n margin-bottom: var(--bs-alert-margin-bottom);\n color: var(--bs-alert-color);\n background-color: var(--bs-alert-bg);\n border: var(--bs-alert-border);\n border-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n color: var(--bs-alert-link-color);\n}\n\n.alert-dismissible {\n padding-right: 3em;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25em 1em;\n}\n\n.alert-primary {\n --bs-alert-color: var(--bs-primary-text-emphasis);\n --bs-alert-bg: var(--bs-primary-bg-subtle);\n --bs-alert-border-color: var(--bs-primary-border-subtle);\n --bs-alert-link-color: var(--bs-primary-text-emphasis);\n}\n\n.alert-secondary {\n --bs-alert-color: var(--bs-secondary-text-emphasis);\n --bs-alert-bg: var(--bs-secondary-bg-subtle);\n --bs-alert-border-color: var(--bs-secondary-border-subtle);\n --bs-alert-link-color: var(--bs-secondary-text-emphasis);\n}\n\n.alert-success {\n --bs-alert-color: var(--bs-success-text-emphasis);\n --bs-alert-bg: var(--bs-success-bg-subtle);\n --bs-alert-border-color: var(--bs-success-border-subtle);\n --bs-alert-link-color: var(--bs-success-text-emphasis);\n}\n\n.alert-info {\n --bs-alert-color: var(--bs-info-text-emphasis);\n --bs-alert-bg: var(--bs-info-bg-subtle);\n --bs-alert-border-color: var(--bs-info-border-subtle);\n --bs-alert-link-color: var(--bs-info-text-emphasis);\n}\n\n.alert-warning {\n --bs-alert-color: var(--bs-warning-text-emphasis);\n --bs-alert-bg: var(--bs-warning-bg-subtle);\n --bs-alert-border-color: var(--bs-warning-border-subtle);\n --bs-alert-link-color: var(--bs-warning-text-emphasis);\n}\n\n.alert-danger {\n --bs-alert-color: var(--bs-danger-text-emphasis);\n --bs-alert-bg: var(--bs-danger-bg-subtle);\n --bs-alert-border-color: var(--bs-danger-border-subtle);\n --bs-alert-link-color: var(--bs-danger-text-emphasis);\n}\n\n.alert-light {\n --bs-alert-color: var(--bs-light-text-emphasis);\n --bs-alert-bg: var(--bs-light-bg-subtle);\n --bs-alert-border-color: var(--bs-light-border-subtle);\n --bs-alert-link-color: var(--bs-light-text-emphasis);\n}\n\n.alert-dark {\n --bs-alert-color: var(--bs-dark-text-emphasis);\n --bs-alert-bg: var(--bs-dark-bg-subtle);\n --bs-alert-border-color: var(--bs-dark-border-subtle);\n --bs-alert-link-color: var(--bs-dark-text-emphasis);\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1em;\n }\n}\n.progress,\n.progress-stacked {\n --bs-progress-height: 1em;\n --bs-progress-font-size: 0.75em;\n --bs-progress-bg: var(--bs-secondary-bg);\n --bs-progress-border-radius: var(--bs-border-radius);\n --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n --bs-progress-bar-color: #fff;\n --bs-progress-bar-bg: #004445;\n --bs-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--bs-progress-height);\n overflow: hidden;\n font-size: var(--bs-progress-font-size);\n background-color: var(--bs-progress-bg);\n border-radius: var(--bs-progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--bs-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-progress-bar-bg);\n transition: var(--bs-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: var(--bs-progress-height) var(--bs-progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n --bs-list-group-color: var(--bs-body-color);\n --bs-list-group-bg: var(--bs-body-bg);\n --bs-list-group-border-color: var(--bs-border-color);\n --bs-list-group-border-width: var(--bs-border-width);\n --bs-list-group-border-radius: var(--bs-border-radius);\n --bs-list-group-item-padding-x: 1em;\n --bs-list-group-item-padding-y: 0.5em;\n --bs-list-group-action-color: var(--bs-secondary-color);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n --bs-list-group-action-active-color: var(--bs-body-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n --bs-list-group-disabled-color: var(--bs-secondary-color);\n --bs-list-group-disabled-bg: var(--bs-body-bg);\n --bs-list-group-active-color: #fff;\n --bs-list-group-active-bg: #004445;\n --bs-list-group-active-border-color: #004445;\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: var(--bs-list-group-border-radius);\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, '.') '. ';\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--bs-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:hover,\n.list-group-item-action:focus {\n z-index: 1;\n color: var(--bs-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--bs-list-group-action-hover-bg);\n}\n.list-group-item-action:active {\n color: var(--bs-list-group-action-active-color);\n background-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--bs-list-group-item-padding-y)\n var(--bs-list-group-item-padding-x);\n color: var(--bs-list-group-color);\n text-decoration: none;\n background-color: var(--bs-list-group-bg);\n border: var(--bs-list-group-border-width) solid\n var(--bs-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled,\n.list-group-item:disabled {\n color: var(--bs-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--bs-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--bs-list-group-active-color);\n background-color: var(--bs-list-group-active-bg);\n border-color: var(--bs-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--bs-list-group-border-width));\n border-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--bs-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --bs-list-group-color: var(--bs-primary-text-emphasis);\n --bs-list-group-bg: var(--bs-primary-bg-subtle);\n --bs-list-group-border-color: var(--bs-primary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);\n --bs-list-group-active-color: var(--bs-primary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-primary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n --bs-list-group-color: var(--bs-secondary-text-emphasis);\n --bs-list-group-bg: var(--bs-secondary-bg-subtle);\n --bs-list-group-border-color: var(--bs-secondary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-active-color: var(--bs-secondary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n --bs-list-group-color: var(--bs-success-text-emphasis);\n --bs-list-group-bg: var(--bs-success-bg-subtle);\n --bs-list-group-border-color: var(--bs-success-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-success-border-subtle);\n --bs-list-group-active-color: var(--bs-success-bg-subtle);\n --bs-list-group-active-bg: var(--bs-success-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-success-text-emphasis);\n}\n\n.list-group-item-info {\n --bs-list-group-color: var(--bs-info-text-emphasis);\n --bs-list-group-bg: var(--bs-info-bg-subtle);\n --bs-list-group-border-color: var(--bs-info-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-info-border-subtle);\n --bs-list-group-active-color: var(--bs-info-bg-subtle);\n --bs-list-group-active-bg: var(--bs-info-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-info-text-emphasis);\n}\n\n.list-group-item-warning {\n --bs-list-group-color: var(--bs-warning-text-emphasis);\n --bs-list-group-bg: var(--bs-warning-bg-subtle);\n --bs-list-group-border-color: var(--bs-warning-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);\n --bs-list-group-active-color: var(--bs-warning-bg-subtle);\n --bs-list-group-active-bg: var(--bs-warning-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n --bs-list-group-color: var(--bs-danger-text-emphasis);\n --bs-list-group-bg: var(--bs-danger-bg-subtle);\n --bs-list-group-border-color: var(--bs-danger-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);\n --bs-list-group-active-color: var(--bs-danger-bg-subtle);\n --bs-list-group-active-bg: var(--bs-danger-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);\n}\n\n.list-group-item-light {\n --bs-list-group-color: var(--bs-light-text-emphasis);\n --bs-list-group-bg: var(--bs-light-bg-subtle);\n --bs-list-group-border-color: var(--bs-light-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-light-border-subtle);\n --bs-list-group-active-color: var(--bs-light-bg-subtle);\n --bs-list-group-active-bg: var(--bs-light-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-light-text-emphasis);\n}\n\n.list-group-item-dark {\n --bs-list-group-color: var(--bs-dark-text-emphasis);\n --bs-list-group-bg: var(--bs-dark-bg-subtle);\n --bs-list-group-border-color: var(--bs-dark-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);\n --bs-list-group-active-color: var(--bs-dark-bg-subtle);\n --bs-list-group-active-bg: var(--bs-dark-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);\n}\n\n.btn-close {\n --bs-btn-close-color: #000;\n --bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");\n --bs-btn-close-opacity: 0.5;\n --bs-btn-close-hover-opacity: 0.75;\n --bs-btn-close-focus-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n --bs-btn-close-focus-opacity: 1;\n --bs-btn-close-disabled-opacity: 0.25;\n --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: var(--bs-btn-close-color);\n background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n border: 0;\n border-radius: 0;\n opacity: var(--bs-btn-close-opacity);\n}\n.btn-close:hover {\n color: var(--bs-btn-close-color);\n text-decoration: none;\n opacity: var(--bs-btn-close-hover-opacity);\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: var(--bs-btn-close-focus-shadow);\n opacity: var(--bs-btn-close-focus-opacity);\n}\n.btn-close:disabled,\n.btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--bs-btn-close-disabled-opacity);\n}\n\n.btn-close-white {\n filter: var(--bs-btn-close-white-filter);\n}\n\n[data-bs-theme='dark'] .btn-close {\n filter: var(--bs-btn-close-white-filter);\n}\n\n.toast {\n --bs-toast-zindex: 1090;\n --bs-toast-padding-x: 0.75em;\n --bs-toast-padding-y: 0.5em;\n --bs-toast-spacing: 1.5em;\n --bs-toast-max-width: 350px;\n --bs-toast-font-size: 0.875em;\n --bs-toast-color: ;\n --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-border-width: var(--bs-border-width);\n --bs-toast-border-color: var(--bs-border-color-translucent);\n --bs-toast-border-radius: var(--bs-border-radius);\n --bs-toast-box-shadow: var(--bs-box-shadow);\n --bs-toast-header-color: var(--bs-secondary-color);\n --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-header-border-color: var(--bs-border-color-translucent);\n width: var(--bs-toast-max-width);\n max-width: 100%;\n font-size: var(--bs-toast-font-size);\n color: var(--bs-toast-color);\n pointer-events: auto;\n background-color: var(--bs-toast-bg);\n background-clip: padding-box;\n border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n box-shadow: var(--bs-toast-box-shadow);\n border-radius: var(--bs-toast-border-radius);\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --bs-toast-zindex: 1090;\n position: absolute;\n z-index: var(--bs-toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--bs-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n color: var(--bs-toast-header-color);\n background-color: var(--bs-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--bs-toast-border-width) solid\n var(--bs-toast-header-border-color);\n border-top-left-radius: calc(\n var(--bs-toast-border-radius) - var(--bs-toast-border-width)\n );\n border-top-right-radius: calc(\n var(--bs-toast-border-radius) - var(--bs-toast-border-width)\n );\n}\n.toast-header .btn-close {\n margin-right: calc(-0.5 * var(--bs-toast-padding-x));\n margin-left: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--bs-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --bs-modal-zindex: 1055;\n --bs-modal-width: 500px;\n --bs-modal-padding: 1em;\n --bs-modal-margin: 0.5em;\n --bs-modal-color: ;\n --bs-modal-bg: var(--bs-body-bg);\n --bs-modal-border-color: var(--bs-border-color-translucent);\n --bs-modal-border-width: var(--bs-border-width);\n --bs-modal-border-radius: var(--bs-border-radius-lg);\n --bs-modal-box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-modal-inner-border-radius: calc(\n var(--bs-border-radius-lg) - (var(--bs-border-width))\n );\n --bs-modal-header-padding-x: 1em;\n --bs-modal-header-padding-y: 1em;\n --bs-modal-header-padding: 1em 1em;\n --bs-modal-header-border-color: var(--bs-border-color);\n --bs-modal-header-border-width: var(--bs-border-width);\n --bs-modal-title-line-height: 1.5;\n --bs-modal-footer-gap: 0.5em;\n --bs-modal-footer-bg: ;\n --bs-modal-footer-border-color: var(--bs-border-color);\n --bs-modal-footer-border-width: var(--bs-border-width);\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--bs-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--bs-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--bs-modal-color);\n pointer-events: auto;\n background-color: var(--bs-modal-bg);\n background-clip: padding-box;\n border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n border-radius: var(--bs-modal-border-radius);\n outline: 0;\n}\n\n.modal-backdrop {\n --bs-backdrop-zindex: 1050;\n --bs-backdrop-bg: #000;\n --bs-backdrop-opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--bs-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-modal-header-padding);\n border-bottom: var(--bs-modal-header-border-width) solid\n var(--bs-modal-header-border-color);\n border-top-left-radius: var(--bs-modal-inner-border-radius);\n border-top-right-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--bs-modal-header-padding-y) * 0.5)\n calc(var(--bs-modal-header-padding-x) * 0.5);\n margin: calc(-0.5 * var(--bs-modal-header-padding-y))\n calc(-0.5 * var(--bs-modal-header-padding-x))\n calc(-0.5 * var(--bs-modal-header-padding-y)) auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);\n background-color: var(--bs-modal-footer-bg);\n border-top: var(--bs-modal-footer-border-width) solid\n var(--bs-modal-footer-border-color);\n border-bottom-right-radius: var(--bs-modal-inner-border-radius);\n border-bottom-left-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --bs-modal-margin: 1.75em;\n --bs-modal-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n }\n .modal-dialog {\n max-width: var(--bs-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --bs-modal-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --bs-modal-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --bs-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --bs-tooltip-zindex: 1080;\n --bs-tooltip-max-width: 200px;\n --bs-tooltip-padding-x: 0.5em;\n --bs-tooltip-padding-y: 0.25em;\n --bs-tooltip-margin: ;\n --bs-tooltip-font-size: 0.875em;\n --bs-tooltip-color: var(--bs-body-bg);\n --bs-tooltip-bg: var(--bs-emphasis-color);\n --bs-tooltip-border-radius: var(--bs-border-radius);\n --bs-tooltip-opacity: 0.9;\n --bs-tooltip-arrow-width: 0.8em;\n --bs-tooltip-arrow-height: 0.4em;\n z-index: var(--bs-tooltip-zindex);\n display: block;\n margin: var(--bs-tooltip-margin);\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--bs-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--bs-tooltip-arrow-width);\n height: var(--bs-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: '';\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow {\n bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--bs-tooltip-arrow-height)\n calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow {\n left: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5)\n var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow {\n top: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5)\n var(--bs-tooltip-arrow-height);\n border-bottom-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow {\n right: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0\n calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n border-left-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--bs-tooltip-max-width);\n padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n color: var(--bs-tooltip-color);\n text-align: center;\n background-color: var(--bs-tooltip-bg);\n border-radius: var(--bs-tooltip-border-radius);\n}\n\n.popover {\n --bs-popover-zindex: 1070;\n --bs-popover-max-width: 276px;\n --bs-popover-font-size: 0.875em;\n --bs-popover-bg: var(--bs-body-bg);\n --bs-popover-border-width: var(--bs-border-width);\n --bs-popover-border-color: var(--bs-border-color-translucent);\n --bs-popover-border-radius: var(--bs-border-radius-lg);\n --bs-popover-inner-border-radius: calc(\n var(--bs-border-radius-lg) - var(--bs-border-width)\n );\n --bs-popover-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-popover-header-padding-x: 1em;\n --bs-popover-header-padding-y: 0.5em;\n --bs-popover-header-font-size: 1em;\n --bs-popover-header-color: ;\n --bs-popover-header-bg: var(--bs-secondary-bg);\n --bs-popover-body-padding-x: 1em;\n --bs-popover-body-padding-y: 1em;\n --bs-popover-body-color: var(--bs-body-color);\n --bs-popover-arrow-width: 1em;\n --bs-popover-arrow-height: 0.5em;\n --bs-popover-arrow-border: var(--bs-popover-border-color);\n z-index: var(--bs-popover-zindex);\n display: block;\n max-width: var(--bs-popover-max-width);\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-popover-font-size);\n word-wrap: break-word;\n background-color: var(--bs-popover-bg);\n background-clip: padding-box;\n border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n border-radius: var(--bs-popover-border-radius);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--bs-popover-arrow-width);\n height: var(--bs-popover-arrow-height);\n}\n.popover .popover-arrow::before,\n.popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: '';\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow {\n bottom: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n}\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before,\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after {\n border-width: var(--bs-popover-arrow-height)\n calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after {\n bottom: var(--bs-popover-border-width);\n border-top-color: var(--bs-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow {\n left: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before,\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5)\n var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after {\n left: var(--bs-popover-border-width);\n border-right-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow {\n top: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n}\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before,\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after {\n border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5)\n var(--bs-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after {\n top: var(--bs-popover-border-width);\n border-bottom-color: var(--bs-popover-bg);\n}\n.bs-popover-bottom .popover-header::before,\n.bs-popover-auto[data-popper-placement^='bottom'] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--bs-popover-arrow-width);\n margin-left: calc(-0.5 * var(--bs-popover-arrow-width));\n content: '';\n border-bottom: var(--bs-popover-border-width) solid\n var(--bs-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow {\n right: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before,\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0\n calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after {\n right: var(--bs-popover-border-width);\n border-left-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--bs-popover-header-font-size);\n color: var(--bs-popover-header-color);\n background-color: var(--bs-popover-header-bg);\n border-bottom: var(--bs-popover-border-width) solid\n var(--bs-popover-border-color);\n border-top-left-radius: var(--bs-popover-inner-border-radius);\n border-top-right-radius: var(--bs-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n color: var(--bs-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: '';\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #fff;\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover,\n.carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2em;\n height: 2em;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1em;\n margin-left: 15%;\n}\n.carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25em;\n left: 15%;\n padding-top: 1.25em;\n padding-bottom: 1.25em;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n[data-bs-theme='dark'] .carousel .carousel-control-prev-icon,\n[data-bs-theme='dark'] .carousel .carousel-control-next-icon,\n[data-bs-theme='dark'].carousel .carousel-control-prev-icon,\n[data-bs-theme='dark'].carousel .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n[data-bs-theme='dark'] .carousel .carousel-indicators [data-bs-target],\n[data-bs-theme='dark'].carousel .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n[data-bs-theme='dark'] .carousel .carousel-caption,\n[data-bs-theme='dark'].carousel .carousel-caption {\n color: #000;\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--bs-spinner-width);\n height: var(--bs-spinner-height);\n vertical-align: var(--bs-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--bs-spinner-animation-speed) linear infinite\n var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --bs-spinner-width: 2em;\n --bs-spinner-height: 2em;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-border-width: 0.25em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-border;\n border: var(--bs-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --bs-spinner-width: 1em;\n --bs-spinner-height: 1em;\n --bs-spinner-border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --bs-spinner-width: 2em;\n --bs-spinner-height: 2em;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --bs-spinner-width: 1em;\n --bs-spinner-height: 1em;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --bs-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas,\n.offcanvas-xxl,\n.offcanvas-xl,\n.offcanvas-lg,\n.offcanvas-md,\n.offcanvas-sm {\n --bs-offcanvas-zindex: 1045;\n --bs-offcanvas-width: 400px;\n --bs-offcanvas-height: 30vh;\n --bs-offcanvas-padding-x: 1em;\n --bs-offcanvas-padding-y: 1em;\n --bs-offcanvas-color: var(--bs-body-color);\n --bs-offcanvas-bg: var(--bs-body-bg);\n --bs-offcanvas-border-width: var(--bs-border-width);\n --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n --bs-offcanvas-box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-offcanvas-transition: transform 0.3s ease-in-out;\n --bs-offcanvas-title-line-height: 1.5;\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-sm.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-sm.showing,\n .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing,\n .offcanvas-sm.hiding,\n .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-md.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-md.showing,\n .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing,\n .offcanvas-md.hiding,\n .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-lg.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-lg.showing,\n .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing,\n .offcanvas-lg.hiding,\n .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xl.showing,\n .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing,\n .offcanvas-xl.hiding,\n .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xxl.showing,\n .offcanvas-xxl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xxl.showing,\n .offcanvas-xxl.hiding,\n .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing,\n.offcanvas.show:not(.hiding) {\n transform: none;\n}\n.offcanvas.showing,\n.offcanvas.hiding,\n.offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.5;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--bs-offcanvas-padding-y) * 0.5)\n calc(var(--bs-offcanvas-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));\n margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.5;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: '';\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.2;\n }\n}\n.placeholder-wave {\n mask-image: linear-gradient(\n 130deg,\n #000 55%,\n rgba(0, 0, 0, 0.8) 75%,\n #000 95%\n );\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: '';\n}\n\n.text-bg-primary {\n color: #fff !important;\n background-color: RGBA(0, 68, 69, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n color: #000 !important;\n background-color: RGBA(230, 230, 230, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n color: #000 !important;\n background-color: RGBA(159, 213, 179, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n color: #fff !important;\n background-color: RGBA(0, 68, 69, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n color: #000 !important;\n background-color: RGBA(254, 183, 13, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n color: #fff !important;\n background-color: RGBA(179, 57, 59, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n color: #000 !important;\n background-color: RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n color: #fff !important;\n background-color: RGBA(0, 0, 0, var(--bs-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n color: RGBA(var(--bs-primary-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-primary-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-primary:hover,\n.link-primary:focus {\n color: RGBA(0, 54, 55, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(0, 54, 55, var(--bs-link-underline-opacity, 1));\n}\n\n.link-secondary {\n color: RGBA(var(--bs-secondary-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-secondary-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-secondary:hover,\n.link-secondary:focus {\n color: RGBA(235, 235, 235, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 235,\n 235,\n 235,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-success {\n color: RGBA(var(--bs-success-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-success-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-success:hover,\n.link-success:focus {\n color: RGBA(178, 221, 194, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 178,\n 221,\n 194,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-info {\n color: RGBA(var(--bs-info-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-info-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-info:hover,\n.link-info:focus {\n color: RGBA(0, 54, 55, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(0, 54, 55, var(--bs-link-underline-opacity, 1));\n}\n\n.link-warning {\n color: RGBA(var(--bs-warning-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-warning-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-warning:hover,\n.link-warning:focus {\n color: RGBA(254, 197, 61, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 254,\n 197,\n 61,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-danger {\n color: RGBA(var(--bs-danger-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-danger-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-danger:hover,\n.link-danger:focus {\n color: RGBA(143, 46, 47, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(143, 46, 47, var(--bs-link-underline-opacity, 1));\n}\n\n.link-light {\n color: RGBA(var(--bs-light-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-light-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-light:hover,\n.link-light:focus {\n color: RGBA(255, 255, 255, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 255,\n 255,\n 255,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-dark {\n color: RGBA(var(--bs-dark-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-dark-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-dark:hover,\n.link-dark:focus {\n color: RGBA(0, 0, 0, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(0, 0, 0, var(--bs-link-underline-opacity, 1));\n}\n\n.link-body-emphasis {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n var(--bs-emphasis-color-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-body-emphasis:hover,\n.link-body-emphasis:focus {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75));\n text-decoration-color: RGBA(\n var(--bs-emphasis-color-rgb),\n var(--bs-link-underline-opacity, 0.75)\n );\n}\n\n.focus-ring:focus {\n outline: 0;\n box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0)\n var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width)\n var(--bs-focus-ring-color);\n}\n\n.icon-link {\n display: inline-flex;\n gap: 0.375em;\n align-items: center;\n text-decoration-color: rgba(\n var(--bs-link-color-rgb),\n var(--bs-link-opacity, 0.5)\n );\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n}\n.icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n}\n@media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n}\n\n.icon-link-hover:hover > .bi,\n.icon-link-hover:focus-visible > .bi {\n transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--bs-aspect-ratio);\n content: '';\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n --bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n --bs-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: '';\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: 1px;\n min-height: 1em;\n background-color: currentcolor;\n opacity: 0.25;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.object-fit-contain {\n object-fit: contain !important;\n}\n\n.object-fit-cover {\n object-fit: cover !important;\n}\n\n.object-fit-fill {\n object-fit: fill !important;\n}\n\n.object-fit-scale {\n object-fit: scale-down !important;\n}\n\n.object-fit-none {\n object-fit: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1em 3em rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.focus-ring-primary {\n --bs-focus-ring-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-secondary {\n --bs-focus-ring-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-success {\n --bs-focus-ring-color: rgba(\n var(--bs-success-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-info {\n --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n --bs-focus-ring-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-danger {\n --bs-focus-ring-color: rgba(\n var(--bs-danger-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-light {\n --bs-focus-ring-color: rgba(\n var(--bs-light-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-dark {\n --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-right: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-left: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-secondary {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-success {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-success-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-info {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-danger {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n border-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n border-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n border-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n border-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n border-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n border-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n border-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n border-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.border-opacity-10 {\n --bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --bs-border-opacity: 1;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25em !important;\n}\n\n.m-2 {\n margin: 0.5em !important;\n}\n\n.m-3 {\n margin: 1em !important;\n}\n\n.m-4 {\n margin: 1.5em !important;\n}\n\n.m-5 {\n margin: 3em !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n}\n\n.mx-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n}\n\n.mx-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n}\n\n.mx-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n}\n\n.mx-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n}\n\n.my-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n}\n\n.my-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n}\n\n.my-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n}\n\n.my-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25em !important;\n}\n\n.mt-2 {\n margin-top: 0.5em !important;\n}\n\n.mt-3 {\n margin-top: 1em !important;\n}\n\n.mt-4 {\n margin-top: 1.5em !important;\n}\n\n.mt-5 {\n margin-top: 3em !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25em !important;\n}\n\n.me-2 {\n margin-right: 0.5em !important;\n}\n\n.me-3 {\n margin-right: 1em !important;\n}\n\n.me-4 {\n margin-right: 1.5em !important;\n}\n\n.me-5 {\n margin-right: 3em !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25em !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5em !important;\n}\n\n.mb-3 {\n margin-bottom: 1em !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5em !important;\n}\n\n.mb-5 {\n margin-bottom: 3em !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25em !important;\n}\n\n.ms-2 {\n margin-left: 0.5em !important;\n}\n\n.ms-3 {\n margin-left: 1em !important;\n}\n\n.ms-4 {\n margin-left: 1.5em !important;\n}\n\n.ms-5 {\n margin-left: 3em !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25em !important;\n}\n\n.p-2 {\n padding: 0.5em !important;\n}\n\n.p-3 {\n padding: 1em !important;\n}\n\n.p-4 {\n padding: 1.5em !important;\n}\n\n.p-5 {\n padding: 3em !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n}\n\n.px-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n}\n\n.px-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n}\n\n.px-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n}\n\n.px-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n}\n\n.py-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n}\n\n.py-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n}\n\n.py-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n}\n\n.py-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25em !important;\n}\n\n.pt-2 {\n padding-top: 0.5em !important;\n}\n\n.pt-3 {\n padding-top: 1em !important;\n}\n\n.pt-4 {\n padding-top: 1.5em !important;\n}\n\n.pt-5 {\n padding-top: 3em !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25em !important;\n}\n\n.pe-2 {\n padding-right: 0.5em !important;\n}\n\n.pe-3 {\n padding-right: 1em !important;\n}\n\n.pe-4 {\n padding-right: 1.5em !important;\n}\n\n.pe-5 {\n padding-right: 3em !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25em !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5em !important;\n}\n\n.pb-3 {\n padding-bottom: 1em !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5em !important;\n}\n\n.pb-5 {\n padding-bottom: 3em !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25em !important;\n}\n\n.ps-2 {\n padding-left: 0.5em !important;\n}\n\n.ps-3 {\n padding-left: 1em !important;\n}\n\n.ps-4 {\n padding-left: 1.5em !important;\n}\n\n.ps-5 {\n padding-left: 3em !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25em !important;\n}\n\n.gap-2 {\n gap: 0.5em !important;\n}\n\n.gap-3 {\n gap: 1em !important;\n}\n\n.gap-4 {\n gap: 1.5em !important;\n}\n\n.gap-5 {\n gap: 3em !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25em !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5em !important;\n}\n\n.row-gap-3 {\n row-gap: 1em !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5em !important;\n}\n\n.row-gap-5 {\n row-gap: 3em !important;\n}\n\n.column-gap-0 {\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n column-gap: 0.25em !important;\n}\n\n.column-gap-2 {\n column-gap: 0.5em !important;\n}\n\n.column-gap-3 {\n column-gap: 1em !important;\n}\n\n.column-gap-4 {\n column-gap: 1.5em !important;\n}\n\n.column-gap-5 {\n column-gap: 3em !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375em + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325em + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3em + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275em + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25em !important;\n}\n\n.fs-6 {\n font-size: 1em !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n --bs-text-opacity: 1;\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n --bs-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n --bs-text-opacity: 1;\n color: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n --bs-text-opacity: 1;\n color: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n --bs-text-opacity: 1;\n color: inherit !important;\n}\n\n.text-opacity-25 {\n --bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n color: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n color: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n color: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n color: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n color: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n color: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n color: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n color: var(--bs-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n --bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n --bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-secondary {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-success {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-success-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-info {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-info-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-warning {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-danger {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-danger-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-light {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-light-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-dark {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-dark-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-link-color-rgb),\n var(--bs-link-underline-opacity, 1)\n ) !important;\n}\n\n.link-underline-opacity-0 {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n --bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n --bs-link-underline-opacity: 1;\n}\n\n.bg-primary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-success {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-success-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-info {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-danger {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-body-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-transparent {\n --bs-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.bg-body-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-body-tertiary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-tertiary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-opacity-10 {\n --bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n --bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n border-bottom-right-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n border-bottom-left-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n border-bottom-left-radius: 50% !important;\n border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.z-n1 {\n z-index: -1 !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n.li-bg-primary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-success {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-success-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-info {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-warning {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-danger {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-light {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-dark {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-black {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-white {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-body {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-body-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-transparent {\n --bs-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.li-bg-body-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-body-tertiary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-tertiary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-primary-subtle {\n background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.li-bg-secondary-subtle {\n background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.li-bg-success-subtle {\n background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.li-bg-info-subtle {\n background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.li-bg-warning-subtle {\n background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.li-bg-danger-subtle {\n background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.li-bg-light-subtle {\n background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.li-bg-dark-subtle {\n background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n .float-sm-end {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .object-fit-sm-contain {\n object-fit: contain !important;\n }\n .object-fit-sm-cover {\n object-fit: cover !important;\n }\n .object-fit-sm-fill {\n object-fit: fill !important;\n }\n .object-fit-sm-scale {\n object-fit: scale-down !important;\n }\n .object-fit-sm-none {\n object-fit: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25em !important;\n }\n .m-sm-2 {\n margin: 0.5em !important;\n }\n .m-sm-3 {\n margin: 1em !important;\n }\n .m-sm-4 {\n margin: 1.5em !important;\n }\n .m-sm-5 {\n margin: 3em !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-sm-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-sm-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-sm-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-sm-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-sm-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-sm-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-sm-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-sm-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25em !important;\n }\n .mt-sm-2 {\n margin-top: 0.5em !important;\n }\n .mt-sm-3 {\n margin-top: 1em !important;\n }\n .mt-sm-4 {\n margin-top: 1.5em !important;\n }\n .mt-sm-5 {\n margin-top: 3em !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25em !important;\n }\n .me-sm-2 {\n margin-right: 0.5em !important;\n }\n .me-sm-3 {\n margin-right: 1em !important;\n }\n .me-sm-4 {\n margin-right: 1.5em !important;\n }\n .me-sm-5 {\n margin-right: 3em !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-sm-3 {\n margin-bottom: 1em !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-sm-5 {\n margin-bottom: 3em !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25em !important;\n }\n .ms-sm-2 {\n margin-left: 0.5em !important;\n }\n .ms-sm-3 {\n margin-left: 1em !important;\n }\n .ms-sm-4 {\n margin-left: 1.5em !important;\n }\n .ms-sm-5 {\n margin-left: 3em !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25em !important;\n }\n .p-sm-2 {\n padding: 0.5em !important;\n }\n .p-sm-3 {\n padding: 1em !important;\n }\n .p-sm-4 {\n padding: 1.5em !important;\n }\n .p-sm-5 {\n padding: 3em !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-sm-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-sm-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-sm-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-sm-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-sm-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-sm-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-sm-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-sm-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25em !important;\n }\n .pt-sm-2 {\n padding-top: 0.5em !important;\n }\n .pt-sm-3 {\n padding-top: 1em !important;\n }\n .pt-sm-4 {\n padding-top: 1.5em !important;\n }\n .pt-sm-5 {\n padding-top: 3em !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25em !important;\n }\n .pe-sm-2 {\n padding-right: 0.5em !important;\n }\n .pe-sm-3 {\n padding-right: 1em !important;\n }\n .pe-sm-4 {\n padding-right: 1.5em !important;\n }\n .pe-sm-5 {\n padding-right: 3em !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-sm-3 {\n padding-bottom: 1em !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-sm-5 {\n padding-bottom: 3em !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25em !important;\n }\n .ps-sm-2 {\n padding-left: 0.5em !important;\n }\n .ps-sm-3 {\n padding-left: 1em !important;\n }\n .ps-sm-4 {\n padding-left: 1.5em !important;\n }\n .ps-sm-5 {\n padding-left: 3em !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25em !important;\n }\n .gap-sm-2 {\n gap: 0.5em !important;\n }\n .gap-sm-3 {\n gap: 1em !important;\n }\n .gap-sm-4 {\n gap: 1.5em !important;\n }\n .gap-sm-5 {\n gap: 3em !important;\n }\n .row-gap-sm-0 {\n row-gap: 0 !important;\n }\n .row-gap-sm-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-sm-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-sm-3 {\n row-gap: 1em !important;\n }\n .row-gap-sm-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-sm-5 {\n row-gap: 3em !important;\n }\n .column-gap-sm-0 {\n column-gap: 0 !important;\n }\n .column-gap-sm-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-sm-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-sm-3 {\n column-gap: 1em !important;\n }\n .column-gap-sm-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-sm-5 {\n column-gap: 3em !important;\n }\n .text-sm-start {\n text-align: left !important;\n }\n .text-sm-end {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n .float-md-end {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .object-fit-md-contain {\n object-fit: contain !important;\n }\n .object-fit-md-cover {\n object-fit: cover !important;\n }\n .object-fit-md-fill {\n object-fit: fill !important;\n }\n .object-fit-md-scale {\n object-fit: scale-down !important;\n }\n .object-fit-md-none {\n object-fit: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25em !important;\n }\n .m-md-2 {\n margin: 0.5em !important;\n }\n .m-md-3 {\n margin: 1em !important;\n }\n .m-md-4 {\n margin: 1.5em !important;\n }\n .m-md-5 {\n margin: 3em !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-md-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-md-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-md-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-md-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-md-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-md-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-md-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-md-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25em !important;\n }\n .mt-md-2 {\n margin-top: 0.5em !important;\n }\n .mt-md-3 {\n margin-top: 1em !important;\n }\n .mt-md-4 {\n margin-top: 1.5em !important;\n }\n .mt-md-5 {\n margin-top: 3em !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25em !important;\n }\n .me-md-2 {\n margin-right: 0.5em !important;\n }\n .me-md-3 {\n margin-right: 1em !important;\n }\n .me-md-4 {\n margin-right: 1.5em !important;\n }\n .me-md-5 {\n margin-right: 3em !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-md-3 {\n margin-bottom: 1em !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-md-5 {\n margin-bottom: 3em !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25em !important;\n }\n .ms-md-2 {\n margin-left: 0.5em !important;\n }\n .ms-md-3 {\n margin-left: 1em !important;\n }\n .ms-md-4 {\n margin-left: 1.5em !important;\n }\n .ms-md-5 {\n margin-left: 3em !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25em !important;\n }\n .p-md-2 {\n padding: 0.5em !important;\n }\n .p-md-3 {\n padding: 1em !important;\n }\n .p-md-4 {\n padding: 1.5em !important;\n }\n .p-md-5 {\n padding: 3em !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-md-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-md-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-md-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-md-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-md-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-md-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-md-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-md-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25em !important;\n }\n .pt-md-2 {\n padding-top: 0.5em !important;\n }\n .pt-md-3 {\n padding-top: 1em !important;\n }\n .pt-md-4 {\n padding-top: 1.5em !important;\n }\n .pt-md-5 {\n padding-top: 3em !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25em !important;\n }\n .pe-md-2 {\n padding-right: 0.5em !important;\n }\n .pe-md-3 {\n padding-right: 1em !important;\n }\n .pe-md-4 {\n padding-right: 1.5em !important;\n }\n .pe-md-5 {\n padding-right: 3em !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-md-3 {\n padding-bottom: 1em !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-md-5 {\n padding-bottom: 3em !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25em !important;\n }\n .ps-md-2 {\n padding-left: 0.5em !important;\n }\n .ps-md-3 {\n padding-left: 1em !important;\n }\n .ps-md-4 {\n padding-left: 1.5em !important;\n }\n .ps-md-5 {\n padding-left: 3em !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25em !important;\n }\n .gap-md-2 {\n gap: 0.5em !important;\n }\n .gap-md-3 {\n gap: 1em !important;\n }\n .gap-md-4 {\n gap: 1.5em !important;\n }\n .gap-md-5 {\n gap: 3em !important;\n }\n .row-gap-md-0 {\n row-gap: 0 !important;\n }\n .row-gap-md-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-md-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-md-3 {\n row-gap: 1em !important;\n }\n .row-gap-md-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-md-5 {\n row-gap: 3em !important;\n }\n .column-gap-md-0 {\n column-gap: 0 !important;\n }\n .column-gap-md-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-md-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-md-3 {\n column-gap: 1em !important;\n }\n .column-gap-md-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-md-5 {\n column-gap: 3em !important;\n }\n .text-md-start {\n text-align: left !important;\n }\n .text-md-end {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n .float-lg-end {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .object-fit-lg-contain {\n object-fit: contain !important;\n }\n .object-fit-lg-cover {\n object-fit: cover !important;\n }\n .object-fit-lg-fill {\n object-fit: fill !important;\n }\n .object-fit-lg-scale {\n object-fit: scale-down !important;\n }\n .object-fit-lg-none {\n object-fit: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25em !important;\n }\n .m-lg-2 {\n margin: 0.5em !important;\n }\n .m-lg-3 {\n margin: 1em !important;\n }\n .m-lg-4 {\n margin: 1.5em !important;\n }\n .m-lg-5 {\n margin: 3em !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-lg-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-lg-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-lg-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-lg-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-lg-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-lg-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-lg-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-lg-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25em !important;\n }\n .mt-lg-2 {\n margin-top: 0.5em !important;\n }\n .mt-lg-3 {\n margin-top: 1em !important;\n }\n .mt-lg-4 {\n margin-top: 1.5em !important;\n }\n .mt-lg-5 {\n margin-top: 3em !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25em !important;\n }\n .me-lg-2 {\n margin-right: 0.5em !important;\n }\n .me-lg-3 {\n margin-right: 1em !important;\n }\n .me-lg-4 {\n margin-right: 1.5em !important;\n }\n .me-lg-5 {\n margin-right: 3em !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-lg-3 {\n margin-bottom: 1em !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-lg-5 {\n margin-bottom: 3em !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25em !important;\n }\n .ms-lg-2 {\n margin-left: 0.5em !important;\n }\n .ms-lg-3 {\n margin-left: 1em !important;\n }\n .ms-lg-4 {\n margin-left: 1.5em !important;\n }\n .ms-lg-5 {\n margin-left: 3em !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25em !important;\n }\n .p-lg-2 {\n padding: 0.5em !important;\n }\n .p-lg-3 {\n padding: 1em !important;\n }\n .p-lg-4 {\n padding: 1.5em !important;\n }\n .p-lg-5 {\n padding: 3em !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-lg-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-lg-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-lg-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-lg-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-lg-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-lg-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-lg-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-lg-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25em !important;\n }\n .pt-lg-2 {\n padding-top: 0.5em !important;\n }\n .pt-lg-3 {\n padding-top: 1em !important;\n }\n .pt-lg-4 {\n padding-top: 1.5em !important;\n }\n .pt-lg-5 {\n padding-top: 3em !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25em !important;\n }\n .pe-lg-2 {\n padding-right: 0.5em !important;\n }\n .pe-lg-3 {\n padding-right: 1em !important;\n }\n .pe-lg-4 {\n padding-right: 1.5em !important;\n }\n .pe-lg-5 {\n padding-right: 3em !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-lg-3 {\n padding-bottom: 1em !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-lg-5 {\n padding-bottom: 3em !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25em !important;\n }\n .ps-lg-2 {\n padding-left: 0.5em !important;\n }\n .ps-lg-3 {\n padding-left: 1em !important;\n }\n .ps-lg-4 {\n padding-left: 1.5em !important;\n }\n .ps-lg-5 {\n padding-left: 3em !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25em !important;\n }\n .gap-lg-2 {\n gap: 0.5em !important;\n }\n .gap-lg-3 {\n gap: 1em !important;\n }\n .gap-lg-4 {\n gap: 1.5em !important;\n }\n .gap-lg-5 {\n gap: 3em !important;\n }\n .row-gap-lg-0 {\n row-gap: 0 !important;\n }\n .row-gap-lg-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-lg-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-lg-3 {\n row-gap: 1em !important;\n }\n .row-gap-lg-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-lg-5 {\n row-gap: 3em !important;\n }\n .column-gap-lg-0 {\n column-gap: 0 !important;\n }\n .column-gap-lg-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-lg-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-lg-3 {\n column-gap: 1em !important;\n }\n .column-gap-lg-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-lg-5 {\n column-gap: 3em !important;\n }\n .text-lg-start {\n text-align: left !important;\n }\n .text-lg-end {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n .float-xl-end {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .object-fit-xl-contain {\n object-fit: contain !important;\n }\n .object-fit-xl-cover {\n object-fit: cover !important;\n }\n .object-fit-xl-fill {\n object-fit: fill !important;\n }\n .object-fit-xl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xl-none {\n object-fit: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25em !important;\n }\n .m-xl-2 {\n margin: 0.5em !important;\n }\n .m-xl-3 {\n margin: 1em !important;\n }\n .m-xl-4 {\n margin: 1.5em !important;\n }\n .m-xl-5 {\n margin: 3em !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-xl-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-xl-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-xl-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-xl-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-xl-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-xl-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-xl-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-xl-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25em !important;\n }\n .mt-xl-2 {\n margin-top: 0.5em !important;\n }\n .mt-xl-3 {\n margin-top: 1em !important;\n }\n .mt-xl-4 {\n margin-top: 1.5em !important;\n }\n .mt-xl-5 {\n margin-top: 3em !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25em !important;\n }\n .me-xl-2 {\n margin-right: 0.5em !important;\n }\n .me-xl-3 {\n margin-right: 1em !important;\n }\n .me-xl-4 {\n margin-right: 1.5em !important;\n }\n .me-xl-5 {\n margin-right: 3em !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-xl-3 {\n margin-bottom: 1em !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-xl-5 {\n margin-bottom: 3em !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25em !important;\n }\n .ms-xl-2 {\n margin-left: 0.5em !important;\n }\n .ms-xl-3 {\n margin-left: 1em !important;\n }\n .ms-xl-4 {\n margin-left: 1.5em !important;\n }\n .ms-xl-5 {\n margin-left: 3em !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25em !important;\n }\n .p-xl-2 {\n padding: 0.5em !important;\n }\n .p-xl-3 {\n padding: 1em !important;\n }\n .p-xl-4 {\n padding: 1.5em !important;\n }\n .p-xl-5 {\n padding: 3em !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-xl-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-xl-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-xl-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-xl-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-xl-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-xl-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-xl-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-xl-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25em !important;\n }\n .pt-xl-2 {\n padding-top: 0.5em !important;\n }\n .pt-xl-3 {\n padding-top: 1em !important;\n }\n .pt-xl-4 {\n padding-top: 1.5em !important;\n }\n .pt-xl-5 {\n padding-top: 3em !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25em !important;\n }\n .pe-xl-2 {\n padding-right: 0.5em !important;\n }\n .pe-xl-3 {\n padding-right: 1em !important;\n }\n .pe-xl-4 {\n padding-right: 1.5em !important;\n }\n .pe-xl-5 {\n padding-right: 3em !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-xl-3 {\n padding-bottom: 1em !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-xl-5 {\n padding-bottom: 3em !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25em !important;\n }\n .ps-xl-2 {\n padding-left: 0.5em !important;\n }\n .ps-xl-3 {\n padding-left: 1em !important;\n }\n .ps-xl-4 {\n padding-left: 1.5em !important;\n }\n .ps-xl-5 {\n padding-left: 3em !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25em !important;\n }\n .gap-xl-2 {\n gap: 0.5em !important;\n }\n .gap-xl-3 {\n gap: 1em !important;\n }\n .gap-xl-4 {\n gap: 1.5em !important;\n }\n .gap-xl-5 {\n gap: 3em !important;\n }\n .row-gap-xl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xl-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-xl-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-xl-3 {\n row-gap: 1em !important;\n }\n .row-gap-xl-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-xl-5 {\n row-gap: 3em !important;\n }\n .column-gap-xl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xl-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-xl-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-xl-3 {\n column-gap: 1em !important;\n }\n .column-gap-xl-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-xl-5 {\n column-gap: 3em !important;\n }\n .text-xl-start {\n text-align: left !important;\n }\n .text-xl-end {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n .float-xxl-end {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .object-fit-xxl-contain {\n object-fit: contain !important;\n }\n .object-fit-xxl-cover {\n object-fit: cover !important;\n }\n .object-fit-xxl-fill {\n object-fit: fill !important;\n }\n .object-fit-xxl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xxl-none {\n object-fit: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25em !important;\n }\n .m-xxl-2 {\n margin: 0.5em !important;\n }\n .m-xxl-3 {\n margin: 1em !important;\n }\n .m-xxl-4 {\n margin: 1.5em !important;\n }\n .m-xxl-5 {\n margin: 3em !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-xxl-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-xxl-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-xxl-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-xxl-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-xxl-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-xxl-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25em !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5em !important;\n }\n .mt-xxl-3 {\n margin-top: 1em !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5em !important;\n }\n .mt-xxl-5 {\n margin-top: 3em !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25em !important;\n }\n .me-xxl-2 {\n margin-right: 0.5em !important;\n }\n .me-xxl-3 {\n margin-right: 1em !important;\n }\n .me-xxl-4 {\n margin-right: 1.5em !important;\n }\n .me-xxl-5 {\n margin-right: 3em !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1em !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3em !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25em !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5em !important;\n }\n .ms-xxl-3 {\n margin-left: 1em !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5em !important;\n }\n .ms-xxl-5 {\n margin-left: 3em !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25em !important;\n }\n .p-xxl-2 {\n padding: 0.5em !important;\n }\n .p-xxl-3 {\n padding: 1em !important;\n }\n .p-xxl-4 {\n padding: 1.5em !important;\n }\n .p-xxl-5 {\n padding: 3em !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-xxl-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-xxl-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-xxl-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-xxl-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-xxl-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-xxl-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-xxl-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-xxl-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25em !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5em !important;\n }\n .pt-xxl-3 {\n padding-top: 1em !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5em !important;\n }\n .pt-xxl-5 {\n padding-top: 3em !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25em !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5em !important;\n }\n .pe-xxl-3 {\n padding-right: 1em !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5em !important;\n }\n .pe-xxl-5 {\n padding-right: 3em !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1em !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3em !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25em !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5em !important;\n }\n .ps-xxl-3 {\n padding-left: 1em !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5em !important;\n }\n .ps-xxl-5 {\n padding-left: 3em !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25em !important;\n }\n .gap-xxl-2 {\n gap: 0.5em !important;\n }\n .gap-xxl-3 {\n gap: 1em !important;\n }\n .gap-xxl-4 {\n gap: 1.5em !important;\n }\n .gap-xxl-5 {\n gap: 3em !important;\n }\n .row-gap-xxl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xxl-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-xxl-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-xxl-3 {\n row-gap: 1em !important;\n }\n .row-gap-xxl-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-xxl-5 {\n row-gap: 3em !important;\n }\n .column-gap-xxl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xxl-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-xxl-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-xxl-3 {\n column-gap: 1em !important;\n }\n .column-gap-xxl-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-xxl-5 {\n column-gap: 3em !important;\n }\n .text-xxl-start {\n text-align: left !important;\n }\n .text-xxl-end {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5em !important;\n }\n .fs-2 {\n font-size: 2em !important;\n }\n .fs-3 {\n font-size: 1.75em !important;\n }\n .fs-4 {\n font-size: 1.5em !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n:host,\n[data-bs-theme='light'] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #004445;\n --bs-secondary: #e6e6e6;\n --bs-success: #9fd5b3;\n --bs-info: #004445;\n --bs-warning: #feb70d;\n --bs-danger: #b3393b;\n --bs-light: #fff;\n --bs-dark: #000;\n --bs-primary-rgb: 0, 68, 69;\n --bs-secondary-rgb: 230, 230, 230;\n --bs-success-rgb: 159, 213, 179;\n --bs-info-rgb: 0, 68, 69;\n --bs-warning-rgb: 254, 183, 13;\n --bs-danger-rgb: 179, 57, 59;\n --bs-light-rgb: 255, 255, 255;\n --bs-dark-rgb: 0, 0, 0;\n --bs-primary-text-emphasis: #001b1c;\n --bs-secondary-text-emphasis: #5c5c5c;\n --bs-success-text-emphasis: #405548;\n --bs-info-text-emphasis: #001b1c;\n --bs-warning-text-emphasis: #664905;\n --bs-danger-text-emphasis: #481718;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #ccdada;\n --bs-secondary-bg-subtle: #fafafa;\n --bs-success-bg-subtle: #ecf7f0;\n --bs-info-bg-subtle: #ccdada;\n --bs-warning-bg-subtle: #fff1cf;\n --bs-danger-bg-subtle: #f0d7d8;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #99b4b5;\n --bs-secondary-border-subtle: whitesmoke;\n --bs-success-border-subtle: #d9eee1;\n --bs-info-border-subtle: #99b4b5;\n --bs-warning-border-subtle: #ffe29e;\n --bs-danger-border-subtle: #e1b0b1;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: 'Montserrat', sans-serif;\n --bs-font-monospace: 'Montserrat', sans-serif;\n --bs-gradient: linear-gradient(\n 180deg,\n rgba(255, 255, 255, 0.15),\n rgba(255, 255, 255, 0)\n );\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1em;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-link-color: #004445;\n --bs-link-color-rgb: 0, 68, 69;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #003637;\n --bs-link-hover-color-rgb: 0, 54, 55;\n --bs-code-color: #d63384;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0;\n --bs-border-radius-sm: 0;\n --bs-border-radius-lg: 0;\n --bs-border-radius-xl: 0;\n --bs-border-radius-xxl: 0;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50em;\n --bs-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1em 3em rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25em;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(0, 68, 69, 0.25);\n --bs-form-valid-color: #9fd5b3;\n --bs-form-valid-border-color: #9fd5b3;\n --bs-form-invalid-color: #b3393b;\n --bs-form-invalid-border-color: #b3393b;\n}\n\n[data-bs-theme='dark'] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #668f8f;\n --bs-secondary-text-emphasis: #f0f0f0;\n --bs-success-text-emphasis: #c5e6d1;\n --bs-info-text-emphasis: #668f8f;\n --bs-warning-text-emphasis: #fed46e;\n --bs-danger-text-emphasis: #d18889;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #000e0e;\n --bs-secondary-bg-subtle: #2e2e2e;\n --bs-success-bg-subtle: #202b24;\n --bs-info-bg-subtle: #000e0e;\n --bs-warning-bg-subtle: #332503;\n --bs-danger-bg-subtle: #240b0c;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #002929;\n --bs-secondary-border-subtle: #8a8a8a;\n --bs-success-border-subtle: #5f806b;\n --bs-info-border-subtle: #002929;\n --bs-warning-border-subtle: #986e08;\n --bs-danger-border-subtle: #6b2223;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-link-color: #668f8f;\n --bs-link-hover-color: #85a5a5;\n --bs-link-color-rgb: 102, 143, 143;\n --bs-link-hover-color-rgb: 133, 165, 165;\n --bs-code-color: #e685b5;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\nb,\nstrong {\n font-weight: 700;\n}\n\n@media (max-width: 991.98px) {\n thead.table-stacked {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n }\n}\n@media (max-width: 991.98px) {\n tr.table-stacked {\n display: block;\n border-top-width: 0;\n width: 100%;\n }\n tr.table-stacked:not(.cell-header-block) {\n border-bottom: 2px solid var(--bs-black);\n }\n tr.table-stacked.first:not(.cell-header-block) {\n border-top: 2px solid var(--bs-black);\n }\n tr.table-stacked.odd.cell-header-block {\n border-left: 2px solid var(--bs-black);\n }\n}\n@media (max-width: 991.98px) {\n th.table-stacked.cell-header-block {\n border-bottom-width: 0;\n display: block;\n width: 100%;\n }\n th.table-stacked:not(.cell-header-block) {\n padding: 0;\n border-bottom-width: 0;\n display: flex;\n }\n th.table-stacked:not(.cell-header-block) div.content {\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n th[data-label].table-stacked.cell-header-block {\n padding-bottom: 0.5em;\n }\n th[data-label].table-stacked.cell-header-block:before {\n content: attr(data-label);\n display: block;\n font-weight: bold;\n background-color: #f2f2f2;\n margin: -0.45em -0.5em 0.45em;\n padding: 0.5em 0.5em 0.2em;\n }\n th[data-label].table-stacked:not(.cell-header-block):before {\n content: attr(data-label);\n font-weight: bold;\n background-color: #f2f2f2;\n height: 100%;\n width: 100%;\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n}\n@media (max-width: 991.98px) {\n td.table-stacked.cell-header-block {\n border-bottom-width: 0;\n display: block;\n width: 100%;\n }\n td.table-stacked:not(.cell-header-block) {\n padding: 0;\n border-bottom-width: 0;\n display: flex;\n }\n td.table-stacked:not(.cell-header-block) div.content {\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n td[data-label].table-stacked.cell-header-block {\n padding-bottom: 0.5em;\n }\n td[data-label].table-stacked.cell-header-block:before {\n content: attr(data-label);\n display: block;\n font-weight: bold;\n background-color: #f2f2f2;\n margin: -0.45em -0.5em 0.45em;\n padding: 0.5em 0.5em 0.2em;\n }\n td[data-label].table-stacked:not(.cell-header-block):before {\n content: attr(data-label);\n font-weight: bold;\n background-color: #f2f2f2;\n height: 100%;\n width: 100%;\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n}\n.navbar-expand-xs.nav {\n flex-direction: row;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.nav {\n flex-direction: row;\n }\n}\n.navbar-expand-xs.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n.navbar-expand-xs.offcanvas-header {\n display: none;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.offcanvas-header {\n display: none;\n }\n}\n.navbar-expand-xs.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n\n/*# sourceMappingURL=themed-bootstrap.css.map */\n";const r=document.createElement("template");r.innerHTML="\n\n";class i extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(r.content.cloneNode(!0)),this.card=document.createElement("div"),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-CARD-HEADER":{const n=document.createElement("div"),e=["card-header"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}case"COD-CARD-BODY":{const n=document.createElement("div"),e=["card-body"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}case"COD-CARD-FOOTER":{const n=document.createElement("div"),e=["card-footer"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}case"COD-CARD-OVERLAY":{const n=document.createElement("div"),e=["card-img-overlay"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}default:t.className.split(" ").includes("no-wc")?t.remove():this.card.appendChild(t);break}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const i=document.createElement("style");i.textContent=".top-icon {\n margin-top: 1em;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(i)}connectedCallback(){const t=this.getAttribute("data-width"),n=this.getAttribute("data-id"),e=this.getAttribute("data-extra-classes"),o=["card"];null!==e&&o.push(e.split(" ")),null!==t&&(this.card.style.width=t),null!==n&&(this.card.id=n),this.card.classList.add(...o),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.card)}setIsClickable(){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.card.classList.add("btn",t):this.card.classList.remove("btn",t)}}customElements.define("cod-card",i);const l=document.createElement("template");l.innerHTML="\n\n";class s extends HTMLElement{static get observedAttributes(){return["data-active-item"]}constructor(){super();const t=this.attachShadow({mode:"open"});if(t.appendChild(l.content.cloneNode(!0)),this.carousel=document.createElement("div"),this.carouselIndicators=document.createElement("div"),this.carouselIndicators.className="carousel-indicators",this.carouselInner=document.createElement("div"),this.carouselInner.className="carousel-inner",this.carouselPrev=document.createElement("button"),this.carouselNext=document.createElement("button"),"true"!=this.getAttribute("data-no-controls")){"true"==this.getAttribute("data-external-controls")?(this.carouselPrev.className="carousel-control-prev position-relative",this.carouselNext.className="carousel-control-next position-relative"):(this.carouselPrev.className="carousel-control-prev",this.carouselNext.className="carousel-control-next"),this.carouselPrev.type="button",this.carouselPrev.setAttribute("data-bs-target","#".concat(this.getAttribute("data-id"))),this.carouselPrev.setAttribute("data-bs-slide","prev");let t=document.createElement("span");t.className="carousel-control-prev-icon",t.setAttribute("aria-hidden","true"),this.carouselPrev.appendChild(t);let n=document.createElement("span");n.className="visually-hidden",n.innerText="Previous",this.carouselPrev.appendChild(n),this.carouselNext.type="button",this.carouselNext.setAttribute("data-bs-target","#".concat(this.getAttribute("data-id"))),this.carouselNext.setAttribute("data-bs-slide","next");let e=document.createElement("span");e.className="carousel-control-next-icon",e.setAttribute("aria-hidden","true"),this.carouselNext.appendChild(e);let o=document.createElement("span");o.className="visually-hidden",o.innerText="Next",this.carouselNext.appendChild(o),this.carouselPrev.addEventListener("click",this._onClick),this.carouselNext.addEventListener("click",this._onClick),this.carousel.appendChild(this.carouselPrev),this.carousel.appendChild(this.carouselInner),this.carousel.appendChild(this.carouselNext)}else this.carousel.appendChild(this.carouselInner);t.addEventListener("slotchange",(t=>{let n=Array.from(this.children),e=0;n.forEach(((t,n)=>{if("COD-CAROUSEL-ITEM"==t.tagName){e+=1;let o=document.createElement("div");if(o.setAttribute("data-index",n),"true"==t.getAttribute("data-active")?(o.className="carousel-item active",this.setAttribute("data-active-item",n)):o.className="carousel-item",void 0!=t.getAttribute("data-interval")&&null!=t.getAttribute("data-interval")&&o.setAttribute("data-bs-interval",t.getAttribute("data-interval")),o.appendChild(t),this.carouselInner.appendChild(o),"true"==this.getAttribute("data-indicator")){let e=document.createElement("button");e.type="button",e.setAttribute("data-bs-target","#".concat(this.getAttribute("data-id"))),e.setAttribute("data-bs-slide-to",n),e.setAttribute("aria-label","Slide ".concat(n)),"true"==t.getAttribute("data-active")&&(e.className="active",e.setAttribute("aria-current","true")),e.addEventListener("click",this._onClick),this.carouselIndicators.appendChild(e),this.carousel.appendChild(this.carouselIndicators)}}e&&this.setAttribute("data-total-items",e),t.className.split(" ").includes("no-wc")&&t.remove()}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){if(null!=n){let t=this.carouselInner.querySelector('[data-index="'.concat(n,'"')),o=this.carouselInner.querySelector('[data-index="'.concat(e,'"'));"true"==this.getAttribute("data-indicator")&&(this.carouselIndicators.querySelector('[data-bs-slide-to="'.concat(n,'"')).className="",this.carouselIndicators.querySelector('[data-bs-slide-to="'.concat(e,'"')).className="active"),"next"==this.getAttribute("data-direction")?(t.className="carousel-item active carousel-item-start",o.className="carousel-item carousel-item-next carousel-item-start"):(t.className="carousel-item active carousel-item-end",o.className="carousel-item carousel-item-prev carousel-item-end"),setTimeout((()=>{t.className="carousel-item",o.className="carousel-item active"}),500)}}connectedCallback(){let t=this.getAttribute("data-id"),n=this.getAttribute("data-crossfade"),e=this.getAttribute("data-autoplay"),o=this.getAttribute("data-no-touch"),a=this.getAttribute("data-extra-classes"),r=this.getAttribute("data-external-controls"),i=["carousel slide"];void 0!=a&&null!=a&&i.push(a),"true"==n&&i.push("carousel-fade"),"true"==r&&i.push("d-flex"),"false"==o&&this.carousel.setAttribute("data-bs-touch","false"),void 0!=e&&null!=e&&("true"==e?this.carousel.setAttribute("data-bs-ride",e):this.carousel.setAttribute("data-bs-ride","carousel")),void 0!=t&&null!=t&&(this.carousel.id=t),this.carousel.className=i.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.carousel)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){let n=this.getRootNode().host.getAttribute("data-active-item");this.getRootNode().host.getAttribute("data-total-items");if(void 0==this.getAttribute("data-bs-slide"))this.getAttribute("data-bs-slide-to")>n?(this.getRootNode().host.setAttribute("data-direction","prev"),this.getRootNode().host.setAttribute("data-active-item",this.getAttribute("data-bs-slide-to"))):(this.getRootNode().host.setAttribute("data-direction","next"),this.getRootNode().host.setAttribute("data-active-item",this.getAttribute("data-bs-slide-to")));else{let t=this.getRootNode().host.getAttribute("data-active-item"),n=this.getRootNode().host.getAttribute("data-total-items");"prev"==this.getAttribute("data-bs-slide")?(this.getRootNode().host.setAttribute("data-direction","prev"),parseInt(t)-1>=0?this.getRootNode().host.setAttribute("data-active-item",parseInt(t)-1):this.getRootNode().host.setAttribute("data-active-item",parseInt(n)-1)):(this.getRootNode().host.setAttribute("data-direction","next"),parseInt(t)+1\n\n";class c extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(d.content.cloneNode(!0)),this.form=document.createElement("form"),t.addEventListener("slotchange",(t=>{let n=Array.from(this.children);n.length&&n.forEach((t=>{this.form.append(t)}))}))}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-id"),i=this.getAttribute("data-custom-validate"),l=this.getAttribute("data-background-color"),s=this.getAttribute("data-extra-classes");this.form.id=r,"true"==i?(this.form.novalidate=!0,i="needs-validation"):i="",this.form.className=[i,"bg-".concat(l||""),"".concat(s||"")].join(" "),this.shadowRoot.appendChild(this.form)}}customElements.define("cod-form",c);const m=document.createElement("template");m.innerHTML="\n\n";class b extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(m.content.cloneNode(!0)),this.modal=document.createElement("div"),this.modalDialog=document.createElement("div"),this.modalContent=document.createElement("div"),this.modalHeader=document.createElement("div"),this.modalBody=document.createElement("div"),this.modalFooter=document.createElement("div"),this.modalDialog.appendChild(this.modalContent),this.modal.appendChild(this.modalDialog),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-MODAL-HEADER":"true"==this.getAttribute("data-show")&&t.setAttribute("data-show",!0),"true"==this.getAttribute("data-button-dark")&&t.setAttribute("data-button-dark",!0),this.modalHeader.appendChild(t),this.modalContent.appendChild(this.modalHeader);break;case"COD-MODAL-BODY":this.modalBody.appendChild(t),this.modalContent.appendChild(this.modalBody);break;case"COD-MODAL-FOOTER":this.modalFooter.appendChild(t),this.modalContent.appendChild(this.modalFooter)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".modal {\n background-color: rgba(0, 0, 0, 0.5);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){let o=this.modal.className.split(" "),a=o.pop();"show"!=a&&o.push(a),"true"==e?(o.push("show"),this.modal.style.display="block","true"!=this.getAttribute("data-static")&&this.modal.addEventListener("click",this._onClick),this.modal.className=o.join(" ")):(this.modal.className=o.join(" "),setTimeout((()=>{this.modal.style.display="none"}),500))}connectedCallback(){let t=this.getAttribute("data-static"),n=this.getAttribute("data-id"),e=this.getAttribute("data-show"),o=this.getAttribute("data-vertical-centered"),a=this.getAttribute("data-size"),r=this.getAttribute("data-full-screen"),i=this.getAttribute("data-extra-classes"),l=["modal fade"],s=["modal-dialog"];void 0!=i&&null!=i&&l.push(i),void 0!=a&&null!=a&&s.push("modal-".concat(a)),"true"==o&&s.push("modal-dialog-centered"),void 0!=r&&null!=r&&("always"==r?s.push("modal-fullscreen"):s.push("modal-fullscreen-".concat(r,"-down"))),"true"==t&&(this.modal.setAttribute("data-bs-backdrop","static"),this.modal.setAttribute("data-bs-keyboard","false")),"true"==e?(this.modalClasses.push("show"),this.modal.setAttribute("aria-modal","true")):this.modal.setAttribute("aria-modal","false"),void 0!=n&&null!=n&&(this.modal.id=n),this.modal.setAttribute("tabindex",-1),this.modal.className=l.join(" "),this.modalDialog.className=s.join(" "),this.modalContent.className=["modal-content"].join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.modal)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-modal",b);var p=e(613),g=e.n(p),u=JSON.parse('{"version":8,"sprite":"https://cdn.arcgis.com/sharing/rest/content/items/273bf8d5c8ac400183fc24e109d20bcf/resources/styles/../sprites/sprite","glyphs":"https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/{fontstack}/{range}.pbf","sources":{"esri":{"type":"vector","tiles":["https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/{z}/{y}/{x}.pbf"]},"parcels":{"type":"vector","tiles":["https://tiles.arcgis.com/tiles/qvkbeam7Wirps6zC/arcgis/rest/services/parcels/VectorTileServer/tile/{z}/{y}/{x}.pbf"]},"mapillary":{"type":"geojson","data":{"type":"FeatureCollection","features":[]}},"mly":{"type":"vector","tiles":["https://tiles.mapillary.com/maps/vtp/mly1_computed_public/2/{z}/{x}/{y}?access_token=MLY|4690399437648324|de87555bb6015affa20c3df794ebab15"],"maxzoom":14,"minzoom":14}},"layers":[{"id":"Land/Not ice","type":"fill","source":"esri","source-layer":"Land","filter":["==","_symbol",0],"minzoom":0,"layout":{},"paint":{"fill-color":{"stops":[[0,"#dce0ca"],[10,"#E6E5D6"],[15,"#f2eee9"]]}}},{"id":"Land/Ice","type":"fill","source":"esri","source-layer":"Land","filter":["==","_symbol",1],"minzoom":0,"layout":{},"paint":{"fill-color":"#E6E5D6"}},{"id":"Urban area","type":"fill","source":"esri","source-layer":"Urban area","minzoom":5,"maxzoom":15,"layout":{},"paint":{"fill-color":{"stops":[[5,"#e3dfdc"],[10,"#ECE8E3"],[15,"#f2eee9"]]},"fill-antialias":false}},{"id":"Parcel/fill","type":"fill","source":"esri","source-layer":"Parcel","minzoom":18,"layout":{},"paint":{"fill-color":"#f0ebe5"}},{"id":"Parcel/line","type":"line","source":"esri","source-layer":"Parcel","minzoom":17,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#dddbd8","line-width":{"base":1.2,"stops":[[17,0.6],[22,5]]}}},{"id":"Vegetation small scale/High density","type":"fill","source":"esri","source-layer":"Vegetation small scale","filter":["==","_symbol",0],"maxzoom":11,"layout":{},"paint":{"fill-color":"#c2e699","fill-opacity":{"stops":[[0,0.3],[5,0.28],[7,0.18],[10,0.08]]},"fill-antialias":false}},{"id":"Vegetation small scale/Low density","type":"fill","source":"esri","source-layer":"Vegetation small scale","filter":["==","_symbol",1],"maxzoom":11,"layout":{},"paint":{"fill-color":"#9ad666","fill-opacity":{"stops":[[0,0.3],[5,0.28],[7,0.18],[10,0.08]]},"fill-antialias":false}},{"id":"Indigenous","type":"fill","source":"esri","source-layer":"Indigenous","minzoom":6,"layout":{},"paint":{"fill-color":"#dbd5bd","fill-outline-color":"#d6d4c8","fill-opacity":0.35}},{"id":"Openspace or forest","type":"fill","source":"esri","source-layer":"Openspace or forest","minzoom":9,"layout":{},"paint":{"fill-color":"#CDDFB3","fill-antialias":false}},{"id":"Admin0 forest or park","type":"fill","source":"esri","source-layer":"Admin0 forest or park","minzoom":6,"layout":{},"paint":{"fill-color":"#CDDFB3","fill-opacity":{"stops":[[6,0.4],[8,1]]},"fill-antialias":false}},{"id":"Admin0 forest or park/line2","type":"line","source":"esri","source-layer":"Admin0 forest or park","minzoom":6,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":0.3,"line-width":{"base":1.2,"stops":[[6,0.6],[15,15]]}}},{"id":"Admin0 forest or park/line","type":"line","source":"esri","source-layer":"Admin0 forest or park","minzoom":6,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":{"stops":[[6,0.4],[8,1]]},"line-width":{"base":1.2,"stops":[[6,0.6],[9,1.1]]}}},{"id":"Admin1 forest or park","type":"fill","source":"esri","source-layer":"Admin1 forest or park","minzoom":7,"layout":{},"paint":{"fill-color":"#CDDFB3","fill-opacity":{"stops":[[6,0.4],[8,1]]},"fill-antialias":false}},{"id":"Admin1 forest or park/line2","type":"line","source":"esri","source-layer":"Admin1 forest or park","minzoom":7,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":0.3,"line-width":{"base":1.2,"stops":[[6,0.6],[15,15]]}}},{"id":"Admin1 forest or park/line","type":"line","source":"esri","source-layer":"Admin1 forest or park","minzoom":7,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":{"stops":[[6,0.4],[8,1]]},"line-width":{"base":1.2,"stops":[[6,0.6],[9,1.1]]}}},{"id":"Zoo","type":"fill","source":"esri","source-layer":"Zoo","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#CDDFB3"],[17,"#A5C187"]]}}},{"id":"Military","type":"fill","source":"esri","source-layer":"Military","minzoom":6,"layout":{},"paint":{"fill-color":"#d9d9d9","fill-opacity":0.5,"fill-antialias":false}},{"id":"Port","type":"fill","source":"esri","source-layer":"Port","minzoom":12,"layout":{},"paint":{"fill-color":{"stops":[[13,"#d9d2c8"],[15,"#E6E0D9"],[19,"#ECE7E1"]]}}},{"id":"Transportation","type":"fill","source":"esri","source-layer":"Transportation","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[13,"#ddd3c5"],[15,"#E8E1D7"],[19,"#EDE7E0"]]}}},{"id":"Industry","type":"fill","source":"esri","source-layer":"Industry","minzoom":12,"layout":{},"paint":{"fill-color":{"stops":[[13,"#d9d2c8"],[15,"#E2DCD4"],[19,"#ECE7E1"]]}}},{"id":"Golf course","type":"fill","source":"esri","source-layer":"Golf course","minzoom":11,"layout":{},"paint":{"fill-color":"#D6E6C3"}},{"id":"Airport/Airport property","type":"fill","source":"esri","source-layer":"Airport","filter":["==","_symbol",1],"minzoom":9,"layout":{},"paint":{"fill-color":{"stops":[[9,"#d9d6d2"],[11,"#e3e1df"],[15,"#EAE7E4"]]},"fill-outline-color":"#DDDBD9"}},{"id":"Airport/Airport runway","type":"fill","source":"esri","source-layer":"Airport","filter":["==","_symbol",0],"minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#dddbd9"],[22,"#8D8C8A"]]}}},{"id":"Retail","type":"fill","source":"esri","source-layer":"Retail","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[11,"#f7c2b5"],[15,"#F5D8CF"],[19,"#F3E8E2"]]}}},{"id":"Water and wastewater","type":"fill","source":"esri","source-layer":"Water and wastewater","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[13,"#ddd3c5"],[15,"#E8E1D7"],[19,"#EDE7E0"]]}}},{"id":"Freight","type":"fill","source":"esri","source-layer":"Freight","minzoom":12,"layout":{},"paint":{"fill-color":{"stops":[[13,"#d9d2c8"],[15,"#E2DCD4"],[19,"#EDE7E0"]]}}},{"id":"Cemetery","type":"fill","source":"esri","source-layer":"Cemetery","minzoom":13,"layout":{},"paint":{"fill-color":"#d3e6b9"}},{"id":"Finance","type":"fill","source":"esri","source-layer":"Finance","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[11,"#f7c2b5"],[15,"#F5D8CF"],[19,"#F3E8E2"]]}}},{"id":"Government","type":"fill","source":"esri","source-layer":"Government","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[13,"#ddd3c5"],[15,"#E8E1D7"],[19,"#EDE7E0"]]}}},{"id":"Emergency","type":"fill","source":"esri","source-layer":"Emergency","minzoom":13,"layout":{},"paint":{"fill-color":"#E8E7E5"}},{"id":"Landmark","type":"fill","source":"esri","source-layer":"Landmark","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[10,"#d7ede6"],[15,"#E5EEE8"],[19,"#EBEEE8"]]}}},{"id":"Pedestrian","type":"fill","source":"esri","source-layer":"Pedestrian","minzoom":13,"layout":{},"paint":{"fill-color":"#E8E7E5","fill-outline-color":"#bcb7ae"}},{"id":"Education","type":"fill","source":"esri","source-layer":"Education","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#dde2a9"],[15,"#E8E8C9"],[19,"#EEEBDB"]]}}},{"id":"Medical","type":"fill","source":"esri","source-layer":"Medical","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#c7dff4"],[15,"#DDE7EF"],[19,"#E7EAEC"]]}}},{"id":"Park or farming","type":"fill","source":"esri","source-layer":"Park or farming","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#CDDFB3"],[17,"#A5C187"]]}}},{"id":"Beach","type":"fill","source":"esri","source-layer":"Beach","minzoom":13,"layout":{},"paint":{"fill-pattern":"Special area of interest/Sand"}},{"id":"Special area of interest/Garden path","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",12],"minzoom":14,"layout":{"visibility":"none"},"paint":{"fill-color":"#f5f5f1","fill-outline-color":"#EBE8E8"}},{"id":"Special area of interest/Green openspace","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",11],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[14,"#c5e0a9"],[17,"#A5C187"]]}}},{"id":"Special area of interest/Grass","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[14,"#b4d197"],[17,"#84A661"]]}}},{"id":"Special area of interest/Grass/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"line-color":{"stops":[[14,"#a4c683"],[17,"#739551"]]},"line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Grass/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Grass","fill-opacity":0.5}},{"id":"Special area of interest/Grass/pattern/1","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Small stipple"}},{"id":"Special area of interest/Baseball field or other grounds","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",1],"minzoom":14,"layout":{},"paint":{"fill-color":"#91a761"}},{"id":"Special area of interest/Baseball field or other grounds/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",1],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Baseball field or other grounds"}},{"id":"Special area of interest/Groundcover","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",13],"minzoom":14,"layout":{},"paint":{"fill-color":"#97be82"}},{"id":"Special area of interest/Groundcover/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",13],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Groundcover","fill-opacity":0.5}},{"id":"Special area of interest/Field or court exterior","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",5],"minzoom":14,"layout":{},"paint":{"fill-color":"#6E866E"}},{"id":"Special area of interest/Football field or court","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",4],"minzoom":14,"layout":{},"paint":{"fill-color":"#7fa57a"}},{"id":"Special area of interest/Football field or court/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",4],"minzoom":14,"layout":{},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest/Hardcourt","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",10],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[15,"#dddbd9"],[22,"#8D8C8A"]]}}},{"id":"Special area of interest/Hardcourt/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",10],"minzoom":14,"layout":{},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest/Mulch or dirt","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",14],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Mulch or dirt"}},{"id":"Special area of interest/Mulch or dirt/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",14],"minzoom":14,"layout":{},"paint":{"line-color":"#c9b58b","line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Athletic track","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",0],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[14,"#d49a87"],[17,"#cb7169"]]}}},{"id":"Special area of interest/Athletic track/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",0],"minzoom":14,"layout":{},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest/Sand","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",6],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Sand"}},{"id":"Special area of interest/Parking/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",15],"minzoom":15,"layout":{},"paint":{"line-color":{"stops":[[15,"#d1cfcd"],[22,"#7c7b79"]]},"line-opacity":0.8,"line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Parking","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",15],"minzoom":15,"layout":{},"paint":{"fill-color":{"stops":[[15,"#dddbd9"],[22,"#8D8C8A"]]}}},{"id":"Special area of interest/Parking/stipple","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",15],"minzoom":15,"layout":{},"paint":{"fill-pattern":"Special area of interest/Small stipple"}},{"id":"Special area of interest/Rock or gravel","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",16],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Rock or gravel"}},{"id":"Water line small scale","type":"line","source":"esri","source-layer":"Water line small scale","minzoom":1,"maxzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#B7D7D9"],[10.6,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[1,0.5],[5,0.5]]}}},{"id":"Water line medium scale","type":"line","source":"esri","source-layer":"Water line medium scale","minzoom":5,"maxzoom":7,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#B7D7D9"],[10.6,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[5,0.5],[7,0.7]]}}},{"id":"Water line large scale","type":"line","source":"esri","source-layer":"Water line large scale","minzoom":7,"maxzoom":11,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[1,"#B7D7D9"],[10.6,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[7,0.5],[11,0.7]]}}},{"id":"Water line/Waterfall","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",5],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":"#6BC4F0","line-width":0.8,"line-dasharray":[5,5]}},{"id":"Water line/Dam or weir","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",2],"minzoom":11,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#afafaf","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Water line/Levee/1","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",3],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":"#c3c3c3","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[20,2.5]]}}},{"id":"Water line/Levee/0","type":"symbol","source":"esri","source-layer":"Water line","filter":["==","_symbol",3],"minzoom":13,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Water line/Levee/0","symbol-spacing":13.3,"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1},"paint":{}},{"id":"Water line/Canal or ditch","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",1],"minzoom":11,"layout":{"line-cap":"round"},"paint":{"line-color":"#6BC4F0","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Water line/Stream or river intermittent","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",4],"minzoom":11,"layout":{},"paint":{"line-color":"#6BC4F0","line-dasharray":[7,3],"line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Water line/Stream or river","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",0],"minzoom":11,"layout":{"line-cap":"round"},"paint":{"line-color":"#6BC4F0","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Marine area/1","type":"fill","source":"esri","source-layer":"Marine area","minzoom":0,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 2 (shallow water)","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",0],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#5BBDEC"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 3","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",1],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#63C0EE"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 4","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",2],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#6BC4F0"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 5","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",3],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#72C8F1"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 6","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",4],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#7ACBF3"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 7 (deep water)","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",5],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#82CFF5"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Water area small scale","type":"fill","source":"esri","source-layer":"Water area small scale","minzoom":1,"maxzoom":5,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-outline-color":"#53B9EA"}},{"id":"Water area medium scale/Lake intermittent","type":"fill","source":"esri","source-layer":"Water area medium scale","filter":["==","_symbol",1],"minzoom":5,"maxzoom":7,"layout":{},"paint":{"fill-pattern":"Water area/Lake or river intermittent"}},{"id":"Water area medium scale/Lake or river","type":"fill","source":"esri","source-layer":"Water area medium scale","filter":["==","_symbol",0],"minzoom":5,"maxzoom":7,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-outline-color":"#53B9EA"}},{"id":"Water area large scale/Lake intermittent","type":"fill","source":"esri","source-layer":"Water area large scale","filter":["==","_symbol",1],"minzoom":7,"maxzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Lake or river intermittent"}},{"id":"Water area large scale/Lake or river","type":"fill","source":"esri","source-layer":"Water area large scale","filter":["==","_symbol",0],"minzoom":7,"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-outline-color":{"stops":[[8,"#53B9EA"],[9,"#6BC4F0"]]}}},{"id":"Water area/Lake, river or bay","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",7],"minzoom":11,"layout":{},"paint":{"fill-color":"#6BC4F0","fill-outline-color":"#6BC4F0"}},{"id":"Water area/Lake or river intermittent","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",6],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Lake or river intermittent"}},{"id":"Water area/Inundated area","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",4],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Inundated area"}},{"id":"Water area/Swamp or marsh","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",3],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Swamp or marsh","fill-opacity":0.45}},{"id":"Water area/Playa","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",1],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Playa"}},{"id":"Water area/Ice mass","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",2],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Ice mass","fill-opacity":0.5}},{"id":"Water area/Dam or weir","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",5],"minzoom":11,"layout":{},"paint":{"fill-color":"#e5e5dd","fill-outline-color":"#d9d9d1"}},{"id":"Special area of interest/Bike, walk or pedestrian/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",2],"minzoom":15,"layout":{},"paint":{"line-color":"#bcb7ae","line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Bike, walk or pedestrian","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",2],"minzoom":15,"layout":{},"paint":{"fill-color":"#E8E7E5","fill-outline-color":"#dbd9d5"}},{"id":"Special area of interest/Bike, walk or pedestrian/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",2],"minzoom":15,"layout":{},"paint":{"fill-pattern":"Special area of interest/Small stipple"}},{"id":"Special area of interest/Water","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",7],"minzoom":14,"layout":{},"paint":{"fill-color":"#6BC4F0"}},{"id":"Special area of interest/Water/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",7],"minzoom":14,"layout":{},"paint":{"line-color":"#5db6e2","line-width":{"stops":[[15,1.1],[22,7]]},"line-blur":{"stops":[[15,1],[22,3.5]]}}},{"id":"Ferry/Ferry","type":"line","source":"esri","source-layer":"Ferry","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":"#c1e1f0","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[11,1.3],[14,1.5],[17,1.5]]},"line-dasharray":[3,4]}},{"id":"Railroad/2","type":"line","source":"esri","source-layer":"Railroad","minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[11,"#dedcd9"],[17,"#B8B1AA"]]},"line-width":{"base":1.2,"stops":[[11,2.5],[14,2.5],[17,4]]}}},{"id":"Railroad/1","type":"line","source":"esri","source-layer":"Railroad","minzoom":11,"layout":{"line-join":"round"},"paint":{"line-dasharray":[6,7.5],"line-color":{"stops":[[11,"#E3E0D7"],[17,"#DBD8CB"]]},"line-width":{"base":1.2,"stops":[[11,0.75],[15,0.75],[17,2]]}}},{"id":"Ferry/Rail ferry/2","type":"line","source":"esri","source-layer":"Ferry","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[11,"#dedcd9"],[17,"#B8B1AA"]]},"line-width":{"base":1.2,"stops":[[11,2.5],[14,2.5],[17,4]]}}},{"id":"Ferry/Rail ferry/1","type":"line","source":"esri","source-layer":"Ferry","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-dasharray":[6,7.5],"line-color":{"stops":[[11,"#E3E0D7"],[17,"#DBD8CB"]]},"line-width":{"base":1.2,"stops":[[11,0.75],[15,0.75],[17,2]]}}},{"id":"Special area of interest line/Sports field","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",6],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Road/4WD/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#e3e1dc","line-dasharray":[2,1],"line-width":{"base":1.2,"stops":[[11,1.5],[14,2.3],[17,8.3],[20,50]]}}},{"id":"Road/Minor, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[9.9,1],[14,4],[16,11.5],[17,19],[20,58]]}}},{"id":"Road/Minor/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[9,1],[10,3.3],[14,5.5],[16,11.5],[17,19],[20,58]]}}},{"id":"Road/Major, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[9,3.3],[14,7.3],[16,12.3],[17,22],[20,63]]}}},{"id":"Road/Major/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[8,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1,"stops":[[8,3.3],[14,7.3],[16,12.3],[17,22],[20,63]]}}},{"id":"Road/Service/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":13,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e3e1dc","line-width":{"base":1.2,"stops":[[11,2],[14,2.5],[17,10.3],[20,45]]}}},{"id":"Trail or path/1","type":"line","source":"esri","source-layer":"Trail or path","minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#dddbd5"],[17,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[15,2.5],[16,3],[17,5],[20,20],[22,31]]}}},{"id":"Road/Pedestrian/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",9],["!in","Viz",2]],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#dddbd5"],[17,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[15,2.5],[16,3],[17,5],[20,20],[22,31]]}}},{"id":"Road/Local/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",7],["!in","Viz",2]],"minzoom":12,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e3e1dc","line-width":{"base":1.4,"stops":[[11,1.1],[14,3],[16,8],[17,16],[20,48]]}}},{"id":"Trail or path/0","type":"line","source":"esri","source-layer":"Trail or path","minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#f8f8f7"],[18,"#ffffff"]]},"line-dasharray":{"stops":[[15,[3,3]],[17,[2,2]]]},"line-width":{"base":1.2,"stops":[[15,1.3],[17,2.5]]}}},{"id":"Road/Pedestrian/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",9],["!in","Viz",2]],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#f8f8f7"],[18,"#ffffff"]]},"line-dasharray":{"stops":[[15,[3,3]],[17,[2,2]]]},"line-width":{"base":1.2,"stops":[[15,1.3],[17,2.5]]}}},{"id":"Road/4WD/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#FFFFFF","line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,7.3],[20,48]]}}},{"id":"Road/Service/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":13,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#FFFFFF","line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,8.3],[20,43]]}}},{"id":"Road/Local/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",7],["!in","Viz",2]],"minzoom":12,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[12,"#fcfbf9"],[13,"#ffffff"]]},"line-width":{"base":1.4,"stops":[[11,1.1],[14,2],[16,6],[17,14],[20,45]]}}},{"id":"Road/Minor, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[9,0.75],[14,2],[16,9.5],[17,17],[20,55]]}}},{"id":"Road/Minor/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[9,1.3],[14,4.5],[16,9.5],[17,17],[20,55]]}}},{"id":"Road/Major, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[9,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road/Major/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[8,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road/Freeway Motorway, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":"#ffffff","line-width":{"base":1.2,"stops":[[9,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road/Highway/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":{"base":1.2,"stops":[[6,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road/Freeway Motorway/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":{"base":1.2,"stops":[[5,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road/Freeway Motorway, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-width":{"base":1.2,"stops":[[9,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road/Highway/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-width":{"base":1.2,"stops":[[6,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road/Freeway Motorway/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#F6CA91","line-width":{"base":1.2,"stops":[[5,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Special area of interest line/Dock or pier","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",0],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#E8E7E5","line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest line/Fence (chain link)/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",1],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#686868","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[16,0.7],[20,3]]}}},{"id":"Special area of interest line/Fence (chain link)/0","type":"symbol","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",1],"minzoom":16,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Special area of interest line/Fence (chain link)/0","symbol-spacing":{"stops":[[16,7],[22,20]]},"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.25],[22,1]]}},"paint":{}},{"id":"Special area of interest line/Fence (metal)/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",2],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#686868","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[16,0.7],[20,3]]}}},{"id":"Special area of interest line/Fence (metal)/0","type":"symbol","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",2],"minzoom":16,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Special area of interest line/Fence (metal)/0","symbol-spacing":{"stops":[[16,7],[22,20]]},"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.2],[22,0.9]]}},"paint":{}},{"id":"Special area of interest line/Fence (wood)/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",3],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#CDAA66","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[16,0.7],[20,3]]}}},{"id":"Special area of interest line/Fence (wood)/0","type":"symbol","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",3],"minzoom":16,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Special area of interest line/Fence (wood)/0","symbol-spacing":{"stops":[[16,7],[22,20]]},"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.2],[22,0.9]]}},"paint":{}},{"id":"Special area of interest line/Gate/2","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",4],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#686868","line-width":{"base":1.2,"stops":[[16,2],[20,7]]}}},{"id":"Special area of interest line/Gate/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",4],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#E1E1E1","line-width":{"base":1.2,"stops":[[16,1],[20,5]]}}},{"id":"Special area of interest line/Gate/0","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",4],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#686868","line-dasharray":[5,15],"line-width":0.7}},{"id":"Special area of interest line/Wall/2","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",7],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#BCB7AE","line-width":{"base":1.2,"stops":[[16,4],[20,7]]}}},{"id":"Special area of interest line/Wall/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",7],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#e3e3e1","line-width":{"base":1.2,"stops":[[16,2],[20,5]]}}},{"id":"Special area of interest line/Wall/0","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",7],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#BCB7AE","line-width":0.5}},{"id":"Building/1","type":"fill","source":"esri","source-layer":"Building","minzoom":18,"layout":{},"paint":{"fill-color":"#6f6c68","fill-opacity":0.15,"fill-translate":{"stops":[[18,[2,2]],[20,[10,10]]]},"fill-translate-anchor":"viewport"}},{"id":"Building/General","type":"fill","source":"esri","source-layer":"Building","minzoom":15,"layout":{},"paint":{"fill-color":{"stops":[[15,"#ebe7e2"],[20,"#D1C4BA"]]}}},{"id":"Building/pattern","type":"fill","source":"esri","source-layer":"Building","minzoom":16,"layout":{},"paint":{"fill-pattern":"Building","fill-opacity":0.15}},{"id":"Building/line","type":"line","source":"esri","source-layer":"Building","minzoom":15,"layout":{},"paint":{"line-color":{"stops":[[15,"#dbd4cb"],[22,"#ac9c92"]]},"line-width":{"stops":[[15,0.5],[20,1.5]]}}},{"id":"Special area of interest line/Parking lot","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",5],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#E8E7E5","line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Road tunnel/4WD/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#e3e1dc","line-dasharray":[2,1],"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[11,1.5],[14,2.3],[17,8.3],[20,49]]}}},{"id":"Road tunnel/Minor, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9.9,1],[14,4],[16,11.5],[17,19],[20,57]]}}},{"id":"Road tunnel/Minor/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,1],[10,3.3],[14,5.5],[16,11.5],[17,19],[20,57]]}}},{"id":"Road tunnel/Major, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,3.3],[14,7.3],[16,12.3],[17,22],[20,62]]}}},{"id":"Road tunnel/Major/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[8,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1,"stops":[[8,3.3],[14,7.3],[16,12.3],[17,22],[20,62]]}}},{"id":"Road tunnel/Pedestrian/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",9],["!in","Viz",2]],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#FFFFFF","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[14,1.6],[16,2],[17,8],[20,45]]}}},{"id":"Road tunnel/4WD/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#FFFFFF","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,7.3],[20,48]]}}},{"id":"Road tunnel/Service/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":13,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#FFFFFF","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,8.3],[20,48]]}}},{"id":"Road tunnel/Local/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",7],["!in","Viz",2]],"minzoom":12,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[12,"#fcfbf9"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.4,"stops":[[11,1.1],[14,2],[16,6],[17,14],[20,55]]}}},{"id":"Road tunnel/Minor, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,0.75],[14,2],[16,9.5],[17,17],[20,55]]}}},{"id":"Road tunnel/Minor/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,1.3],[14,4.5],[16,9.5],[17,17],[20,55]]}}},{"id":"Road tunnel/Major, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road tunnel/Major/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[8,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road tunnel/Freeway Motorway, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":"#ffffff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road tunnel/Highway/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[6,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road tunnel/Freeway Motorway/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[5,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road tunnel/Freeway Motorway, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road tunnel/Highway/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[6,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road tunnel/Freeway Motorway/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#F6CA91","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[5,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Special area of interest/Gutter","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["in","_symbol",9,3],"minzoom":14,"layout":{},"paint":{"fill-color":"#E8E7E5","fill-outline-color":"#bcb7ae"}},{"id":"Boundary line/Disputed admin2","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":9,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#f5f5f5"],[3,"#fafafa"],[9,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[1,0.65],[14,1.3],[17,2.5]]},"line-dasharray":[5,5]}},{"id":"Boundary line/Disputed admin1/1","type":"line","source":"esri","source-layer":"Boundary line","minzoom":3,"filter":["all",["==","_symbol",7],["!in","Viz",2]],"layout":{"line-join":"round"},"paint":{"line-color":"#c6c4b6","line-opacity":0.95,"line-width":{"base":1,"stops":[[4,0.5],[14,7],[17,7]]}}},{"id":"Boundary line/Disputed admin0/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",6],["!in","Viz",2],["!in","DisputeID",8,16,90,96,0]],"minzoom":1,"layout":{"line-join":"round"},"paint":{"line-color":"#c6c4b6","line-opacity":0.95,"line-width":{"base":1,"stops":[[1,0.5],[14,9.3],[17,9.3]]}}},{"id":"Boundary line/Disputed admin1/0","type":"line","source":"esri","source-layer":"Boundary line","minzoom":3,"filter":["all",["==","_symbol",7],["!in","Viz",2]],"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#f5f5f5"],[3,"#fafafa"],[9,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[1,0.65],[14,1.3],[17,2.5]]},"line-dasharray":[5,5]}},{"id":"Boundary line/Disputed admin0/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",6],["!in","Viz",2],["!in","DisputeID",8,16,90,96,0]],"minzoom":1,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#f5f5f5"],[3,"#fafafa"],[9,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[1,0.65],[14,1.3],[17,2.5]]},"line-dasharray":[5,5]}},{"id":"Boundary line/Admin2/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":10,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ede7e0","line-opacity":0.6,"line-width":{"base":1.2,"stops":[[8,2.3],[14,5.5],[17,7.5]]}}},{"id":"Boundary line/Admin1/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":3,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[3,"#DEE1CC"],[10,"#d1ceb8"]]},"line-opacity":0.5,"line-width":{"base":1,"stops":[[3,0.5],[14,9],[17,10]]}}},{"id":"Boundary line/Admin0/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":1,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#d1cfc2","line-width":{"base":1,"stops":[[1,0.5],[14,11.3],[17,12.3]]}}},{"id":"Boundary line/Admin5","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#9C9C9C","line-width":{"base":1.2,"stops":[[14,1],[17,1]]},"line-dasharray":[6,4]}},{"id":"Boundary line/Admin4","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#9C9C9C","line-width":{"base":1.2,"stops":[[14,1],[17,1]]},"line-dasharray":[6,4]}},{"id":"Boundary line/Admin3","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#9C9C9C","line-width":{"base":1.2,"stops":[[14,1],[17,1]]},"line-dasharray":[6,4]}},{"id":"Boundary line/Admin2/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":9,"layout":{"line-join":"round"},"paint":{"line-color":"#888577","line-dasharray":[7,5],"line-width":{"base":1.2,"stops":[[8,0.5],[14,1]]}}},{"id":"Boundary line/Admin1/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":3,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[3,"#c1bdb5"],[4,"#9b9382"]]},"line-width":{"base":1,"stops":[[4,0.5],[14,1.3],[17,1.3]]}}},{"id":"Boundary line/Admin0/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":1,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[1,"#b9b9b9"],[7,"#434242"]]},"line-width":{"base":1.2,"stops":[[1,0.5],[14,1.3],[17,2]]}}},{"id":"Coastline","type":"line","source":"esri","source-layer":"Coastline","maxzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[0,"#53B9EA"],[7,"#53B9EA"],[9,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[0,0.5],[9,1.3]]}}},{"id":"Tree/Elm","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",0],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Elm","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Eucalyptus","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",1],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Eucalyptus","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Maple","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",2],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Maple","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Oak","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",3],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Oak","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Orange","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",4],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Orange","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Palm","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",5],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Palm","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Pine","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",6],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Pine","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Spruce","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",7],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Spruce","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Shrub","type":"symbol","source":"esri","source-layer":"Shrub","minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Shrub","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Pavement marking/Arrow","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",0],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Arrow","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/Handicap","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":18,"filter":["==","_symbol",1],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Handicap","icon-size":{"stops":[[18,0.5],[20,1],[22,1.25]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#296AA3","icon-opacity":{"stops":[[18,0.65],[20,1]]}}},{"id":"Pavement marking/Left turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",2],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Left turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/Right turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",3],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Right turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/Two-way left turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",4],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Two-way left turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/U-turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",5],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/U-turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Water point/Sea or ocean","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",0],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,15.5]]},"text-letter-spacing":0.3,"text-line-height":1.6,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Water point/Island","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",7],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water point/Dam or weir","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",5],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.7,"text-halo-blur":1}},{"id":"Water point/Playa","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",6],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.7,"text-halo-blur":1}},{"id":"Water point/Canal or ditch","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",4],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.13,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water point/Stream or river","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",3],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water point/Lake or reservoir","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",2],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#FFFFFF","text-halo-width":0.5}},{"id":"Water point/Bay or inlet","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",1],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Ferry/label/Ferry","type":"symbol","source":"esri","source-layer":"Ferry/label","filter":["all",["==","_label_class",0],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":10,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":30},"paint":{"text-color":"#ffffff","text-halo-width":1.2,"text-halo-color":"#6BC4F0","text-halo-blur":1}},{"id":"Water line/label/Default","type":"symbol","source":"esri","source-layer":"Water line/label","minzoom":11,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.5,"text-letter-spacing":0.07,"text-max-width":8,"text-max-angle":35,"text-field":"{_name_global}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water line large scale/label/Default","type":"symbol","source":"esri","source-layer":"Water line large scale/label","minzoom":7,"maxzoom":11,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.01,"text-max-width":8,"text-max-angle":{"stops":[[7,25],[11,35]]},"text-field":"{_name}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water line medium scale/label/Default","type":"symbol","source":"esri","source-layer":"Water line medium scale/label","minzoom":5,"maxzoom":7,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.1,"text-max-width":8,"text-max-angle":{"stops":[[5,15],[6,25]]},"text-field":"{_name}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water line small scale/label/Default","type":"symbol","source":"esri","source-layer":"Water line small scale/label","minzoom":4,"maxzoom":5,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":8.5,"text-letter-spacing":0.1,"text-max-width":8,"text-max-angle":18,"text-field":"{_name}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Marine park/label/Default","type":"symbol","source":"esri","source-layer":"Marine park/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#3a7795"}},{"id":"Water area/label/Dam or weir","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",8],"minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":9.5,"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.5,"text-halo-blur":1}},{"id":"Water area/label/Playa","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",9],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.5,"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.5,"text-halo-blur":1}},{"id":"Water area/label/Canal or ditch","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",2],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":10.5,"text-letter-spacing":0.13,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":5},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Small river","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",7],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":10.5,"text-letter-spacing":0.13,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":8},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Large river","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",4],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":10.5,"text-letter-spacing":0.13,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":8},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Small lake or reservoir","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",6],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Large lake or reservoir","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",3],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Bay or inlet","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",1],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Small island","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",0],"minzoom":11,"layout":{"text-size":10.5,"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"]},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water area/label/Large island","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",5],"minzoom":11,"layout":{"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"]},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water area large scale/label/River","type":"symbol","source":"esri","source-layer":"Water area large scale/label","filter":["==","_label_class",1],"minzoom":7,"maxzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":9.3,"text-letter-spacing":0.1,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":4},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area large scale/label/Lake or lake intermittent","type":"symbol","source":"esri","source-layer":"Water area large scale/label","filter":["==","_label_class",0],"minzoom":7,"maxzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area medium scale/label/Default","type":"symbol","source":"esri","source-layer":"Water area medium scale/label","minzoom":5,"maxzoom":7,"layout":{"text-max-width":4,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-letter-spacing":0.08,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area small scale/label/Default","type":"symbol","source":"esri","source-layer":"Water area small scale/label","minzoom":1,"maxzoom":5,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.08,"text-max-width":4,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Marine area/label/Default","type":"symbol","source":"esri","source-layer":"Marine area/label","minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":1}},{"id":"Marine waterbody/label/small","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",4],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.12],[10,0.25]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,9.3]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/medium","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",3],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.15],[10,0.3]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,9.3]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/large","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",2],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.18],[10,0.4]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,10]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/x large","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",1],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.2],[10,1.5]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,11]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/2x large","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",0],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.3],[10,2]]},"text-line-height":1.6,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,10],[4,18]]}},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Ferry/label/Rail ferry","type":"symbol","source":"esri","source-layer":"Ferry/label","filter":["all",["==","_label_class",1],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9,"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":5,"text-offset":[0,-0.6],"symbol-spacing":1000},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Railroad/label/Default","type":"symbol","source":"esri","source-layer":"Railroad/label","minzoom":14,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9,"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":5,"text-offset":[0,-0.6],"symbol-spacing":1000},"paint":{"text-color":"#4E4E4E","text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Trail or path/label/Default","type":"symbol","source":"esri","source-layer":"Trail or path/label","minzoom":15,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":5},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road tunnel/label/Pedestrian","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",6],["!in","Viz",2]],"minzoom":15,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":5},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Local, service, 4WD","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",5],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":9.5,"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[12,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Minor","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",4],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Major, alt name","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",3],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4e4e4e","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Major","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",2],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Highway","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",7],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Freeway Motorway, alt name","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",1],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Freeway Motorway","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",0],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road/label/Local","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",5],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,11.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[12,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Minor","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",4],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Major, alt name","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",3],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Major","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",2],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Highway","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",75],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Freeway Motorway, alt name","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",1],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Freeway Motorway","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",0],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Rectangle white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",32],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",31],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Secondary Hwy red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",16],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Secondary Hwy red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",15],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped yellow black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",24],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped yellow black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped yellow black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",23],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped yellow black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",26],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",25],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",28],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",27],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/V-shaped white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",30],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/V-shaped white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/V-shaped white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",29],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/V-shaped white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",18],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",17],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white green (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",20],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white green (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white green","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",19],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white green/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped green leaf (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",22],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped green leaf (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped green leaf","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",21],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped green leaf/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle yellow black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",38],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle yellow black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle yellow black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",37],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle yellow black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",36],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",35],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",34],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",33],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",40],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",39],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle green yellow (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",42],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green yellow (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Rectangle green yellow","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",41],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green yellow/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Pentagon inverse white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",44],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon inverse white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon inverse white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",43],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon inverse white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",46],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",45],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon yellow black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",50],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon yellow black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon yellow black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",49],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon yellow black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",51],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pentagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",52],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pentagon green yellow","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",53],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green yellow/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Pentagon green yellow (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",54],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green yellow (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Pentagon blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",48],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pentagon blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",47],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",56],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Hexagon white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",55],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Hexagon blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",57],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",58],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",59],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",60],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",62],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",61],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon orange black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",63],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon orange black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Hexagon orange black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",64],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon orange black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",66],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",65],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",68],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",67],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",70],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",69],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon brown white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",72],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon brown white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon brown white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",71],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon brown white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Octagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",74],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Octagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Octagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",73],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Octagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Shield white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",10],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Shield white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",9],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Secondary Hwy green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",14],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Secondary Hwy green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",13],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Secondary Hwy white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",12],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Secondary Hwy white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",11],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Shield blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",8],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Shield blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",7],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pedestrian","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",6],["!in","Viz",2]],"minzoom":15,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":5},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Building/label/Default","type":"symbol","source":"esri","source-layer":"Building/label","minzoom":15,"layout":{"visibility":"none","text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#5a3514","text-halo-color":"#EBE7E2","text-halo-width":0.7,"text-halo-blur":1}},{"id":"Cemetery/label/Default","type":"symbol","source":"esri","source-layer":"Cemetery/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#2d4e28","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Freight/label/Default","type":"symbol","source":"esri","source-layer":"Freight/label","minzoom":12,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Water and wastewater/label/Default","type":"symbol","source":"esri","source-layer":"Water and wastewater/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Port/label/Default","type":"symbol","source":"esri","source-layer":"Port/label","minzoom":12,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Industry/label/Default","type":"symbol","source":"esri","source-layer":"Industry/label","minzoom":12,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Government/label/Default","type":"symbol","source":"esri","source-layer":"Government/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Finance/label/Default","type":"symbol","source":"esri","source-layer":"Finance/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#9d5a48","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Emergency/label/Default","type":"symbol","source":"esri","source-layer":"Emergency/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#33302f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Indigenous/label/Default","type":"symbol","source":"esri","source-layer":"Indigenous/label","minzoom":7,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#533d32","text-halo-color":"#e8e6d6","text-halo-width":1,"text-halo-blur":1}},{"id":"Military/label/Default","type":"symbol","source":"esri","source-layer":"Military/label","minzoom":6,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25,"symbol-avoid-edges":true},"paint":{"text-color":"#242221","text-halo-color":"#E0E0D9","text-halo-width":1,"text-halo-blur":1}},{"id":"Transportation/label/Default","type":"symbol","source":"esri","source-layer":"Transportation/label","minzoom":13,"layout":{"visibility":"none","text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#242221","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Pedestrian/label/Default","type":"symbol","source":"esri","source-layer":"Pedestrian/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#242221","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Beach/label/Default","type":"symbol","source":"esri","source-layer":"Beach/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#806b3c","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Golf course/label/Default","type":"symbol","source":"esri","source-layer":"Golf course/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#2d4e28","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Zoo/label/Default","type":"symbol","source":"esri","source-layer":"Zoo/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#2d4e28","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Retail/label/Default","type":"symbol","source":"esri","source-layer":"Retail/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#9d5a48","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Landmark/label/Default","type":"symbol","source":"esri","source-layer":"Landmark/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#446757","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Openspace or forest/label/Default","type":"symbol","source":"esri","source-layer":"Openspace or forest/label","minzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Park or farming/label/Default","type":"symbol","source":"esri","source-layer":"Park or farming/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Point of interest/Park","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_label_class",1],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#006200","text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Education/label/Default","type":"symbol","source":"esri","source-layer":"Education/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#505000","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Medical/label/Default","type":"symbol","source":"esri","source-layer":"Medical/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#3d5d69","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 forest or park/label/Default","type":"symbol","source":"esri","source-layer":"Admin1 forest or park/label","minzoom":7,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 forest or park/label/Default","type":"symbol","source":"esri","source-layer":"Admin0 forest or park/label","minzoom":6,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25,"symbol-avoid-edges":true},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Airport/label/Airport property","type":"symbol","source":"esri","source-layer":"Airport/label","minzoom":9,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#5f5e5c","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin2 area/label/small","type":"symbol","source":"esri","source-layer":"Admin2 area/label","filter":["==","_label_class",1],"minzoom":9,"maxzoom":11,"layout":{"text-letter-spacing":0.2,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":11,"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-transform":"uppercase"},"paint":{"text-color":"#80755f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin2 area/label/large","type":"symbol","source":"esri","source-layer":"Admin2 area/label","filter":["==","_label_class",0],"minzoom":9,"maxzoom":11,"layout":{"text-letter-spacing":0.2,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":13,"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-transform":"uppercase"},"paint":{"text-color":"#80755f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/x small","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",5],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,8.5],[5,9.5],[6,10.3],[9,11]]},"text-letter-spacing":{"stops":[[4,0.1],[8,0.2]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/small","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",4],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,8.5],[5,9.5],[6,10.5],[9,11.5]]},"text-letter-spacing":{"stops":[[4,0.1],[8,0.2]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/medium","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",3],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,9.5],[5,10.5],[6,11.3],[9,12]]},"text-letter-spacing":{"stops":[[4,0.15],[8,0.4]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/large","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",2],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,9.5],[5,11.3],[6,13],[9,17]]},"text-letter-spacing":{"stops":[[4,0.1],[8,0.5]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/x large","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",1],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,10.3],[5,12],[6,13.5],[9,19]]},"text-letter-spacing":{"stops":[[4,0.15],[8,0.6]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/2x large","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",0],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,11.5],[5,12.3],[6,14],[9,19]]},"text-letter-spacing":{"stops":[[4,0.15],[8,0.75]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Point of interest/General","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_label_class",0],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":{"stops":[[9,"#5a3514"],[11,"#5a3514"]]},"text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Point of interest/Bus station","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_symbol",2],"minzoom":12,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":{"stops":[[9,"#5a3514"],[11,"#5a3514"]]},"text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Point of interest/Rail station","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_symbol",3],"minzoom":12,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":{"stops":[[9,"#5a3514"],[11,"#5a3514"]]},"text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Neighborhood","type":"symbol","source":"esri","source-layer":"Neighborhood","minzoom":14,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,10],[16,14]]},"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":1},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/town small","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",5],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,11],[16,15]]},"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/town large","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",4],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,11],[16,17]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":1},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/small","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",3],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,12],[16,18]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/medium","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",2],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,13],[16,20]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/large","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",1],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,14],[16,26]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/x large","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",0],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,14.5],[16,31]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town small non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",17],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town large non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",15],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/small non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",12],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/medium non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",9],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",18],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town large other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",14],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/small other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",11],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/medium other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",8],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/x small","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",5],"minzoom":5,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[5,0.13],[8,0.5]]},"text-size":{"stops":[[5,13],[10,18]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/small","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",4],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[4,0.13],[8,0.5]]},"text-size":{"stops":[[4,13],[10,18]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/medium","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",3],"minzoom":2,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[2,0.13],[8,0.5]]},"text-size":{"stops":[[2,10],[4,14],[10,22]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/large","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",2],"minzoom":2,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[2,0.13],[8,0.5]]},"text-size":{"stops":[[2,11],[4,14],[6,22]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/x large","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",1],"minzoom":2,"maxzoom":8,"layout":{"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-line-height":1.5,"text-letter-spacing":{"stops":[[2,0.15],[6,0.5]]},"text-size":{"stops":[[2,11.5],[4,15],[6,23]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town small admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",16],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town large admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",13],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/small admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",10],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/medium admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",7],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":"#343434","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/large other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",5],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large admin2 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",2],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/large non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",6],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/large admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",4],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#2d2d2d"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",3],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large admin1 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",1],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",0],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#2d2d2d"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/2x large","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",0],"minzoom":2,"maxzoom":6,"layout":{"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-line-height":1.7,"text-letter-spacing":{"stops":[[2,0.3],[5,0.5]]},"text-size":{"stops":[[2,14],[4,22.5],[5,28]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Continent","type":"symbol","source":"esri","source-layer":"Continent","maxzoom":2,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[0,8.3],[1,10.3]]},"text-letter-spacing":0.35,"text-max-width":8,"text-line-height":1.75,"text-field":"{_name_global}","text-padding":1,"text-transform":"uppercase"},"paint":{"text-color":"#363636","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Disputed label point/Island","type":"symbol","source":"esri","source-layer":"Disputed label point","filter":["all",["==","_label_class",1],["in","DisputeID",0]],"minzoom":6,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[6,7],[15,10]]},"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name}","text-padding":1},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Disputed label point/Waterbody","type":"symbol","source":"esri","source-layer":"Disputed label point","filter":["all",["==","_label_class",0],["in","DisputeID",1006]],"minzoom":2,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[2,8],[6,9.3]]},"text-letter-spacing":0.1,"text-max-width":6,"text-field":"{_name}","text-padding":1},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Disputed label point/Admin0","type":"symbol","source":"esri","source-layer":"Disputed label point","filter":["all",["==","_label_class",2],["in","DisputeID",1021]],"minzoom":2,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[2,10],[4,14],[10,22]]},"text-letter-spacing":{"stops":[[2,0.13],[8,0.5]]},"text-max-width":8,"text-field":"{_name}","text-padding":1},"paint":{"text-color":"#1f1d1f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"mapillary-images","type":"circle","source":"mly","source-layer":"image","maxzoom":22,"minzoom":11,"filter":["all",["==","is_pano",true],["==","organization_id",518073312556755]],"layout":{"visibility":"visible"},"paint":{"circle-radius":{"base":1,"stops":[[13,0.1],[14,0.5],[17,2],[18.5,4],[19,7],[19.5,10]]},"circle-color":"rgba(20,20,120,0)"}},{"id":"mapillary-location","type":"symbol","source":"mapillary","layout":{"icon-rotate":["get","bearing"],"icon-rotation-alignment":"map","icon-image":"video"}},{"id":"parcels","type":"line","source":"parcels","source-layer":"parcels","minzoom":11,"layout":{"visibility":"visible"},"paint":{"line-color":{"stops":[[14,"#222"],[17,"#333"],[17.1,"#444"],[18,"#333"]]},"line-width":{"base":1,"stops":[[12,0.1],[14,0.75],[17,1.5],[20,4]]},"line-opacity":{"base":1,"stops":[[12,0],[12.1,0.5],[22,1]]}}},{"id":"parcels-highlight","type":"line","source":"parcels","source-layer":"parcels","minzoom":11,"filter":["==","parcelno",""],"layout":{"visibility":"visible"},"paint":{"line-color":"#feb70d","line-width":{"base":1,"stops":[[12,0.5],[14,2],[15,3],[22,10]]},"line-opacity":{"base":1,"stops":[[12,0],[12.1,0.1],[12.5,1],[22,1]]}}},{"id":"parcels-fill","type":"fill","source":"parcels","source-layer":"parcels","interactive":true,"minzoom":12,"layout":{"visibility":"visible"},"paint":{"fill-color":"rgba(0,0,0,0)"}}],"metadata":{"arcgisStyleUrl":"https://www.arcgis.com/sharing/rest/content/items/273bf8d5c8ac400183fc24e109d20bcf/resources/styles/root.json","arcgisOriginalItemTitle":"Community"}}'),h=e(521);class f extends HTMLElement{static get observedAttributes(){return["data-map-state","data-map-mode"]}constructor(){super();const t=this.attachShadow({mode:"open"});this.styles=document.createElement("style"),this.styles.textContent="#map-wrapper {\n position: relative;\n}\n\n#map {\n width: 100%;\n min-height: 50em;\n}\n\ncod-button {\n position: absolute;\n bottom: 0;\n right: 0;\n}\n\n@media all and (min-width: 1024px) {\n cod-button {\n top: 0;\n left: 0;\n bottom: auto;\n right: auto;\n }\n}\n",this.maplibreStyles=document.createElement("style"),this.maplibreStyles.textContent=h.Z,t.appendChild(this.maplibreStyles),t.appendChild(this.styles),this.mapWrapper=document.createElement("section"),this.mapWrapper.id="map-wrapper";const n=document.createElement("article");n.id="map",this.mapWrapper.appendChild(n),t.appendChild(this.mapWrapper),this.map=new(g().Map)({container:n,style:u,center:[-83.1,42.36],zoom:9})}attributeChangedCallback(t,n,e){switch(t){case"data-map-state":{const t=JSON.parse(this.getAttribute("data-location"));this.map.addControl(new(g().NavigationControl)),this.map.on("style.load",(()=>{if(this.map.resize(),t){const n=[t.location.x,t.location.y],e=new(g().Marker);e.setLngLat(n),e.addTo(this.map),this.map.flyTo({center:n,zoom:12,bearing:0,speed:1.5,curve:1,easing:function(t){return t},essential:!0})}const n=JSON.parse(this.getAttribute("data-map-data"));n&&(this.map.addSource("data-points",{type:"geojson",data:n.data}),this.map.addLayer({id:"data-points",type:"circle",source:"data-points",paint:{"circle-radius":{base:5,stops:[[12,5],[22,120]]},"circle-color":"#004544"}}))}));const n=this;this.map.on("click","data-points",(function(t){switch(n.getAttribute("data-map-mode")){case"my-home-info":const e=n.getAttribute("data-map-active-data");n.buildPopup(e,t.features[0],n,t);break;case"map-panel":const o=n.getAttribute("data-parent-component");console.log(o);const a=document.getElementsByTagName(o);console.log(a),a[0].setAttribute("data-panel-data",JSON.stringify(t.features[0])),a[0].setAttribute("data-app-state","active-panel")}})),this.map.on("mouseenter","data-points",(function(){n.map.getCanvas().style.cursor="pointer"})),this.map.on("mouseleave","data-points",(function(){n.map.getCanvas().style.cursor=""}));break}case"data-map-mode":switch(this.getAttribute("data-map-mode")){case"my-home-info":{const t=this.getAttribute("data-parent-component"),n=document.getElementsByTagName(t),e=document.createElement("cod-button");e.addEventListener("click",(()=>{n[0]&&n[0].setAttribute("data-app-state","results")})),e.setAttribute("data-primary",!0),e.setAttribute("data-label","x"),e.setAttribute("data-size","large"),e.setAttribute("data-hover",!1),e.setAttribute("data-background-color","warning"),e.setAttribute("data-img",""),e.setAttribute("data-img-alt",""),e.setAttribute("data-icon",""),e.setAttribute("data-shape","square"),e.setAttribute("data-extra-classes","fw-bold"),this.mapWrapper.appendChild(e),n[0]&&n[0].setAttribute("data-map-state","init");break}}break}}buildPopup(t,n,e,o){switch(t){case"schools":(new(g().Popup)).setLngLat(o.lngLat).setHTML("School Name: ".concat(o.features[0].properties.EntityOfficialName)).addTo(e.map);break;case"demos-data":(new(g().Popup)).setLngLat(o.lngLat).setHTML("Demo Address: ".concat(o.features[0].properties.address)).addTo(e.map);break;case"stabilization-data":(new(g().Popup)).setLngLat(o.lngLat).setHTML("Stabilization Address: ".concat(o.features[0].properties.address)).addTo(e.map);break;case"improve-det":(new(g().Popup)).setLngLat(o.lngLat).setHTML("Issue type: ".concat(o.features[0].properties.request_type_title)).addTo(e.map)}}}customElements.define("cod-map",f);const x=document.createElement("template");x.innerHTML="\n\n";class v extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(x.content.cloneNode(!0)),this.navbar=document.createElement("nav"),this.navbarContainer=document.createElement("div"),this.navbarToggle=document.createElement("div"),this.navbarBrand=document.createElement("div"),this.navbarCollapse=document.createElement("div"),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-NAVBAR-TOGGLE":"offcanvas"===this.getAttribute("data-target-toggle")&&t.setAttribute("data-target-toggle","offcanvas"),"true"===this.getAttribute("data-show")&&t.setAttribute("data-show",!0),this.navbarToggle.appendChild(t),this.navbarContainer.appendChild(this.navbarToggle);break;case"COD-NAVBAR-COLLAPSE":this.navbarCollapse.appendChild(t),this.navbarContainer.appendChild(this.navbarCollapse);break;case"COD-NAVBAR-BRAND":this.navbarBrand.appendChild(t),this.navbarContainer.appendChild(this.navbarBrand);break;case"COD-OFFCANVAS":{const n=this.getAttribute("data-expand");n&&t.setAttribute("data-expand",n),this.navbarContainer.appendChild(t);break}default:t.className.split(" ").includes("no-wc")&&t.remove();break}}))})),this.navbar.appendChild(this.navbarContainer);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".navbar-brand {\n padding-top: 0;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){if(this.navbarToggle.querySelector("cod-navbar-toggle").setAttribute("data-show",e),this.navbarToggle.setAttribute("aria-expanded",e),this.navbarCollapse.querySelector("cod-navbar-collapse")){const t=this.navbarCollapse.className.split(" "),n=t.pop();"show"!==n&&t.push(n),"true"===e&&t.push("show"),this.navbarCollapse.className=t.join(" ")}}connectedCallback(){const t=this.getAttribute("data-expand"),n=this.getAttribute("data-id"),e=this.getAttribute("data-show"),o=this.getAttribute("data-position"),a=this.getAttribute("data-extra-classes"),r=this.getAttribute("data-container-classes"),i=this.getAttribute("data-collapse-classes"),l=["navbar"],s=[""],d=["collapse navbar-collapse"];r&&s.push(r),a&&l.push(a),i&&d.push(i),o&&l.push(o);"true"===this.getAttribute("data-navbar-dark")&&l.push(["navbar-dark"]),t&&("always"===t?l.push("navbar-expand"):l.push("navbar-expand-".concat(t))),"true"===e?(this.navbarCollapseClasses.push("show"),this.navbarToggle.setAttribute("aria-expanded","true")):this.navbarToggle.setAttribute("aria-expanded","false"),n&&(this.navbar.id=n,this.navbarCollapse.id="".concat(n,"-collapse"),this.navbarToggle.setAttribute("data-bs-target","#".concat(n,"-collapse")),this.navbarToggle.setAttribute("aria-control","".concat(n,"-collapse")),this.navbarToggle.setAttribute("aria-label","".concat(n," toggle navigation"))),this.navbar.className=l.join(" "),this.navbarContainer.className=s.join(" "),this.navbarBrand.className=["navbar-brand"].join(" "),this.navbarToggle.className=["navbar-toggler"].join(" "),this.navbarToggle.setAttribute("data-bs-toggle","collapse"),this.navbarCollapse.className=d.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.navbar)}}customElements.define("cod-navbar",v);const y=document.createElement("template");y.innerHTML="\n\n";class w extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(y.content.cloneNode(!0)),this.offcanvas=document.createElement("div"),this.offcanvasBackdrop=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{"true"==this.getAttribute("data-show")&&t.setAttribute("data-show",!0),"COD-OFFCANVAS-HEADER"==t.tagName&&("true"==this.getAttribute("data-button-dark")&&t.setAttribute("data-button-dark",!0),t.setAttribute("data-parent-id",this.getAttribute("data-id")));const n=this.getAttribute("data-expand");n&&t.setAttribute("data-expand",n),t.className.split(" ").includes("no-wc")?t.remove():this.offcanvas.appendChild(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){let o=this.offcanvas.className.split(" "),a=o.pop();"show"!=a&&o.push(a),"true"==e?(o.push("show"),"false"!=this.getAttribute("data-backdrop")&&("true"!=this.getAttribute("data-static")&&this.offcanvasBackdrop.addEventListener("click",this._onClick),this.shadowRoot.appendChild(this.offcanvasBackdrop))):this.shadowRoot.querySelector("div.offcanvas-backdrop")&&this.shadowRoot.removeChild(this.offcanvasBackdrop),this.offcanvas.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-show"),n=this.getAttribute("data-placement"),e=this.getAttribute("data-id"),o=this.getAttribute("data-backdrop"),a=this.getAttribute("data-backdrop-extra-classes"),r=this.getAttribute("data-scroll"),i=this.getAttribute("data-static"),l=this.getAttribute("data-extra-classes"),s=["offcanvas"],d=["offcanvas-backdrop fade show"];"true"==t&&s.push("show"),"false"==o&&this.offcanvas.setAttribute("data-bs-backdrop",!1),"true"==r&&this.offcanvas.setAttribute("data-bs-scroll",!0),"true"==i&&this.offcanvas.setAttribute("data-bs-backdrop","static"),void 0!=a&&null!=a&&d.push(a),void 0!=l&&null!=l&&s.push(l),void 0!=n&&null!=n?s.push("offcanvas-".concat(n)):s.push("offcanvas-start");const c=this.getAttribute("data-expand");c&&("always"===c?s.push("navbar-expand"):s.push("navbar-expand-".concat(c))),void 0!=e&&null!=e&&(this.offcanvas.id=e,this.offcanvas.setAttribute("aria-labelledby","".concat(e,"-label"))),this.offcanvas.setAttribute("tabindex",-1),this.offcanvas.className=s.join(" "),this.offcanvasBackdrop.className=d.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.offcanvas)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-offcanvas",w);const k=document.createElement("template");k.innerHTML="\n\n";class z extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(k.content.cloneNode(!0)),this.tableContainer=document.createElement("div"),this.table=document.createElement("table"),this.tableContainer.appendChild(this.table),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-TABLE-HEADER":"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),"true"===this.getAttribute("data-stacked")&&t.setIsStacked(!0,"true"===this.getAttribute("data-label-block")),this.table.appendChild(t);break;case"COD-TABLE-BODY":"true"==this.getAttribute("data-hover")&&t.setAttribute("data-hover","true"),"true"==this.getAttribute("data-striped-row")&&t.setAttribute("data-striped-row","true"),"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),"true"===this.getAttribute("data-stacked")&&t.setIsStacked(!0,"true"===this.getAttribute("data-label-block")),this.table.appendChild(t);break;default:t.className.split(" ").includes("no-wc")&&t.remove()}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-id"),n=this.getAttribute("data-extra-classes"),e=["table"];void 0!=n&&null!=n&&e.push(n),void 0!=t&&null!=t&&(this.table.id=t),"true"===this.getAttribute("data-scrollable")&&(this.tableContainer.className="table-responsive"),this.table.className=e.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.tableContainer)}}customElements.define("cod-table",z);const C=document.createElement("template");C.innerHTML="\n\n";class E extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(C.content.cloneNode(!0)),this.accordion=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{t.target.assignedElements().forEach(((t,n)=>{if("COD-ACCORDION-ITEM"===t.tagName){let e=document.createElement("div");e.className="accordion-item",t.setAttribute("data-parent-id",this.getAttribute("data-id")),t.setAttribute("data-index",n),null!==this.getAttribute("data-ol")&&t.setAttribute("data-li",""),e.appendChild(t),this.accordion.append(e)}else{t.className.split(" ").includes("no-wc")?t.remove():this.card.appendChild(t)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".accordion-ol {\n --bs-accordion-btn-padding-x: 0rem;\n --bs-accordion-btn-padding-y: 0rem;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-flush");const n=this.getAttribute("data-ol");let e=this.getAttribute("data-id"),o=this.getAttribute("data-extra-classes"),a=["accordion"];"true"==t&&a.push("accordion-flush"),null!==n&&a.push("accordion-ol"),void 0!=o&&null!=o&&a.push(o),this.accordion.className=a.join(" "),this.accordion.id=e,this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.accordion)}}customElements.define("cod-accordion",E);const A=document.createElement("template");A.innerHTML="\n
\n\n";class _ extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(A.content.cloneNode(!0)),this.btnGroup=t.querySelector("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{t.className.split(" ").includes("no-wc")?t.remove():this.btnGroup.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-type"),n=this.getAttribute("data-label"),e=this.getAttribute("data-size"),o=this.getAttribute("data-vertical"),a=this.getAttribute("data-extra-classes");this.btnGroup.role="group"==t?"group":"toolbar",void 0!=e&&null!=e&&(e="btn-group-".concat(e)),"true"==o&&(o="btn-group-vertical"),this.btnGroup.setAttribute("aria-label",n),this.btnGroup.className=["btn-".concat(t),"".concat(e||""),"".concat(o||""),"".concat(a||"")].join(" ")}}customElements.define("cod-button-group",_);const R=document.createElement("template");R.innerHTML="\n\n";class B extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(R.content.cloneNode(!0)),this.dropdown=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{t.className.split(" ").includes("no-wc")?t.remove():this.dropdown.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-split");t="true"===t?"btn-group":"dropdown",this.dropdown.className=t,this.querySelector('cod-button[data-bs-toggle="dropdown"]')&&this.querySelector('cod-button[data-bs-toggle="dropdown"]').addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.dropdown)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){"dropdown"===t.target.getAttribute("data-bs-toggle")&&("true"===this.getAttribute("aria-expanded")?(this.setAttribute("aria-expanded","false"),this.parentElement.querySelector("cod-dropdown-menu").setAttribute("data-show","false")):(this.setAttribute("aria-expanded","true"),this.parentElement.querySelector("cod-dropdown-menu").setAttribute("data-show","true")))}}customElements.define("cod-dropdown",B);const L=document.createElement("template");L.innerHTML="\n\n";const S=40,M=37,N=39,j=32,F=38,T=36,H=35;class V extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"}).appendChild(L.content.cloneNode(!0))}connectedCallback(){this.hasAttribute("role")||("radio"==this.getAttribute("data-type")?this.setAttribute("role","radiogroup"):this.setAttribute("role","group"));let t=this.checkedFormCheck;t?(this._uncheckAll(),this._checkNode(t)):this.querySelector("cod-form-check").setAttribute("tabindex",0),this.addEventListener("keydown",this._onKeyDown),this.addEventListener("click",this._onClick)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown),this.removeEventListener("click",this._onClick)}_onKeyDown(t){switch(t.keyCode){case F:case M:t.preventDefault(),this._setCheckedToPrevButton();break;case S:case N:t.preventDefault(),this._setCheckedToNextButton();break;case T:t.preventDefault(),this._setChecked(this.firstFormCheck);break;case H:t.preventDefault(),this._setChecked(this.lastFormCheck);break;case j:t.preventDefault(),"cod-form-check"===t.target.tagName.toLowerCase()&&this._setChecked(t.target)}}get checkedFormCheck(){return this.querySelector('[data-checked="true"]')}get firstFormCheck(){return this.querySelector("cod-form-check:first-of-type")}get lastFormCheck(){return this.querySelector("cod-form-check:last-of-type")}_prevFormCheck(t){let n=t.previousElementSibling;for(;n;){if("radio"===n.getAttribute("data-type")||"checkbox"===n.getAttribute("data-type"))return n;n=n.previousElementSibling}return null}_nextFormCheck(t){let n=t.nextElementSibling;for(;n;){if("radio"===n.getAttribute("data-type")||"checkbox"===prev.getAttribute("data-type"))return n;n=n.nextElementSibling}return null}_setCheckedToPrevButton(){let t=this.checkedFormCheck||this.firstFormCheck;t===this.firstFormCheck?this._setChecked(this.lastFormCheck):this._setChecked(this._prevFormCheck(t))}_setCheckedToNextButton(){let t=this.checkedRadioButton||this.firstFormCheck;t===this.lastFormCheck?this._setChecked(this.firstFormCheck):this._setChecked(this._nextFormCheck(t))}_setChecked(t){this._uncheckAll(),this._checkNode(t),this._focusNode(t)}_uncheckAll(){const t=this.querySelectorAll("cod-form-check");for(let n=0;n\n";class P extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(D.content.cloneNode(!0)),this.listGroup=null;const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-tag"),n=this.getAttribute("data-flushed"),e=this.getAttribute("data-numbered"),o=this.getAttribute("data-horizontal"),a=this.getAttribute("data-extra-classes");this.listGroup=document.createElement(t),n="true"==n?"list-group-flush":null,e="true"==e?"list-group-numbered":null,o="true"==o?"list-group-horizontal":null,this.listGroup.className=["list-group","".concat(n||""),"".concat(e||""),"".concat(o||""),"".concat(a||"")].join(" "),this.shadowRoot.querySelector(t)||(this.shadowRoot.addEventListener("slotchange",(t=>{let a=Array.from(this.children),r=a.length;a.forEach(((t,a)=>{let i=null;switch(a){case 0:t.setAttribute("data-order","first");break;case r-1:t.setAttribute("data-order","last");break;default:t.setAttribute("data-order","middle")}n&&(i="".concat(n," ")),e&&(i="".concat(e," "),t.setAttribute("data-order-index",a+1)),o&&(i="".concat(o," ")),i&&t.setAttribute("data-parent-classes",i),t.className.split(" ").includes("no-wc")?t.remove():this.listGroup.append(t)}))})),this.shadowRoot.appendChild(this.listGroup))}}customElements.define("cod-listgroup",P);const I=document.createElement("template");I.innerHTML="\n\n";class W extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(I.content.cloneNode(!0)),this.nav=document.createElement("ul"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{const n=document.createElement("li");n.className="nav-item",n.appendChild(t),this.nav.append(n);t.className.split(" ").includes("no-wc")?t.remove():this.nav.append(n)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".nav-item {\n font-family: var(--font-family);\n}\n\n.navbar-nav .nav-link {\n --bs-nav-link-padding-x: 0.75em;\n --bs-btn-padding-x: var(--bs-nav-link-padding-x);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-vertical"),n=this.getAttribute("data-horizontal-alignment"),e=this.getAttribute("data-tabs"),o=this.getAttribute("data-pills"),a=this.getAttribute("data-underline"),r=this.getAttribute("data-fill"),i=this.getAttribute("data-justified"),l=this.getAttribute("data-extra-classes"),s=["nav"],d=this.getAttribute("data-expand");d&&("always"===d?s.push("navbar-expand"):s.push("navbar-expand-".concat(d))),"true"===t&&s.push("flex-column"),"true"===e&&s.push("nav-tabs"),"true"===o&&s.push("nav-pills"),"true"===a&&s.push("nav-underline"),"true"===r&&s.push("nav-fill"),"true"===i&&s.push("nav-justified"),n&&s.push("justify-content-".concat(n)),l&&s.push(l),this.nav.className=s.join(" "),this.shadowRoot.querySelector("ul")||this.shadowRoot.appendChild(this.nav)}}customElements.define("cod-nav",W);const G=document.createElement("template");G.innerHTML="\n\n";class q extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(G.content.cloneNode(!0)),this.paginationContainer=document.createElement("nav"),this.pagination=document.createElement("ul"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{let e=document.createElement("li"),o=["page-item"];"true"==t.getAttribute("data-active")&&(o.push("active"),e.setAttribute("aria-current","page")),"true"==t.getAttribute("data-disabled")&&(o.push("disabled"),e.setAttribute("tabindex","-1")),e.className=o.join(" "),t.setAttribute("data-index",n),e.appendChild(t),t.className.split(" ").includes("no-wc")?t.remove():this.pagination.append(e)}))})),this.paginationContainer.appendChild(this.pagination);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-label"),n=this.getAttribute("data-id"),e=this.getAttribute("data-size"),o=this.getAttribute("data-extra-classes"),a=["pagination"];void 0!=e&&null!=e&&a.push("pagination-".concat(e)),void 0!=o&&null!=o&&a.push(o),void 0!=n&&null!=n&&(this.paginationContainer.id=n),this.paginationContainer.setAttribute("aria-label",t),this.pagination.className=a.join(" "),this.shadowRoot.querySelector("nav")||this.shadowRoot.appendChild(this.paginationContainer)}}customElements.define("cod-pagination",q);const O=document.createElement("template");O.innerHTML="\n\n";class U extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(O.content.cloneNode(!0)),this.accordionBody=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.accordionBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".accordion-body.data-li {\n border-left: 3px solid;\n border-color: var(--color-1);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-extra-classes"),n=["accordion-body"];null!==this.getAttribute("data-li")&&n.push("data-li"),void 0!=t&&null!=t&&n.push(t),this.accordionBody.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.accordionBody)}}customElements.define("cod-accordion-body",U);const Z=document.createElement("template");Z.innerHTML="\n\n";class Y extends HTMLElement{static get observedAttributes(){return["data-expanded"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Z.content.cloneNode(!0)),this.accordionHeader=document.createElement("div"),this.accordionBtn=document.createElement("button"),this.accordionHeader.appendChild(this.accordionBtn),this.shadowRoot.addEventListener("slotchange",(t=>{t.target.assignedElements().forEach((t=>{this.accordionBtn.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".li-num-box {\n /* TODO: Dynamically update list numbers to match accordion\n header text styles */\n width: 3rem;\n height: 3rem;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 2rem;\n}\n\n.accordion-button.data-li {\n padding-right: 1rem;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){this.accordionBtn.setAttribute("aria-expanded",e);let o=this.accordionBtn.className.split(" "),a=o.pop();"collapsed"!=a&&o.push(a),"false"==e&&o.push("collapsed"),this.accordionBtn.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-expanded"),e=this.getAttribute("data-extra-classes");let o=["accordion-button"];null!==this.getAttribute("data-li")&&o.push("data-li"),this.accordionBtn.setAttribute("type","button"),this.accordionBtn.setAttribute("data-bs-toggle","collapse"),this.accordionBtn.setAttribute("aria-controls",t),this.accordionBtn.setAttribute("data-bs-target","#".concat(t)),"true"==n?this.accordionBtn.setAttribute("aria-expanded","true"):(o.push("collapsed"),this.accordionBtn.setAttribute("aria-expanded","false")),void 0!=e&&null!=e&&o.push(e),this.accordionBtn.className=o.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.accordionHeader)}addListNumber(t,n){const e=document.createElement("div");e.innerText="".concat(t+1),n.push("li-num-box"),e.className=n.join(" "),this.accordionBtn.prepend(e)}}customElements.define("cod-accordion-header",Y);const X=document.createElement("template");X.innerHTML="\n\n";class J extends HTMLElement{static get observedAttributes(){return["data-expanded"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(X.content.cloneNode(!0)),this.accordionHeader=document.createElement("div"),this.accordionBody=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{t.target.assignedElements().forEach((t=>{if(t.setAttribute("data-parent-id","".concat(this.getAttribute("data-parent-id"),"-").concat(this.getAttribute("data-index"))),"true"==this.getAttribute("data-expanded")&&t.setAttribute("data-expanded",!0),"COD-ACCORDION-HEADER"==t.tagName){if(null!==this.getAttribute("data-li")){t.setAttribute("data-li","");const n=this.getHeaderListItemClasses();t.addListNumber(Number(this.getAttribute("data-index")),n)}this.accordionHeader.append(t)}else this.accordionBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){this.accordionHeader.querySelector("cod-accordion-header").setAttribute("data-expanded",e),this.accordionBody.querySelector("cod-accordion-body").setAttribute("data-expanded",e);let o=this.accordionBody.className.split(" "),a=o.pop();"show"!=a&&o.push(a),"true"==e&&o.push("show"),this.accordionBody.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-index"),e=["accordion-collapse collapse"];"true"==this.getAttribute("data-expanded")&&e.push("show"),null!==this.getAttribute("data-li")&&(e=e.concat(this.getBodyListItemClasses())),this.accordionBody.id="".concat(t,"-").concat(n),this.accordionHeader.className=["accordion-header"].join(" "),this.accordionBody.className=e.join(" "),this.querySelector("cod-accordion-header")&&this.querySelector("cod-accordion-header").addEventListener("click",this._onClick),this.shadowRoot.querySelector("ul")||(this.shadowRoot.appendChild(this.accordionHeader),this.shadowRoot.appendChild(this.accordionBody))}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}getListItemBackgroundColor(){const t=this.getAttribute("data-li-bg");return null!==t?t:"primary"}getListItemTextColor(){const t=this.getAttribute("data-li-text");return null!==t?t:"light"}getHeaderListItemClasses(){return["li-bg-"+this.getListItemBackgroundColor(),"text-"+this.getListItemTextColor()]}getBodyListItemClasses(){return["border-start","border-"+this.getListItemBackgroundColor()]}_onClick(t){"true"==t.target.getAttribute("data-expanded")?this.getRootNode().host.setAttribute("data-expanded","false"):this.getRootNode().host.setAttribute("data-expanded","true")}}customElements.define("cod-accordion-item",J);const K=document.createElement("template");K.innerHTML="\n\n";class $ extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(K.content.cloneNode(!0)),this.alert=document.createElement("div");const n=document.createElement("div");n.id="alert-content",this.alert.appendChild(n),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{t.className.split(" ").includes("no-wc")?t.remove():this.alert.querySelector("#alert-content").append(t)}))}))}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".alert {\n font-family: var(--font-family);\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-icon"),i=this.getAttribute("data-icon-order"),l=this.getAttribute("data-icon-size"),s=this.getAttribute("data-background-color"),d=this.getAttribute("data-extra-classes");this.alert.role="alert";let c="";if(void 0!=r&&null!=r){this.alert.querySelector("#alert-content").className="col";let t=document.createElement("cod-icon");t.setAttribute("data-icon",r),t.setAttribute("data-size",l);let n=document.createElement("div");switch(n.appendChild(t),c="d-flex",i){case"left":n.className="pe-2 m-0",this.alert.insertBefore(n,this.alert.querySelector("#alert-content"));break;case"right":n.className="ps-2 m-0",this.alert.appendChild(n)}}this.alert.className=["alert","alert-".concat(s||""),"".concat(d||""),c].join(" "),this.shadowRoot.appendChild(this.alert)}}customElements.define("cod-alert",$);class Q extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".badge {\n font-family: var(--font-family);\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-tag"),i=this.getAttribute("data-background-color"),l=this.getAttribute("data-text"),s=this.getAttribute("data-hidden-text"),d=this.getAttribute("data-pill"),c=this.getAttribute("data-url"),m=this.getAttribute("data-extra-classes"),b=null;if(d="true"==d?"rounded-pill":"",void 0!=c||null!=c?(b=document.createElement("a"),b.href=c):b=document.createElement(r),b.innerText=l,void 0!=s||null!=s){const t=document.createElement("span");t.className="visually-hidden",t.innerText=s,b.appendChild(t)}b.className=["badge","text-bg-".concat(i||""),"".concat(d||""),"".concat(m||"")].join(" "),this.shadowRoot.querySelector(r)||this.shadowRoot.appendChild(b)}}customElements.define("cod-badge",Q);const tt=document.createElement("template");tt.innerHTML='\n\n\n';class nt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(tt.content.cloneNode(!0)),this.nav=t.querySelector("nav"),this.breadcrumb=t.querySelector("ol"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{if(t.className.split(" ").includes("no-wc"))t.remove();else{let t=this.querySelector("li");t&&this.breadcrumb.append(t)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-no-divider"),n=this.getAttribute("data-svg-divider");"true"==t&&(this.nav.style.cssText="--bs-breadcrumb-divider: '';"),void 0==n&&null==n||(this.nav.style.cssText="--bs-breadcrumb-divider: url(".concat(n,");")),this.shadowRoot.appendChild(this.nav)}}customElements.define("cod-breadcrumb",nt);class et extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const t=this.getAttribute("data-close"),n=this.getAttribute("data-link"),e=this.getAttribute("data-id"),r=this.getAttribute("data-aria-label"),i=this.getAttribute("data-primary"),l=this.getAttribute("data-background-color"),s=this.getAttribute("data-shape"),d=this.getAttribute("data-icon"),c=this.getAttribute("data-icon-size"),m=this.getAttribute("data-icon-order"),b=this.getAttribute("data-hidden-label"),p=this.getAttribute("data-img"),g=this.getAttribute("data-img-alt"),u=this.getAttribute("data-size"),h=this.getAttribute("data-extra-classes"),f=this.getAttribute("data-label"),x=this.getAttribute("data-disable"),v=document.createElement("button"),y=["btn"];if(v.type="button",e&&(v.id=e),v.disabled="true"===x,v.setAttribute("aria-label","".concat(r||"")),"true"===i?y.push("btn-".concat(l)):"false"===i&&y.push("btn-outline-".concat(l)),"square"===s?y.push("cod-button--square"):y.push("cod-button-fluid"),null!==u&&y.push("btn-".concat(u)),null!==h&&y.push(h),g?y.push("cod-button--img"):y.push("cod-button--not-img"),"true"===t&&y.push("btn-close"),v.className=y.join(" "),d){const t=document.createElement("span"),n=document.createElement("cod-icon");n.setAttribute("data-icon",d),n.setAttribute("data-size",c),t.appendChild(n),v.innerText=f,"left"===m?v.insertBefore(t,v.firstChild):v.appendChild(t)}else if(g){v.innerText=f;const t=document.createElement("img");t.src=p,t.setAttribute("alt",g),v.appendChild(t)}else v.innerText=f;if(null!==b){const t=document.createElement("span");t.className="visually-hidden",t.innerText=b,v.appendChild(t)}if(!this.shadowRoot.querySelector("button")){const t=document.createElement("style");t.textContent=a,this.shadowRoot.appendChild(t);const e=document.createElement("style");e.textContent=o,this.shadowRoot.appendChild(e);const r=document.createElement("style");if(r.textContent=".btn {\n font-family: var(--font-family);\n border-radius: 0;\n}\n\n.cod-button--xsmall.cod-button--fluid {\n font-size: 0.85em;\n padding: 0.25em;\n}\n\n.cod-button--small.cod-button--fluid {\n font-size: 1em;\n padding: 0.8em 1.1em;\n}\n\n.cod-button--medium.cod-button--fluid {\n font-size: 1.1em;\n padding: 0.75em 1.25em;\n}\n\n.cod-button--large.cod-button--fluid {\n font-size: 1.2em;\n padding: 1em 2em;\n}\n\n.btn.cod-button--square {\n font-size: 1.1em;\n height: 2.5em;\n width: 2.5em;\n}\n\n.btn.cod-button--square.close {\n --bs-btn-close-bg: url(\n data:image/svg + xml,\n %3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0 0 16 16'fill='%23000'%3e%3cpathd='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\n );\n background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n}\n\n.btn-sm.cod-button--square {\n font-size: 1em;\n height: 2em;\n width: 2em;\n}\n\n.btn-lg.cod-button--square {\n font-size: 1.2em;\n height: 3em;\n width: 3em;\n}\n\n.cod-button--img {\n display: flex;\n}\n\n.cod-button--square.cod-button--img {\n padding: 1px 6px;\n}\n\n.cod-button--img img {\n height: 1em;\n margin-left: 0.5em;\n position: relative;\n top: 0.1em;\n}\n\n.cod-button--square.cod-button--img img {\n height: auto;\n max-width: 100%;\n margin: auto;\n top: 0;\n}\n\ncod-icon {\n position: relative;\n top: 0.1em;\n margin: 0 0.5em;\n}\n",this.shadowRoot.appendChild(r),n){const t=document.createElement("a");t.href=n,t.appendChild(v),this.shadowRoot.appendChild(t)}else{this.shadowRoot.appendChild(v);const t=this.appendChild(document.createElement("button"));this.onclick=()=>t.click()}}}}customElements.define("cod-button",et);const ot=document.createElement("template");ot.innerHTML="\n\n";class at extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(ot.content.cloneNode(!0)),this.cardBody=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardBody)}}customElements.define("cod-card-body",at);const rt=document.createElement("template");rt.innerHTML="\n\n";class it extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(rt.content.cloneNode(!0)),this.cardFooter=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardFooter.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardFooter)}}customElements.define("cod-card-footer",it);const lt=document.createElement("template");lt.innerHTML="\n\n";class st extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(lt.content.cloneNode(!0)),this.cardHeader=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardHeader.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardHeader)}}customElements.define("cod-card-header",st);const dt=document.createElement("template");dt.innerHTML="\n\n";class ct extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(dt.content.cloneNode(!0)),this.cardOverlay=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardOverlay.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardOverlay)}}customElements.define("cod-card-overlay",ct);const mt=document.createElement("template");mt.innerHTML="\n\n";class bt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(mt.content.cloneNode(!0)),this.carouselCaption=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.carouselCaption.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-extra-classes"),n=["carousel-caption d-none d-md-block"];void 0!=t&&null!=t&&n.push(t),this.carouselCaption.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.carouselCaption)}}customElements.define("cod-carousel-caption",bt);const pt=document.createElement("template");pt.innerHTML="\n\n";class gt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(pt.content.cloneNode(!0)),this.carouselItem=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.carouselItem.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.carouselItem)}}customElements.define("cod-carousel-item",gt);const ut=document.createElement("template");ut.innerHTML="\n\n";class ht extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){this.shadowRoot.addEventListener("slotchange",(t=>{const n=t.target.assignedElements();n.forEach((t=>{if("function"===typeof t.setIsClickable){const n=this.getAttribute("data-btn-color");t.setIsClickable(!0,n)}})),this.clickable.append(...n)})),this.clickable=document.createElement("a");const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".btn {\n --bs-btn-padding-x: 0;\n --bs-btn-padding-y: 0;\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);const r=this.getAttribute("href");this.clickable.setAttribute("href",r);const i=this.getAttribute("target");this.clickable.setAttribute("target",i);const l=this.getAttribute("data-btn-color");this.clickable.classList.add("btn",l),this.clickable.appendChild(ut.content.cloneNode(!0)),this.shadowRoot.appendChild(this.clickable)}}customElements.define("cod-clickable",ht);const ft=document.createElement("template");ft.innerHTML="\n\n";class xt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(ft.content.cloneNode(!0)),this.container=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.container.append(t)}))}))}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".container.color-1,\n.container-fluid.color-1,\n.container-xxl.color-1,\n.container-xl.color-1,\n.container-lg.color-1,\n.container-md.color-1,\n.container-sm.color-1 {\n background-color: var(--color-1);\n color: var(--color-light);\n}\n\n.container.color-2,\n.container-fluid.color-2,\n.container-xxl.color-2,\n.container-xl.color-2,\n.container-lg.color-2,\n.container-md.color-2,\n.container-sm.color-2 {\n background-color: var(--color-2);\n color: var(--color-1);\n}\n\n.container.color-3,\n.container-fluid.color-3,\n.container-xxl.color-3,\n.container-xl.color-3,\n.container-lg.color-3,\n.container-md.color-3,\n.container-sm.color-3 {\n background-color: var(--color-3);\n color: var(--color-dark);\n}\n\n.container.color-4,\n.container-fluid.color-4,\n.container-xxl.color-4,\n.container-xl.color-4,\n.container-lg.color-4,\n.container-md.color-4,\n.container-sm.color-4 {\n background-color: var(--color-4);\n color: var(--color-light);\n}\n\n.container.color-5,\n.container-fluid.color-5,\n.container-xxl.color-5,\n.container-xl.color-5,\n.container-lg.color-5,\n.container-md.color-5,\n.container-sm.color-5 {\n background-color: var(--color-5);\n color: var(--color-dark);\n}\n\n.container.color-light,\n.container-fluid.color-light,\n.container-xxl.color-light,\n.container-xl.color-light,\n.container-lg.color-light,\n.container-md.color-light,\n.container-sm.color-light {\n background-color: var(--color-light);\n color: var(--color-dark);\n}\n\n.container.color-dark,\n.container-fluid.color-dark,\n.container-xxl.color-dark,\n.container-xl.color-dark,\n.container-lg.color-dark,\n.container-md.color-dark,\n.container-sm.color-dark {\n background-color: var(--color-dark);\n color: var(--color-light);\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-type"),i=this.getAttribute("data-text"),l=this.getAttribute("data-background-color"),s=this.getAttribute("data-extra-classes");this.container.className=[r,"".concat(l||""),"".concat(s||"")].join(" "),this.container.innerText=i,this.shadowRoot.appendChild(this.container)}}customElements.define("cod-container",xt);const vt=document.createElement("template");vt.innerHTML="\n\n";class yt extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(vt.content.cloneNode(!0)),this.dropdownMenu=document.createElement("ul"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.dropdownMenu.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){console.log(e);let o=this.dropdownMenu.className.split(" "),a=o.pop();"show"!=a&&o.push(a),console.log(o),"true"==e&&o.push("show"),this.dropdownMenu.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-dark-mode"),n=this.getAttribute("data-alignment"),e=this.getAttribute("data-show"),o=["dropdown-menu"];"true"==t&&o.push("dropdown-menu-dark"),void 0!=n&&null!=n&&o.push("dropdown-menu-".concat(n)),"true"==e&&o.push("show"),this.dropdownMenu.className=o.join(" "),this.shadowRoot.querySelector("ul")||this.shadowRoot.appendChild(this.dropdownMenu)}}customElements.define("cod-dropdown-menu",yt);var wt=e(572);class kt extends HTMLElement{static get observedAttributes(){return["data-invalid","data-checked","data-required"]}constructor(){super();this.attachShadow({mode:"open"});this.internals=this.attachInternals(),this.container=document.createElement("div"),this.formCheck=document.createElement("input"),this.formCheckLabel=null,this.invalid=!1,this.pristine=!0}attributeChangedCallback(t,n,e){let o=this.formCheck.className.split(" "),a=o.pop();switch("is-invalid"!=a&&o.push(a),e){case"true":switch(t){case"data-invalid":o.push("is-invalid"),this.formCheck.className=o.join(" ");break;case"data-checked":this.formCheck.checked=!0,this.formCheck.setAttribute("aria-checked","true");break;case"data-required":this.formCheck.required=!0,this.validateInput()}break;case"false":switch(t){case"data-invalid":this.formCheck.className=o.join(" ");break;case"data-checked":this.formCheck.checked=!1,this.formCheck.setAttribute("aria-checked","false");break;case"data-required":this.formCheck.required=!1,this.validateInput()}}}connectedCallback(){let t=this.getAttribute("data-type"),n=this.getAttribute("data-id"),e=this.getAttribute("data-value"),r=this.getAttribute("data-name"),i=this.getAttribute("data-disabled"),l=this.getAttribute("data-required"),s=this.getAttribute("data-checked"),d=this.getAttribute("data-mode"),c=this.getAttribute("data-nolabel"),m=this.getAttribute("data-label"),b=this.getAttribute("data-extra-classes"),p=this.getAttribute("data-background-color"),g=this.getAttribute("data-btn-color");if(this.formCheck.id=n,this.formCheck.type=t,this.formCheck.value=e,this.formCheck.name=r,this.formCheck.setAttribute("autocomplete","off"),"true"==l&&this.formCheck.setAttribute("required",!0),"true"==s?(this.formCheck.checked=!0,this.formCheck.setAttribute("aria-checked","true")):this.formCheck.setAttribute("aria-checked","false"),"true"==i&&this.formCheck.setAttribute("disabled",!0),"switch"==d&&this.formCheck.setAttribute("role",d),"btn"==d||"btn-outline"==d?(this.formCheck.className="btn-check",d=null):this.formCheck.className="form-check-input",!this.shadowRoot.querySelector("div")){const t=document.createElement("style");t.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");if(r.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(r),this.container.className=["form-check","form-".concat(d||""),"bg-".concat(p||""),"".concat(b||"")].join(" "),this.container.appendChild(this.formCheck),"true"!=c){const t=document.createElement("label");t.setAttribute("for",n),t.innerText=m,"btn"!=this.getAttribute("data-mode")&&"btn-outline"!=this.getAttribute("data-mode")||(t.className="btn ".concat(this.getAttribute("data-mode"),"-").concat(g)),this.container.appendChild(t)}this.shadowRoot.appendChild(this.container)}this.formCheck.addEventListener("change",(t=>{this.setAttribute("data-invalid",!1);const n=new t.constructor(t.type,t);this.dispatchEvent(n),this.validateInput()})),this.addEventListener("invalid",(t=>{this.invalid=!0,this.pristine=!1,this.setAttribute("data-invalid",!0),this.customErrorDisplay&&t.preventDefault()})),this.addEventListener("focus",(()=>this.formCheck.focus())),this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.validateInput()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}validateInput(){const t=this.formCheck.validity;if(this.invalid=!1,t.valid)this.internals.setValidity({}),this.setAttribute("data-invalid",!1);else for(let n in t){const e="data-".concat(n.toString());if(t[n]){this.validationError=n.toString(),this.invalid=!this.pristine&&!t.valid;const o=this.hasAttribute(e)?this.getAttribute(e):this.formCheck.validationMessage;this.internals.setValidity({[this.validationError]:!0},o),this.invalid&&this.customErrorDisplay&&this.dispatchEvent(new Event("invalid"))}}}}(0,wt.Z)(kt,"formAssociated",!0),customElements.define("cod-form-check",kt);class zt extends HTMLElement{static get observedAttributes(){return["data-invalid"]}constructor(){super();this.attachShadow({mode:"open"});this.internals=this.attachInternals(),this.formControl=null,this.invalid=!1,this.pristine=!0}attributeChangedCallback(t,n,e){let o=this.formControl.className.split(" "),a=o.pop();switch("is-invalid"!=a&&o.push(a),e){case"true":console.log("invalid input"),o.push("is-invalid"),this.formControl.className=o.join(" ");break;case"false":this.formControl.className=o.join(" ")}}connectedCallback(){let t=this.getAttribute("data-tag"),n=this.getAttribute("data-type"),e=this.getAttribute("data-id"),r=this.getAttribute("data-minlength"),i=this.getAttribute("data-maxlength"),l=this.getAttribute("data-pattern"),s=this.getAttribute("data-placeholder-txt"),d=this.getAttribute("data-read-only"),c=this.getAttribute("data-disabled"),m=this.getAttribute("data-plain-txt"),b=this.getAttribute("data-required"),p=this.getAttribute("data-rows"),g=this.getAttribute("data-size"),u=this.getAttribute("data-value"),h=this.getAttribute("data-background-color");const f=document.createElement(t);let x;if(f.id=e,f.placeholder=s,"true"==b&&f.setAttribute("required",!0),"textarea"!=t&&(f.type=n),void 0!=r&&null!=r&&f.setAttribute("minlength",r),void 0!=i&&null!=i&&f.setAttribute("maxlength",i),void 0!=l&&null!=l&&f.setAttribute("pattern",l),void 0!=p&&null!=p&&f.setAttribute("rows",p),void 0!=u&&null!=u&&(f.value=u),"true"==d&&f.setAttribute("readonly",!0),"true"==c&&f.setAttribute("disabled",!0),x="color"==n?n:"",f.className=["form-control","form-control-".concat(g||""),"form-control-".concat(x||""),"bg-".concat(h||""),"form-control-".concat(m||"")].join(" "),f.addEventListener("change",(t=>{this.setAttribute("data-invalid",!1);const n=new t.constructor(t.type,t);this.dispatchEvent(n),this.validateInput()})),this.addEventListener("invalid",(t=>{this.invalid=!0,this.pristine=!1,this.setAttribute("data-invalid",!0),this.customErrorDisplay&&t.preventDefault()})),this.addEventListener("focus",(()=>f.focus())),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),!this.shadowRoot.querySelector(t)){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".form-control {\n border-radius: 0;\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(f),this.formControl=f}this.validateInput()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}validateInput(){const t=this.formControl.validity;if(this.invalid=!1,t.valid)this.internals.setValidity({});else for(let n in t){const e="data-".concat(n.toString());if(t[n]){this.validationError=n.toString(),this.invalid=!this.pristine&&!t.valid;const o=this.hasAttribute(e)?this.getAttribute(e):this.formControl.validationMessage;this.internals.setValidity({[this.validationError]:!0},o),this.invalid&&this.customErrorDisplay&&this.dispatchEvent(new Event("invalid"))}}}}(0,wt.Z)(zt,"formAssociated",!0),customElements.define("cod-form-control",zt);class Ct extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){let t=this.getAttribute("data-input-id"),n=this.getAttribute("data-hidden"),e=this.getAttribute("data-color"),r=this.getAttribute("data-required"),i=this.getAttribute("data-text"),l=this.getAttribute("data-extra-classes");n="true"==n?"visually-hidden":"","true"==r&&(r="required-field");const s=document.createElement("label");if(s.innerText=i,s.setAttribute("for",t),s.className=["form-label",n,r,"".concat(l||""),"text-".concat(e||"")].join(" "),!this.shadowRoot.querySelector("label")){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="label.required-field:after {\n color: var(--bs-danger);\n content: ' *';\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(s)}}}customElements.define("cod-form-label",Ct);const Et=document.createElement("template");Et.innerHTML="\n \n \n";class At extends HTMLElement{static get observedAttributes(){return["data-invalid"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Et.content.cloneNode(!0)),this.internals=this.attachInternals(),this.select=t.querySelector("select"),t.addEventListener("slotchange",(t=>{let n=this.querySelector("option");n&&this.select.append(n)}))}attributeChangedCallback(t,n,e){let o=this.select.className.split(" "),a=o.pop();switch("is-invalid"!=a&&o.push(a),e){case"true":o.push("is-invalid"),this.select.className=o.join(" ");break;case"false":this.select.className=o.join(" ")}}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".form-select {\n border-radius: 0;\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-id"),i=this.getAttribute("data-size"),l=this.getAttribute("data-multiple"),s=this.getAttribute("data-display-multiple"),d=this.getAttribute("data-disabled"),c=this.getAttribute("data-required"),m=this.getAttribute("data-aria-label"),b=this.getAttribute("data-extra-classes");this.select.addEventListener("change",(t=>{this.setAttribute("data-invalid",!1);const n=new t.constructor(t.type,t);this.dispatchEvent(n),this.validateSelect()})),this.addEventListener("invalid",(t=>{this.invalid=!0,this.pristine=!1,this.setAttribute("data-invalid",!0),this.customErrorDisplay&&t.preventDefault()})),this.addEventListener("focus",(()=>this.select.focus())),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),"true"==c&&this.select.setAttribute("required",!0),"true"==d&&this.select.setAttribute("disabled",!0),"true"==l&&this.select.setAttribute("multiple",!0),void 0!=s&&null!=s&&this.select.setAttribute("size",s),this.select.setAttribute("aria-label",m),this.select.id=r,this.select.className=["form-select","".concat(b||""),"form-select-".concat(i||"")].join(" "),this.validateSelect()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}validateSelect(){const t=this.select.validity;if(this.invalid=!1,t.valid)this.internals.setValidity({});else for(let n in t){const e="data-".concat(n.toString());if(t[n]){this.validationError=n.toString(),this.invalid=!this.pristine&&!t.valid;const o=this.hasAttribute(e)?this.getAttribute(e):this.select.validationMessage;this.internals.setValidity({[this.validationError]:!0},o),this.invalid&&this.customErrorDisplay&&this.dispatchEvent(new Event("invalid"))}}}}(0,wt.Z)(At,"formAssociated",!0),customElements.define("cod-form-select",At);class _t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){if(this.isIconConnected())return;const t=this.getAttribute("data-icon");let n=this.getAttribute("data-size");switch(n){case"small":n="16";break;case"medium":n="24";break;case"large":n="36";break;case"x-large":n="54"}const e=document.createElement("span");e.innerHTML=this.getIcon(t,n),this.shadowRoot.appendChild(e)}isIconConnected(){return null!==this.shadowRoot.querySelector("span")}getIcon(t,n){switch(t){case"chevron-right":return'\n \n \n ');case"chevron-right-circle":return'\n \n \n \n \n \n \n ');case"chevron-right-circle-fill":return'\n \n \n \n \n \n \n ');case"chevron-left":return'\n \n \n ');case"chevron-left-circle":return'\n \n \n \n \n \n \n ');case"chevron-left-circle-fill":return'\n \n \n \n \n \n \n ');case"chevron-up":return'\n \n \n ');case"chevron-up-circle":return'\n \n \n \n \n \n \n ');case"chevron-up-circle-fill":return'\n \n \n \n \n \n \n ');case"chevron-down":return'\n \n \n ');case"chevron-down-circle":return'\n \n \n \n \n \n \n ');case"chevron-down-circle-fill":return'\n \n \n \n \n \n \n ');case"house":return'\n \n \n ');case"house-fill":return'\n \n \n \n ');case"exclamation-circle":return'\n \n \n \n ');case"exclamation-circle-fill":return'\n \n \n ');case"exclamation-triangle":return'\n \n \n \n ');case"check-circle":return'\n \n \n \n ');case"check-circle-fill":return'\n \n \n ');case"calendar":return'\n \n \n ');case"calendar-fill":return'\n \n \n ');case"calendar-date":return'\n \n \n \n ');case"calendar-date-fill":return'\n \n \n \n ');case"newspaper":return'\n \n \n \n ');case"building":return'\n \n \n \n ');case"building-fill":return'\n \n \n ');case"buildings":return'\n \n \n \n ');case"buildings-fill":return'\n \n \n ');case"currency-dollar":return'\n \n \n ';case"file-earmark":return'\n \n ';case"list-task":return'\n \n \n \n ';case"journals":return'\n \n \n '}}}customElements.define("cod-icon",_t);const Rt=document.createElement("template");Rt.innerHTML="\n \n \n";class Bt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Rt.content.cloneNode(!0)),this.picture=t.querySelector("picture"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.picture.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(r)}}customElements.define("cod-image",Bt);const Lt=document.createElement("template");Lt.innerHTML="\n\n";class St extends HTMLElement{static get observedAttributes(){return["data-order","data-parent-classes","data-order-index"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Lt.content.cloneNode(!0)),this.listGroupItem=null;const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".list-group-item.first {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-flush.list-group-item {\n border-width: 0 0 var(--bs-list-group-border-width);\n}\n\n.list-group-flush.list-group-item.last {\n border-bottom-width: 0;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){switch(t){case"data-order":case"data-parent-classes":null!=e&&(this.listGroupItem.className="".concat(this.listGroupItem.className," ").concat(e));break;case"data-order-index":if(console.log(e),null!=e){this.listGroupItem.innerHTML="".concat(e,". ").concat(this.listGroupItem.innerHTML),Array.from(this.children).forEach((t=>{this.listGroupItem.append(t)}))}}}connectedCallback(){let t=this.getAttribute("data-tag"),n=this.getAttribute("data-background-color"),e=this.getAttribute("data-current"),o=this.getAttribute("data-disabled"),a=this.getAttribute("data-text"),r=this.getAttribute("data-extra-classes"),i=this.getAttribute("data-url");this.listGroupItem=document.createElement(t);let l="";("a"==t||"button"==t)&&(l="list-group-item-action"),void 0==a&&null==a||(this.listGroupItem.innerText=a),void 0==i&&null==i||(this.listGroupItem.href=i),"true"==e&&(this.listGroupItem.setAttribute("aria-current","true"),e="active"),"true"==o&&(this.listGroupItem.setAttribute("aria-disabled","true"),o="disabled"),this.listGroupItem.className=["list-group-item","list-group-item-".concat(n||""),"".concat(e||""),"".concat(o||""),"".concat(l||""),"".concat(r||"")].join(" "),this.shadowRoot.querySelector(t)||(this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.listGroupItem.append(t)}))})),this.shadowRoot.appendChild(this.listGroupItem))}}customElements.define("cod-listgroup-item",St);class Mt extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=o,this.shadowRoot.appendChild(t);const n=document.createElement("style");n.textContent=".loader-box {\n display: flex;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0.75);\n position: absolute;\n left: -0.2em;\n top: -0.2em;\n}\n\n.cod-loader-container {\n display: flex;\n margin: auto;\n}\n\n.cod-loader-container article {\n margin: auto;\n}\n\n.cod-loader-container article p {\n text-align: center;\n font-family: var(--font-family);\n margin-left: 0.5em;\n}\n\n.cod-loader-bars {\n position: relative;\n width: 75px;\n height: 100px;\n}\n\n.cod-loader.cod-loader--color-1\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-1);\n}\n\n.cod-loader.cod-loader--color-2\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-2);\n}\n\n.cod-loader.cod-loader--color-3\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-3);\n}\n\n.cod-loader.cod-loader--color-4\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-4);\n}\n\n.cod-loader.cod-loader--color-5\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-5);\n}\n\n.cod-loader__bar {\n position: absolute;\n bottom: 0;\n width: 10px;\n height: 50%;\n transform-origin: center bottom;\n box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);\n}\n\n.cod-loader__bar:nth-child(1) {\n left: 0px;\n transform: scale(1, 0.2);\n animation: barUp1 4s infinite;\n}\n\n.cod-loader__bar:nth-child(2) {\n left: 20px;\n transform: scale(1, 0.4);\n animation: barUp2 4s infinite;\n}\n\n.cod-loader__bar:nth-child(3) {\n left: 40px;\n transform: scale(1, 0.6);\n animation: barUp3 4s infinite;\n}\n\n.cod-loader__bar:nth-child(4) {\n left: 60px;\n transform: scale(1, 0.8);\n animation: barUp4 4s infinite;\n}\n\n.cod-loader__bar:nth-child(5) {\n left: 80px;\n transform: scale(1, 1);\n animation: barUp5 4s infinite;\n}\n\n.cod-loader__ball {\n position: absolute;\n bottom: 10px;\n left: 0;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n animation: ball 4s infinite;\n}\n\n.cod-loader.cod-loader--color-1\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-1);\n}\n\n.cod-loader.cod-loader--color-2\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-2);\n}\n\n.cod-loader.cod-loader--color-3\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-3);\n}\n\n.cod-loader.cod-loader--color-4\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-4);\n}\n\n.cod-loader.cod-loader--color-5\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-5);\n}\n\n@keyframes ball {\n 0% {\n transform: translate(0, 0);\n }\n\n 5% {\n transform: translate(10px, -14px);\n }\n\n 10% {\n transform: translate(20px, -10px);\n }\n\n 17% {\n transform: translate(30px, -24px);\n }\n\n 20% {\n transform: translate(40px, -20px);\n }\n\n 27% {\n transform: translate(50px, -34px);\n }\n\n 30% {\n transform: translate(60px, -30px);\n }\n\n 37% {\n transform: translate(70px, -44px);\n }\n\n 40% {\n transform: translate(80px, -40px);\n }\n\n 50% {\n transform: translate(80px, 0);\n }\n\n 57% {\n transform: translate(70px, -14px);\n }\n\n 60% {\n transform: translate(60px, -10px);\n }\n\n 67% {\n transform: translate(50px, -24px);\n }\n\n 70% {\n transform: translate(40px, -20px);\n }\n\n 77% {\n transform: translate(30px, -34px);\n }\n\n 80% {\n transform: translate(20px, -30px);\n }\n\n 87% {\n transform: translate(10px, -44px);\n }\n\n 90% {\n transform: translate(0, -40px);\n }\n\n 100% {\n transform: translate(0, 0);\n }\n}\n\n@keyframes barUp1 {\n 0% {\n transform: scale(1, 0.2);\n }\n\n 40% {\n transform: scale(1, 0.2);\n }\n\n 50% {\n transform: scale(1, 1);\n }\n\n 90% {\n transform: scale(1, 1);\n }\n\n 100% {\n transform: scale(1, 0.2);\n }\n}\n\n@keyframes barUp2 {\n 0% {\n transform: scale(1, 0.4);\n }\n\n 40% {\n transform: scale(1, 0.4);\n }\n\n 50% {\n transform: scale(1, 0.8);\n }\n\n 90% {\n transform: scale(1, 0.8);\n }\n\n 100% {\n transform: scale(1, 0.4);\n }\n}\n\n@keyframes barUp3 {\n 0% {\n transform: scale(1, 0.6);\n }\n\n 100% {\n transform: scale(1, 0.6);\n }\n}\n\n@keyframes barUp4 {\n 0% {\n transform: scale(1, 0.8);\n }\n\n 40% {\n transform: scale(1, 0.8);\n }\n\n 50% {\n transform: scale(1, 0.4);\n }\n\n 90% {\n transform: scale(1, 0.4);\n }\n\n 100% {\n transform: scale(1, 0.8);\n }\n}\n\n@keyframes barUp5 {\n 0% {\n transform: scale(1, 1);\n }\n\n 40% {\n transform: scale(1, 1);\n }\n\n 50% {\n transform: scale(1, 0.2);\n }\n\n 90% {\n transform: scale(1, 0.2);\n }\n\n 100% {\n transform: scale(1, 1);\n }\n}\n",this.shadowRoot.appendChild(n);const e=document.createElement("article");let a=this.getAttribute("data-color");e.className=["cod-loader","cod-loader--".concat(a||"color-1")].join(" "),e.innerHTML='\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

LOADING

\n
\n
',this.shadowRoot.appendChild(e)}}customElements.define("cod-loader",Mt);const Nt=document.createElement("template");Nt.innerHTML="\n\n";class jt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Nt.content.cloneNode(!0)),this.body=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.body.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-extra-classes"),n=["modal-body"];void 0!=t&&null!=t&&n.push(t),this.body.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.body)}}customElements.define("cod-modal-body",jt);const Ft=document.createElement("template");Ft.innerHTML="\n\n";class Tt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Ft.content.cloneNode(!0)),this.modalFooter=document.createElement("div"),this.closeBtn=document.createElement("cod-button"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.modalFooter.appendChild(t)}))})),this.modalFooter.appendChild(this.closeBtn);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-button-extra-classes"),n=this.getAttribute("data-extra-classes"),e=["modal-footer"];this.closeBtn.setAttribute("data-img-alt",""),this.closeBtn.setAttribute("data-icon",""),this.closeBtn.setAttribute("data-label","Close"),this.closeBtn.setAttribute("data-bs-dismiss","modal"),void 0!=n&&null!=n&&e.push(n),void 0!=t&&null!=t&&this.closeBtn.setAttribute("data-extra-classes",t),this.modalFooter.className=e.join(" "),this.closeBtn.addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.modalFooter)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-modal-footer",Tt);const Ht=document.createElement("template");Ht.innerHTML="\n\n";class Vt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Ht.content.cloneNode(!0)),this.modalHeader=document.createElement("div"),this.modalTitle=document.createElement("div"),this.closeBtn=document.createElement("cod-button"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.modalTitle.appendChild(t)}))})),this.modalHeader.appendChild(this.modalTitle),this.modalHeader.appendChild(this.closeBtn);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-button-dark"),e=this.getAttribute("data-extra-classes"),o=["modal-header"];this.modalTitle.className="modal-title",this.modalTitle.id="".concat(t,"-label"),this.closeBtn.setAttribute("data-img-alt",""),this.closeBtn.setAttribute("data-icon",""),this.closeBtn.setAttribute("data-close","true"),this.closeBtn.setAttribute("data-bs-dismiss","modal"),void 0!=e&&null!=e&&o.push(e),"true"==n&&this.closeBtn.setAttribute("data-extra-classes","btn-close-white"),this.modalHeader.className=o.join(" "),this.closeBtn.addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.modalHeader)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-modal-header",Vt);class Dt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="a {\n text-decoration: none;\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-url"),n=this.getAttribute("data-text"),e=this.getAttribute("data-img"),o=this.getAttribute("data-img-alt"),a=this.getAttribute("data-text-classes"),r=this.getAttribute("data-img-classes"),i=this.getAttribute("data-img-size"),l=this.getAttribute("data-extra-classes"),s=[""],d=document.createElement("a"),c=encodeURI(t);if(d.href=decodeURI(c),e){const t=document.createElement("img"),n=encodeURI(e);t.src=decodeURI(n),i&&t.setAttribute("width",i),r&&(t.className=r),t.setAttribute("alt",o),d.appendChild(t)}if(n){const t=document.createElement("span");a&&(t.className=a),t.innerText=n,d.appendChild(t)}l&&s.push(l),d.className=s.join(" "),this.shadowRoot.querySelector("a")||this.shadowRoot.appendChild(d)}}customElements.define("cod-navbar-brand",Dt);const Pt=document.createElement("template");Pt.innerHTML="\n\n";class It extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Pt.content.cloneNode(!0)),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((n=>{t.appendChild(n)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}}customElements.define("cod-navbar-collapse",It);const Wt=document.createElement("template");Wt.innerHTML="\n\n";class Gt extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Wt.content.cloneNode(!0)),this.offcanvas=document.createElement("div"),this.offcanvasBackdrop=document.createElement("div"),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{"true"===this.getAttribute("data-show")&&t.setAttribute("data-show",!0),"COD-OFFCANVAS-HEADER"===t.tagName&&("true"===this.getAttribute("data-button-dark")&&t.setAttribute("data-button-dark",!0),t.setAttribute("data-parent-id",this.getAttribute("data-id"))),this.offcanvas.appendChild(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){const o=this.offcanvas.className.split(" "),a=o.pop();"show"!==a&&o.push(a),"true"===e?(o.push("show"),"false"!==this.getAttribute("data-backdrop")&&("true"!==this.getAttribute("data-static")&&this.offcanvasBackdrop.addEventListener("click",this._onClick),this.shadowRoot.appendChild(this.offcanvasBackdrop))):this.shadowRoot.querySelector("div.offcanvas-backdrop")&&this.shadowRoot.removeChild(this.offcanvasBackdrop),this.offcanvas.className=o.join(" ")}connectedCallback(){const t=this.getAttribute("data-show"),n=this.getAttribute("data-placement"),e=this.getAttribute("data-id"),o=this.getAttribute("data-backdrop"),a=this.getAttribute("data-backdrop-extra-classes"),r=this.getAttribute("data-scroll"),i=this.getAttribute("data-static"),l=this.getAttribute("data-extra-classes"),s=["offcanvas"],d=["offcanvas-backdrop fade show"];"true"===t&&s.push("show"),"false"===o&&this.offcanvas.setAttribute("data-bs-backdrop",!1),"true"===r&&this.offcanvas.setAttribute("data-bs-scroll",!0),"true"===i&&this.offcanvas.setAttribute("data-bs-backdrop","static"),a&&d.push(a),l&&s.push(l),n?s.push("offcanvas-".concat(n)):s.push("offcanvas-start"),e&&(this.offcanvas.id=e,this.offcanvas.setAttribute("aria-labelledby","".concat(e,"-label"))),this.offcanvas.setAttribute("tabindex",-1),this.offcanvas.className=s.join(" "),this.offcanvasBackdrop.className=d.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.offcanvas)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(){this.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-navbar-offcanvas",Gt);class qt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".navbar-toggler-icon {\n border: none;\n background-color: transparent;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-mode"),n=this.getAttribute("data-extra-classes"),e=document.createElement("button"),o=[""];if("default"===t){const t=document.createElement("span");o.push("navbar-toggler-icon"),e.appendChild(t)}n&&o.push(n),e.className=o.join(" "),this.shadowRoot.querySelector("button")||(e.addEventListener("click",this._onClick.bind(this)),this.shadowRoot.appendChild(e))}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(){"true"===this.getAttribute("data-show")?"offcanvas"===this.getAttribute("data-target-toggle")?this.getRootNode().querySelector("cod-offcanvas").setAttribute("data-show","false"):this.getRootNode().host.setAttribute("data-show","false"):"offcanvas"===this.getAttribute("data-target-toggle")?this.getRootNode().querySelector("cod-offcanvas").setAttribute("data-show","true"):this.getRootNode().host.setAttribute("data-show","true")}}customElements.define("cod-navbar-toggle",qt);const Ot=document.createElement("template");Ot.innerHTML="\n\n";class Ut extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Ot.content.cloneNode(!0)),this.body=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{"COD-NAV"===t.tagName&&t.setAttribute("data-extra-classes","navbar-nav");const n=this.getAttribute("data-expand");n&&t.setAttribute("data-expand",n),this.body.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){if("data-expand"===t)e&&this.shadowRoot.querySelector("cod-nav").setAttribute("data-expand",e)}connectedCallback(){const t=this.getAttribute("data-extra-classes"),n=["offcanvas-body"];t&&n.push(t);const e=this.getAttribute("data-expand");e&&("always"===e?n.push("navbar-expand"):n.push("navbar-expand-".concat(e))),this.body.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.body)}}(0,wt.Z)(Ut,"observedAttributes",["data-expand"]),customElements.define("cod-offcanvas-body",Ut);const Zt=document.createElement("template");Zt.innerHTML="\n\n";class Yt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Zt.content.cloneNode(!0)),this.offcanvasHeader=document.createElement("div"),this.offcanvasTitle=document.createElement("div"),this.closeBtn=document.createElement("cod-button"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{this.offcanvasTitle.appendChild(t)}))})),this.offcanvasHeader.appendChild(this.offcanvasTitle),this.offcanvasHeader.appendChild(this.closeBtn);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-button-dark"),e=this.getAttribute("data-extra-classes"),o=["offcanvas-header"];this.offcanvasTitle.className="offcanvas-title",this.offcanvasTitle.id="".concat(t,"-label"),this.closeBtn.setAttribute("data-img-alt",""),this.closeBtn.setAttribute("data-icon",""),this.closeBtn.setAttribute("data-close","true"),this.closeBtn.setAttribute("data-bs-dismiss",t),e&&o.push(e),"true"===n&&this.closeBtn.setAttribute("data-extra-classes","btn-close-white");const a=this.getAttribute("data-expand");a&&("always"===a?o.push("navbar-expand"):o.push("navbar-expand-".concat(a))),this.offcanvasHeader.className=o.join(" "),this.closeBtn.addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.offcanvasHeader)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(){this.getRootNode().host.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-offcanvas-header",Yt);class Xt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-url"),n=this.getAttribute("data-special"),e=this.getAttribute("data-label"),o=this.getAttribute("data-text"),a=this.getAttribute("data-disabled"),r=this.getAttribute("data-active"),i=this.getAttribute("data-extra-classes"),l=["page-link"],s=null,d=null;if(void 0!=t&&null!=t)if("true"==a)l.push("disabled"),s=document.createElement("span"),d="span";else{s=document.createElement("a");let n=encodeURI(t);s.href=decodeURI(n),d="a"}else s=document.createElement("span"),d="span";"true"==r&&l.push("active"),void 0!=i&&null!=i&&l.push(i),void 0!=n&&null!=n&&this.setSpecialItem(n,s),void 0!=o&&null!=o&&(s.innerText=o),void 0!=e&&null!=e&&s.setAttribute("aria-label",e),s.className=l.join(" "),this.shadowRoot.querySelector(d)||this.shadowRoot.appendChild(s)}setSpecialItem(t,n){switch(t){case"first":n.innerHTML='';break;case"previous":n.innerHTML='';break;case"next":n.innerHTML='';break;case"last":n.innerHTML='';break;case"ellipsiss":n.innerHTML=''}}}customElements.define("cod-pagination-item",Xt);class Jt extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-type"),i=this.getAttribute("data-label"),l=this.getAttribute("data-aria-label"),s=this.getAttribute("data-animated"),d=this.getAttribute("data-value"),c=this.getAttribute("data-background-color"),m=this.getAttribute("data-multi-bars");const b=document.createElement("div");if("undefined"==m||"null"==m){const t=document.createElement("div");t.role="progressbar",t.setAttribute("aria-label",l),t.setAttribute("aria-valuenow",d),t.className="progress";const n=document.createElement("div");n.style="width: ".concat(d,"%"),"undefined"!=i&&"null"!=i&&(n.innerText=i),n.className=["progress-bar","progress-bar-".concat(s||""),"progress-bar-".concat(r||""),"bg-".concat(c||"")].join(" "),t.appendChild(n),b.appendChild(t)}else b.className="progress-stacked",this.buildBar(JSON.parse(m),b);this.shadowRoot.appendChild(b)}buildBar(t,n){t.forEach((t=>{let e=document.createElement("div");e.role="progressbar",e.setAttribute("aria-label",t.ariaLabel),e.setAttribute("aria-valuenow",t.value),e.setAttribute("aria-valuemin","0"),e.setAttribute("aria-valuemax","100"),e.className="progress";const o=document.createElement("div");e.style="width: ".concat(t.value,"%"),void 0!=t.label&&null!=t.label&&(o.innerText=t.label),o.className=["progress-bar","progress-bar-".concat(t.animated||""),"progress-bar-".concat(t.striped||""),"bg-".concat(t.backgroundColor||"")].join(" "),e.appendChild(o),n.appendChild(e)}))}}customElements.define("cod-progress",Jt);class Kt extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);this.getAttribute("data-id");let r=this.getAttribute("data-disabled"),i=this.getAttribute("data-min"),l=this.getAttribute("data-max"),s=this.getAttribute("data-step");const d=document.createElement("input");d.type="range",d.className="form-range","true"==r&&(d.disabled=!0),console.log(i),void 0==i&&null==i||d.setAttribute("min",i),void 0==l&&null==l||d.setAttribute("max",l),void 0==s&&null==s||d.setAttribute("step",s),this.shadowRoot.appendChild(d)}}customElements.define("cod-range",Kt);class $t extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r,i,l=this.getAttribute("data-type"),s=this.getAttribute("data-size"),d=this.getAttribute("data-background-color"),c=this.getAttribute("data-display-type");r="sm"==s?"spinner-".concat(l,"-").concat(s):"",i="inline"==c?document.createElement("span"):document.createElement("div"),i.className=["spinner-".concat(l||""),r,"text-".concat(d||"")].join(" "),i.role="status";let m=document.createElement("span");m.innerText="Loading...",m.className="visually-hidden",i.appendChild(m),this.shadowRoot.appendChild(i)}}customElements.define("cod-spinner",$t);const Qt="table-stacked",tn="cell-header-block",nn="first",en=document.createElement("template");en.innerHTML="\n\n";class on extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(en.content.cloneNode(!0)),this.tableBody=document.createElement("tbody"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{0===n?t.setIsFirst():n%2!==0&&t.setIsOdd(),"true"==this.getAttribute("data-striped-row")&&n%2==0&&t.setAttribute("data-striped-row","true"),"true"==this.getAttribute("data-hover")&&t.setAttribute("data-hover","true"),"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),this.isStacked()&&t.setIsStacked(!0,this.isCellHeaderBlock()),this.tableBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="tbody {\n display: block;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableBody)}setIsStacked(t,n){t?this.tableBody.classList.add(Qt):this.tableBody.classList.remove(Qt),n?this.tableBody.classList.add(tn):this.tableBody.classList.remove(tn)}isStacked(){return this.tableBody.classList.contains(Qt)}isCellHeaderBlock(){return this.tableBody.classList.contains(tn)}}customElements.define("cod-table-body",on);const an=document.createElement("template");an.innerHTML="\n\n";class rn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(an.content.cloneNode(!0)),this.tableCell=document.createElement("td"),t.addEventListener("slotchange",(t=>{t.target.assignedNodes().forEach((t=>{if(t.nodeType!==Node.TEXT_NODE||!/^\s*$/.test(t.textContent)){const n=document.createElement("div");n.classList.add("content"),n.appendChild(t),this.tableCell.appendChild(n)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="td {\n display: block;\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom: solid var(--bs-border-width) var(--bs-secondary);\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n height: 100%;\n}\n\ntd.table-striped,\ntd.table-striped-columns {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n}\n\ntd.table-scrollable {\n width: 5em;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableCell)}connectedCallback(){let t=this.getAttribute("data-striped-row"),n=this.getAttribute("data-striped-col"),e=this.getAttribute("data-vertical-align"),o=this.getAttribute("data-extra-classes");void 0!=e&&null!=e&&this.tableCell.classList.add(e),"true"===this.getAttribute("data-scrollable")&&this.tableCell.classList.add("table-scrollable"),"true"==t&&this.tableCell.classList.add("table-striped"),"true"==n&&this.tableCell.classList.add("table-striped-columns"),void 0!=o&&null!=o&&this.tableCell.classList.add(o);const a=this.getAttribute("data-label");a&&this.tableCell.setAttribute("data-label",a)}setIsStacked(t,n){t?this.tableCell.classList.add(Qt):this.tableCell.classList.remove(Qt),n?this.tableCell.classList.add(tn):this.tableCell.classList.remove(tn)}isStacked(){return this.tableCell.classList.contains(Qt)}}customElements.define("cod-table-cell",rn);const ln=document.createElement("template");ln.innerHTML="\n\n";class sn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(ln.content.cloneNode(!0)),this.tableCellHeader=document.createElement("th"),t.addEventListener("slotchange",(t=>{Array.from(this.childNodes).forEach((t=>{this.tableCellHeader.appendChild(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="th {\n display: block;\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom: solid var(--bs-border-width) var(--bs-secondary);\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n font-weight: bold;\n height: 100%;\n}\n\nth.table-striped-columns {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n}\n\nth.table-scrollable {\n width: 5em;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableCellHeader)}connectedCallback(){let t=this.getAttribute("data-striped-row"),n=this.getAttribute("data-striped-col"),e=this.getAttribute("data-vertical-align"),o=this.getAttribute("data-extra-classes");void 0!=e&&null!=e&&this.tableCellHeader.classList.add(e),"true"===this.getAttribute("data-scrollable")&&this.tableCellHeader.classList.add("table-scrollable"),"true"==t&&this.tableCellHeader.classList.add("table-striped"),"true"==n&&this.tableCellHeader.classList.add("table-striped-columns"),void 0!=o&&null!=o&&this.tableCellHeader.classList.add(o)}setIsStacked(t,n){t?this.tableCellHeader.classList.add(Qt):this.tableCellHeader.classList.remove(Qt),n?this.tableCellHeader.classList.add(tn):this.tableCellHeader.classList.remove(tn)}isStacked(){return this.tableCellHeader.classList.contains(Qt)}}customElements.define("cod-table-cell-header",sn);const dn=document.createElement("template");dn.innerHTML="\n\n";class cn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(dn.content.cloneNode(!0)),this.tableHeader=document.createElement("thead"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{0===n&&t.setIsFirst(),"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),this.isStacked()&&t.setIsStacked(!0,this.isCellHeaderBlock()),this.tableHeader.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="thead {\n display: block;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableHeader)}setIsStacked(t,n){t?this.tableHeader.classList.add(Qt):this.tableHeader.classList.remove(Qt),n?this.tableHeader.classList.add(tn):this.tableHeader.classList.remove(tn)}isStacked(){return this.tableHeader.classList.contains(Qt)}isCellHeaderBlock(){return this.tableHeader.classList.contains(tn)}}customElements.define("cod-table-header",cn);const mn=document.createElement("template");mn.innerHTML="\n\n";class bn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(mn.content.cloneNode(!0)),this.tableRow=document.createElement("tr"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{"true"==this.getAttribute("data-striped-row")&&t.setAttribute("data-striped-row","true"),"true"==this.getAttribute("data-striped-col")&&n%2!=0&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),this.isStacked()&&t.setIsStacked(!0,this.isCellHeaderBlock()),this.tableRow.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="tr {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n display: flex;\n align-items: stretch;\n}\n\ntr cod-table-cell,\ntr cod-table-cell-header {\n flex: 1;\n}\n\ntr cod-table-cell[colspan='2'],\ntr cod-table-cell-header[colspan='2'] {\n flex: 2;\n}\n\ntr cod-table-cell[colspan='3'],\ntr cod-table-cell-header[colspan='3'] {\n flex: 3;\n}\n\ntr cod-table-cell[colspan='4'],\ntr cod-table-cell-header[colspan='4'] {\n flex: 4;\n}\n\ntr cod-table-cell[colspan='5'],\ntr cod-table-cell-header[colspan='5'] {\n flex: 5;\n}\n\ntr.table-hover:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableRow)}connectedCallback(){let t=this.getAttribute("data-extra-classes");"true"==this.getAttribute("data-hover")&&this.tableRow.classList.add("table-hover"),void 0!=t&&null!=t&&this.tableRow.classList.add(t)}setIsStacked(t,n){t?this.tableRow.classList.add(Qt):this.tableRow.classList.remove(Qt),n?this.tableRow.classList.add(tn):this.tableRow.classList.remove(tn)}isStacked(){return this.tableRow.classList.contains(Qt)}isCellHeaderBlock(){return this.tableRow.classList.contains(tn)}setIsFirst(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.tableRow.classList.add(nn):this.tableRow.classList.remove(nn)}setIsOdd(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.tableRow.classList.add("odd"):this.tableRow.classList.remove("odd")}}customElements.define("cod-table-row",bn)}},function(t){t.O(0,[578,635],(function(){return n=730,t(t.s=n);var n}));t.O()}]); \ No newline at end of file diff --git a/build/build/assets/js/runtime.js b/build/build/assets/js/runtime.js new file mode 100644 index 0000000..3578182 --- /dev/null +++ b/build/build/assets/js/runtime.js @@ -0,0 +1 @@ +!function(){"use strict";var n,r={},e={};function t(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return r[n].call(u.exports,u,u.exports,t),u.exports}t.m=r,n=[],t.O=function(r,e,o,u){if(!e){var i=1/0;for(a=0;a=u)&&Object.keys(t.O).every((function(n){return t.O[n](e[c])}))?e.splice(c--,1):(f=!1,u0&&n[a-1][2]>u;a--)n[a]=n[a-1];n[a]=[e,o,u]},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,{a:r}),r},t.d=function(n,r){for(var e in r)t.o(r,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:r[e]})},t.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},function(){var n={666:0};t.O.j=function(r){return 0===n[r]};var r=function(r,e){var o,u,i=e[0],f=e[1],c=e[2],s=0;if(i.some((function(r){return 0!==n[r]}))){for(o in f)t.o(f,o)&&(t.m[o]=f[o]);if(c)var a=c(t)}for(r&&r(e);s.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' 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}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' 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,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' 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,.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover,.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-attrib-empty,.maplibregl-attrib-empty{display:none}.mapboxgl-ctrl-scale,.maplibregl-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}.mapboxgl-popup,.maplibregl-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,.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right,.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left,.maplibregl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right,.maplibregl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip,.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button,.maplibregl-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,.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content,.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content,.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content,.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer,.maplibregl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *,.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer,.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer,.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.mapboxgl-marker,.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.mapboxgl-user-location-dot,.maplibregl-user-location-dot{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before,.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;background-color:#1da1f2;border-radius:50%;content:\"\";height:15px;position:absolute;width:15px}.mapboxgl-user-location-dot:after,.maplibregl-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}@keyframes maplibregl-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,.maplibregl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after,.maplibregl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle,.maplibregl-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,.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom,.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);bottom:0;color:#fff;display:flex;font-size:1.4em;justify-content:center;left:0;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease 1s}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}"},613:function(t){t.exports=function(){"use strict";var t,e,i;function r(r,n){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),i=n(o),"undefined"!==typeof window&&(i.workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"})))}else e=n;else t=n}return r(["exports"],(function(t){var e=i;function i(t,e,i,r){this.cx=3*t,this.bx=3*(i-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(r-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=i,this.p2y=r}function r(t,i,r,n){const a=new e(t,i,r,n);return function(t){return a.solve(t)}}i.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?o=i:s=i,i=.5*(s-o)+o;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};const n=r(.25,.1,.25,1);function a(t,e,i){return Math.min(i,Math.max(e,t))}function o(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function s(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let l=1;function c(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e))}))}function h(t,e,i){const r={};for(const n in t)r[n]=e.call(i||this,t[n],n,t);return r}function u(t,e,i){const r={};for(const n in t)e.call(i||this,t[n],n,t)&&(r[n]=t[n]);return r}function p(t){return Array.isArray(t)?t.map(p):"object"==typeof t&&t?h(t,p):t}const d={};function m(t){d[t]||("undefined"!=typeof console&&console.warn(t),d[t]=!0)}function f(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function g(t){let e=0;for(let i,r,n=0,a=t.length,o=a-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,r,n)=>{const a=r||n;return e[i]=!a||a.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e}let x,v,b=null;function w(t){if(null==b){const e=t.navigator?t.navigator.userAgent:null;b=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return b}function T(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(t){const e=requestAnimationFrame(t);return{cancel:()=>cancelAnimationFrame(e)}},getImageData(t,e=0){const i=window.document.createElement("canvas"),r=i.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return i.width=t.width,i.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:t=>(x||(x=document.createElement("a")),x.href=t,x.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==v&&(v=matchMedia("(prefers-reduced-motion: reduce)")),v.matches)}};var S=I;function I(t,e){this.x=t,this.y=e}I.prototype={clone:function(){return new I(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),i=Math.sin(t),r=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=r,this},_rotateAround:function(t,e){var i=Math.cos(t),r=Math.sin(t),n=e.y+r*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-r*(this.y-e.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},I.convert=function(t){return t instanceof I?t:Array.isArray(t)?new I(t[0],t[1]):t};const z={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},C="mapbox-tiles";let A,k,M=500,P=50;function D(){"undefined"==typeof caches||A||(A=caches.open(C))}let L=1/0;const B={supported:!1,testSupport:function(t){!O&&F&&(V?U(t):R=t)}};let R,F,O=!1,V=!1;function U(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,F),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),O=!0}"undefined"!=typeof document&&(F=document.createElement("img"),F.onload=function(){R&&U(R),R=null,V=!0},F.onerror=function(){O=!0,R=null},F.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const N={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(N);class $ extends Error{constructor(t,e,i,r){super(`AJAXError: ${e} (${t}): ${i}`),this.status=t,this.statusText=e,this.url=i,this.body=r}}const G=_()?()=>self.worker&&self.worker.referrer:()=>("blob:"===window.location.protocol?window.parent:window).location.href;function q(t,e){const i=new AbortController,r=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:G(),signal:i.signal});let n=!1,a=!1;return"json"===t.type&&r.headers.set("Accept","application/json"),((i,o,s)=>{if(a)return;const l=Date.now();fetch(r).then((i=>i.ok?((i,o,s)=>{("arrayBuffer"===t.type?i.arrayBuffer():"json"===t.type?i.json():i.text()).then((t=>{a||(o&&s&&function(t,e,i){if(D(),!A)return;const r={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach(((t,e)=>r.headers.set(e,t)));const n=y(e.headers.get("Cache-Control")||"");n["no-store"]||(n["max-age"]&&r.headers.set("Expires",new Date(i+1e3*n["max-age"]).toUTCString()),new Date(r.headers.get("Expires")).getTime()-i<42e4||function(t,e){if(void 0===k)try{new Response(new ReadableStream),k=!0}catch(t){k=!1}k?e(t.body):t.blob().then(e)}(e,(e=>{const i=new Response(e,r);D(),A&&A.then((e=>e.put(function(t){const e=t.indexOf("?");return e<0?t:t.slice(0,e)}(t.url),i))).catch((t=>m(t.message)))})))}(r,o,s),n=!0,e(null,t,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((t=>{a||e(new Error(t.message))}))})(i,null,l):i.blob().then((r=>e(new $(i.status,i.statusText,t.url,r)))))).catch((t=>{20!==t.code&&e(new Error(t.message))}))})(),{cancel:()=>{a=!0,n||i.abort()}}}const Z=function(t,e){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e);if(!_()){const i=t.url.substring(0,t.url.indexOf("://"));return(z.REGISTERED_PROTOCOLS[i]||q)(t,e)}}if(!(/^file:/.test(i=t.url)||/^file:/.test(G())&&!/^\w+:/.test(i))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return q(t,e);if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var i;return function(t,e){const i=new XMLHttpRequest;i.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(i.responseType="arraybuffer");for(const r in t.headers)i.setRequestHeader(r,t.headers[r]);return"json"===t.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===t.credentials,i.onerror=()=>{e(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===t.type)try{r=JSON.parse(i.response)}catch(t){return e(t)}e(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else{const r=new Blob([i.response],{type:i.getResponseHeader("Content-Type")});e(new $(i.status,i.statusText,t.url,r))}},i.send(t.body),{cancel:()=>i.abort()}}(t,e)},j=function(t,e){return Z(s(t,{type:"arrayBuffer"}),e)};function X(t){const e=window.document.createElement("a");return e.href=t,e.protocol===window.document.location.protocol&&e.host===window.document.location.host}const H="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let W,K;W=[],K=0;const J=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),K>=z.MAX_PARALLEL_IMAGE_REQUESTS){const i={requestParameters:t,callback:e,cancelled:!1,cancel(){this.cancelled=!0}};return W.push(i),i}K++;let i=!1;const r=()=>{if(!i)for(i=!0,K--;W.length&&K{r(),t?e(t):i&&function(t,e){"function"==typeof createImageBitmap?function(t,e){const i=new Blob([new Uint8Array(t)],{type:"image/png"});createImageBitmap(i).then((t=>{e(null,t)})).catch((t=>{e(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(t,e):function(t,e){const i=new Image;i.onload=()=>{e(null,i),URL.revokeObjectURL(i.src),i.onload=null,window.requestAnimationFrame((()=>{i.src=H}))},i.onerror=()=>e(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 r=new Blob([new Uint8Array(t)],{type:"image/png"});i.src=t.byteLength?URL.createObjectURL(r):H}(t,e)}(i,((t,i)=>{null!=t?e(t):null!=i&&e(null,i,{cacheControl:n,expires:a})}))}));return{cancel:()=>{n.cancel(),r()}}};function Y(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function Q(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class tt{constructor(t,e={}){s(this,e),this.type=t}}class et extends tt{constructor(t,e={}){super("error",s({error:t},e))}}class it{on(t,e){return this._listeners=this._listeners||{},Y(t,e,this._listeners),this}off(t,e){return Q(t,e,this._listeners),Q(t,e,this._oneTimeListeners),this}once(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},Y(t,e,this._oneTimeListeners),this}fire(t,e){"string"==typeof t&&(t=new tt(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const a of r)Q(i,a,this._oneTimeListeners),a.call(this,t);const n=this._eventedParent;n&&(s(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof et&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var rt={$version:8,$root:{version:{required:!0,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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,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:!0,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:!1},"*":{type:"*"}},source_raster:{type:{required:!0,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:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,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:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,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:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},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_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,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:!1,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"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,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:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,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:!0,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:!1,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:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,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:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,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:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,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:!0,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:!1,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:!1,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:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,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:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,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_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:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1},elevationOffset:{type:"number",default:450}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,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"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};class nt{constructor(t,e,i,r){this.message=(t?`${t}: `:"")+i,r&&(this.identifier=r),null!=e&&e.__line__&&(this.line=e.__line__)}}function at(t){const e=t.value;return e?[new nt(t.key,e,"constants have been deprecated as of v8")]:[]}function ot(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}function st(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function lt(t){if(Array.isArray(t))return t.map(lt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const i in t)e[i]=lt(t[i]);return e}return st(t)}class ct extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}class ht{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[i,r]of e)this.bindings[i]=r}concat(t){return new ht(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const ut={kind:"null"},pt={kind:"number"},dt={kind:"string"},mt={kind:"boolean"},ft={kind:"color"},gt={kind:"object"},_t={kind:"value"},yt={kind:"collator"},xt={kind:"formatted"},vt={kind:"padding"},bt={kind:"resolvedImage"};function wt(t,e){return{kind:"array",itemType:t,N:e}}function Tt(t){if("array"===t.kind){const e=Tt(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const Et=[ut,pt,dt,mt,ft,xt,gt,wt(_t),vt,bt];function St(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!St(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of Et)if(!St(t,e))return null}return`Expected ${Tt(t)} but found ${Tt(e)} instead.`}function It(t,e){return e.some((e=>e.kind===t.kind))}function zt(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var Ct,At={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 kt(t){return(t=Math.round(t))<0?0:t>255?255:t}function Mt(t){return kt("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Pt(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function Dt(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}try{Ct={}.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in At)return At[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var a=i.substr(0,r),o=i.substr(r+1,n-(r+1)).split(","),s=1;switch(a){case"rgba":if(4!==o.length)return null;s=Pt(o.pop());case"rgb":return 3!==o.length?null:[Mt(o[0]),Mt(o[1]),Mt(o[2]),s];case"hsla":if(4!==o.length)return null;s=Pt(o.pop());case"hsl":if(3!==o.length)return null;var l=(parseFloat(o[0])%360+360)%360/360,c=Pt(o[1]),h=Pt(o[2]),u=h<=.5?h*(c+1):h+c-h*c,p=2*h-u;return[kt(255*Dt(p,u,l+1/3)),kt(255*Dt(p,u,l)),kt(255*Dt(p,u,l-1/3)),s];default:return null}}return null}}catch(t){}class Lt{constructor(t,e,i,r=1){this.r=t,this.g=e,this.b=i,this.a=r}static parse(t){if(!t)return;if(t instanceof Lt)return t;if("string"!=typeof t)return;const e=Ct(t);return e?new Lt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,i,r]=this.toArray();return`rgba(${Math.round(t)},${Math.round(e)},${Math.round(i)},${r})`}toArray(){const{r:t,g:e,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*t/r,255*e/r,255*i/r,r]}}Lt.black=new Lt(0,0,0,1),Lt.white=new Lt(1,1,1,1),Lt.transparent=new Lt(0,0,0,0),Lt.red=new Lt(1,0,0,1);class Bt{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Rt{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Ft{constructor(t){this.sections=t}static fromString(t){return new Ft([new Rt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Ft?t:Ft.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Ot{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Ot)return t;if("number"==typeof t)return new Ot([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Ot(t)}}toString(){return JSON.stringify(this.values)}}class Vt{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Vt({name:t,available:!1}):null}}function Ut(t,e,i,r){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[t,e,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[t,e,i,r]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Nt(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Lt)return!0;if(t instanceof Bt)return!0;if(t instanceof Ft)return!0;if(t instanceof Ot)return!0;if(t instanceof Vt)return!0;if(Array.isArray(t)){for(const e of t)if(!Nt(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Nt(t[e]))return!1;return!0}return!1}function $t(t){if(null===t)return ut;if("string"==typeof t)return dt;if("boolean"==typeof t)return mt;if("number"==typeof t)return pt;if(t instanceof Lt)return ft;if(t instanceof Bt)return yt;if(t instanceof Ft)return xt;if(t instanceof Ot)return vt;if(t instanceof Vt)return bt;if(Array.isArray(t)){const e=t.length;let i;for(const r of t){const t=$t(r);if(i){if(i===t)continue;i=_t;break}i=t}return wt(i||_t,e)}return gt}function Gt(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Lt||t instanceof Ft||t instanceof Ot||t instanceof Vt?t.toString():JSON.stringify(t)}class qt{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Nt(t[1]))return e.error("invalid value");const i=t[1];let r=$t(i);const n=e.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new qt(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Zt{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const jt={string:dt,number:pt,boolean:mt,object:gt};class Xt{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,r=1;const n=t[0];if("array"===n){let n,a;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in jt)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=jt[i],r++}else n=_t;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);a=t[2],r++}i=wt(n,a)}else{if(!jt[n])throw new Error(`Types doesn't contain name = ${n}`);i=jt[n]}const a=[];for(;rt.outputDefined()))}}const Ht={"to-boolean":mt,"to-color":ft,"to-number":pt,"to-string":dt};class Wt{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(!Ht[i])throw new Error(`Can't parse ${i} as it is not part of the known types`);if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const r=Ht[i],n=[];for(let a=1;a4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Ut(e[0],e[1],e[2],e[3]),!i))return new Lt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Zt(i||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("padding"===this.type.kind){let e;for(const i of this.args){e=i.evaluate(t);const r=Ot.parse(e);if(r)return r}throw new Zt(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("number"===this.type.kind){let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const r=Number(e);if(!isNaN(r))return r}throw new Zt(`Could not convert ${JSON.stringify(e)} to number.`)}return"formatted"===this.type.kind?Ft.fromString(Gt(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Vt.fromString(Gt(this.args[0].evaluate(t))):Gt(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const Kt=["Unknown","Point","LineString","Polygon"];class Jt{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Kt[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||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Lt.parse(t)),e}}class Yt{constructor(t,e,i,r){this.name=t,this.type=e,this._evaluate=i,this.args=r}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const i=t[0],r=Yt.definitions[i];if(!r)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,a=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let s=null;for(const[l,c]of o){s=new be(e.registry,e.path,null,e.scope);const r=[];let a=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(Tt).join(", ")})`:`(${Tt(e.type)}...)`;var e})).join(" | "),r=[];for(let n=1;n=e[2]||t[1]<=e[1]||t[3]>=e[3])}function re(t,e){const i=(180+t[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,n=Math.pow(2,e.z);return[Math.round(i*n*te),Math.round(r*n*te)]}function ne(t,e,i){const r=t[0]-e[0],n=t[1]-e[1],a=t[0]-i[0],o=t[1]-i[1];return r*o-a*n==0&&r*a<=0&&n*o<=0}function ae(t,e){let i=!1;for(let o=0,s=e.length;o(r=t)[1]!=(a=s[e+1])[1]>r[1]&&r[0]<(a[0]-n[0])*(r[1]-n[1])/(a[1]-n[1])+n[0]&&(i=!i)}}var r,n,a;return i}function oe(t,e){for(let i=0;i0&&s<0||o<0&&s>0}function le(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*r;let n=t[0]-i[0]>e?-r:i[0]-t[0]>e?r:0;0===n&&(n=t[0]-i[2]>e?-r:i[2]-t[0]>e?r:0),t[0]+=n}ee(e,t)}function me(t,e,i,r){const n=Math.pow(2,r.z)*te,a=[r.x*te,r.y*te],o=[];for(const s of t)for(const t of s){const r=[t.x+a[0],t.y+a[1]];de(r,e,i,n),o.push(r)}return o}function fe(t,e,i,r){const n=Math.pow(2,r.z)*te,a=[r.x*te,r.y*te],o=[];for(const l of t){const t=[];for(const i of l){const r=[i.x+a[0],i.y+a[1]];ee(e,r),t.push(r)}o.push(t)}if(e[2]-e[0]<=n/2){(s=e)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(const t of o)for(const r of t)de(r,e,i,n)}var s;return o}class ge{constructor(t,e){this.type=mt,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Nt(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!_e(t)&&(e=!1)})),e}function ye(t){if(t instanceof Yt&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!ye(t)&&(e=!1)})),e}function xe(t,e){if(t instanceof Yt&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!xe(t,e)&&(i=!1)})),i}class ve{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const i=t[1];return e.scope.has(i)?new ve(i,e.scope.get(i)):e.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}}class be{constructor(t,e=[],i,r=new ht,n=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i}parse(t,e,i,r,n={}){return e?this.concat(e,i,r)._parse(t,n):this._parse(t,n)}_parse(t,e){function i(t,e,i){return"assert"===i?new Xt(e,[t]):"coerce"===i?new Wt(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[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(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,n=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==n.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==n.kind&&"string"!==n.kind)if("padding"!==t.kind||"value"!==n.kind&&"number"!==n.kind&&"array"!==n.kind){if(this.checkSubtype(t,n))return null}else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"assert")}if(!(r instanceof qt)&&"resolvedImage"!==r.type.kind&&we(r)){const e=new Jt;try{r=new qt(r.type,r.evaluate(e))}catch(t){return this.error(t.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,i){const r="number"==typeof t?this.path.concat(t):this.path,n=i?this.scope.concat(i):this.scope;return new be(this.registry,r,e||null,n,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new ct(i,t))}checkSubtype(t,e){const i=St(t,e);return i&&this.error(i),i}}function we(t){if(t instanceof ve)return we(t.boundExpression);if(t instanceof Yt&&"error"===t.name)return!1;if(t instanceof Qt)return!1;if(t instanceof ge)return!1;const e=t instanceof Wt||t instanceof Xt;let i=!0;return t.eachChild((t=>{i=e?i&&we(t):i&&t instanceof qt})),!!i&&_e(t)&&xe(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Te(t,e){const i=t.length-1;let r,n,a=0,o=i,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=t[s],n=t[s+1],r<=e){if(s===i||ee))throw new Zt("Input is not a number.");o=s-1}return 0}class Ee{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[r,n]of i)this.labels.push(r),this.outputs.push(n)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=[];let n=null;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(let a=1;a=i)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);const c=e.parse(o,l,n);if(!c)return null;n=n||c.type,r.push([i,c])}return new Ee(n,i,r)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;return r>=e[n-1]?i[n-1].evaluate(t):i[Te(e,r)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t,e,i){return t*(1-i)+e*i}var Ie=Object.freeze({__proto__:null,number:Se,color:function(t,e,i){return new Lt(Se(t.r,e.r,i),Se(t.g,e.g,i),Se(t.b,e.b,i),Se(t.a,e.a,i))},array:function(t,e,i){return t.map(((t,r)=>Se(t,e[r],i)))},padding:function(t,e,i){const r=t.values,n=e.values;return new Ot([Se(r[0],n[0],i),Se(r[1],n[1],i),Se(r[2],n[2],i),Se(r[3],n[3],i)])}});const ze=.95047,Ce=1.08883,Ae=4/29,ke=6/29,Me=3*ke*ke,Pe=Math.PI/180,De=180/Math.PI;function Le(t){return t>.008856451679035631?Math.pow(t,1/3):t/Me+Ae}function Be(t){return t>ke?t*t*t:Me*(t-Ae)}function Re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Oe(t){const e=Fe(t.r),i=Fe(t.g),r=Fe(t.b),n=Le((.4124564*e+.3575761*i+.1804375*r)/ze),a=Le((.2126729*e+.7151522*i+.072175*r)/1);return{l:116*a-16,a:500*(n-a),b:200*(a-Le((.0193339*e+.119192*i+.9503041*r)/Ce)),alpha:t.a}}function Ve(t){let e=(t.l+16)/116,i=isNaN(t.a)?e:e+t.a/500,r=isNaN(t.b)?e:e-t.b/200;return e=1*Be(e),i=ze*Be(i),r=Ce*Be(r),new Lt(Re(3.2404542*i-1.5371385*e-.4985314*r),Re(-.969266*i+1.8760108*e+.041556*r),Re(.0556434*i-.2040259*e+1.0572252*r),t.alpha)}function Ue(t,e,i){const r=e-t;return t+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const Ne={forward:Oe,reverse:Ve,interpolate:function(t,e,i){return{l:Se(t.l,e.l,i),a:Se(t.a,e.a,i),b:Se(t.b,e.b,i),alpha:Se(t.alpha,e.alpha,i)}}},$e={forward:function(t){const{l:e,a:i,b:r}=Oe(t),n=Math.atan2(r,i)*De;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Pe,i=t.c;return Ve({l:t.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:t.alpha})},interpolate:function(t,e,i){return{h:Ue(t.h,e.h,i),c:Se(t.c,e.c,i),l:Se(t.l,e.l,i),alpha:Se(t.alpha,e.alpha,i)}}};var Ge=Object.freeze({__proto__:null,lab:Ne,hcl:$e});class qe{constructor(t,e,i,r,n){this.type=t,this.operator=e,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[a,o]of n)this.labels.push(a),this.outputs.push(o)}static interpolationFactor(t,i,r,n){let a=0;if("exponential"===t.name)a=Ze(i,t.base,r,n);else if("linear"===t.name)a=Ze(i,1,r,n);else if("cubic-bezier"===t.name){const o=t.controlPoints;a=new e(o[0],o[1],o[2],o[3]).solve(Ze(i,1,r,n))}return a}static parse(t,e){let[i,r,n,...a]=t;if(!Array.isArray(r)||0===r.length)return e.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const t=r[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:t}}else{if("cubic-bezier"!==r[0])return e.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const t=r.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(n=e.parse(n,2,pt),!n)return null;const o=[];let s=null;"interpolate-hcl"===i||"interpolate-lab"===i?s=ft:e.expectedType&&"value"!==e.expectedType.kind&&(s=e.expectedType);for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=e.parse(i,n,s);if(!c)return null;s=s||c.type,o.push([t,c])}return"number"===s.kind||"color"===s.kind||"padding"===s.kind||"array"===s.kind&&"number"===s.itemType.kind&&"number"==typeof s.N?new qe(s,i,r,n,o):e.error(`Type ${Tt(s)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;if(r>=e[n-1])return i[n-1].evaluate(t);const a=Te(e,r),o=qe.interpolationFactor(this.interpolation,r,e[a],e[a+1]),s=i[a].evaluate(t),l=i[a+1].evaluate(t);return"interpolate"===this.operator?Ie[this.type.kind.toLowerCase()](s,l,o):"interpolate-hcl"===this.operator?$e.reverse($e.interpolate($e.forward(s),$e.forward(l),o)):Ne.reverse(Ne.interpolate(Ne.forward(s),Ne.forward(l),o))}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ze(t,e,i,r){const n=r-i,a=t-i;return 0===n?0:1===e?a/n:(Math.pow(e,a)-1)/(Math.pow(e,n)-1)}class je{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let i=null;const r=e.expectedType;r&&"value"!==r.kind&&(i=r);const n=[];for(const o of t.slice(1)){const t=e.parse(o,1+n.length,i,void 0,{typeAnnotation:"omit"});if(!t)return null;i=i||t.type,n.push(t)}if(!i)throw new Error("No output type");const a=r&&n.some((t=>St(r,t.type)));return new je(a?_t:i,n)}evaluate(t){let e,i=null,r=0;for(const n of this.args)if(r++,i=n.evaluate(t),i&&i instanceof Vt&&!i.available&&(e||(e=i.name),i=null,r===this.args.length&&(i=e)),null!==i)break;return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class Xe{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new Zt(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new Zt(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class We{constructor(t,e){this.type=mt,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);return i&&r?It(i.type,[mt,dt,pt,ut,_t])?new We(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!zt(e,["boolean","string","number","null"]))throw new Zt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt($t(e))} instead.`);if(!zt(i,["string","array"]))throw new Zt(`Expected second argument to be of type array or string, but found ${Tt($t(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class Ke{constructor(t,e,i){this.type=pt,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);if(!i||!r)return null;if(!It(i.type,[mt,dt,pt,ut,_t]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Ke(i,r,n):null}return new Ke(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!zt(e,["boolean","string","number","null"]))throw new Zt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt($t(e))} instead.`);if(!zt(i,["string","array"]))throw new Zt(`Expected second argument to be of type array or string, but found ${Tt($t(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(t);return i.indexOf(e,r)}return i.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class Je{constructor(t,e,i,r,n,a){this.inputType=t,this.type=e,this.input=i,this.cases=r,this.outputs=n,this.otherwise=a}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let i,r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n={},a=[];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 t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,$t(t)))return null}else i=$t(t);if(void 0!==n[String(t)])return c.error("Branch labels must be unique.");n[String(t)]=a.length}const h=e.parse(s,l,r);if(!h)return null;r=r||h.type,a.push(h)}const o=e.parse(t[1],1,_t);if(!o)return null;const s=e.parse(t[t.length-1],t.length-1,r);return s?"value"!==o.type.kind&&e.concat(1).checkSubtype(i,o.type)?null:new Je(i,r,o,n,a,s):null}evaluate(t){const e=this.input.evaluate(t);return($t(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class Ye{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r=[];for(let a=1;ae.outputDefined()))&&this.otherwise.outputDefined()}}class Qe{constructor(t,e,i,r){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,pt);if(!i||!r)return null;if(!It(i.type,[wt(_t),dt,_t]))return e.error(`Expected first argument to be of type array or string, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Qe(i.type,i,r,n):null}return new Qe(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!zt(e,["string","array"]))throw new Zt(`Expected first argument to be of type array or string, but found ${Tt($t(e))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(t);return e.slice(i,r)}return e.slice(i)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ti(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function ei(t,e,i,r){return 0===r.compare(e,i)}function ii(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=mt,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let a=e.parse(t[1],1,_t);if(!a)return null;if(!ti(i,a.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${Tt(a.type)}'.`);let o=e.parse(t[2],2,_t);if(!o)return null;if(!ti(i,o.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${Tt(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${Tt(a.type)}' and '${Tt(o.type)}'.`);r&&("value"===a.type.kind&&"value"!==o.type.kind?a=new Xt(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new Xt(a.type,[o])));let s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(s=e.parse(t[3],3,yt),!s)return null}return new n(a,o,s)}evaluate(n){const a=this.lhs.evaluate(n),o=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const e=$t(a),i=$t(o);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new Zt(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const t=$t(a),i=$t(o);if("string"!==t.kind||"string"!==i.kind)return e(n,a,o)}return this.collator?i(n,a,o,this.collator.evaluate(n)):e(n,a,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const ri=ii("==",(function(t,e,i){return e===i}),ei),ni=ii("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!ei(0,e,i,r)})),ai=ii("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),si=ii("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),li=ii(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class ci{constructor(t,e,i,r,n){this.type=dt,this.number=t,this.locale=e,this.currency=i,this.minFractionDigits=r,this.maxFractionDigits=n}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=t[2];if("object"!=typeof r||Array.isArray(r))return e.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=e.parse(r.locale,1,dt),!n))return null;let a=null;if(r.currency&&(a=e.parse(r.currency,1,dt),!a))return null;let o=null;if(r["min-fraction-digits"]&&(o=e.parse(r["min-fraction-digits"],1,pt),!o))return null;let s=null;return r["max-fraction-digits"]&&(s=e.parse(r["max-fraction-digits"],1,pt),!s)?null:new ci(i,n,a,o,s)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class hi{constructor(t){this.type=xt,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const r=[];let n=!1;for(let a=1;a<=t.length-1;++a){const i=t[a];if(n&&"object"==typeof i&&!Array.isArray(i)){n=!1;let t=null;if(i["font-scale"]&&(t=e.parse(i["font-scale"],1,pt),!t))return null;let a=null;if(i["text-font"]&&(a=e.parse(i["text-font"],1,wt(dt)),!a))return null;let o=null;if(i["text-color"]&&(o=e.parse(i["text-color"],1,ft),!o))return null;const s=r[r.length-1];s.scale=t,s.font=a,s.textColor=o}else{const i=e.parse(t[a],1,_t);if(!i)return null;const o=i.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.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 hi(r)}evaluate(t){return new Ft(this.sections.map((e=>{const i=e.content.evaluate(t);return $t(i)===bt?new Rt("",i,null,null,null):new Rt(Gt(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class ui{constructor(t){this.type=bt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,dt);return i?new ui(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Vt.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class pi{constructor(t){this.type=pt,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${Tt(i.type)} instead.`):new pi(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Zt(`Expected value to be of type string or array, but found ${Tt($t(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const di={"==":ri,"!=":ni,">":oi,"<":ai,">=":li,"<=":si,array:Xt,at:He,boolean:Xt,case:Ye,coalesce:je,collator:Qt,format:hi,image:ui,in:We,"index-of":Ke,interpolate:qe,"interpolate-hcl":qe,"interpolate-lab":qe,length:pi,let:Xe,literal:qt,match:Je,number:Xt,"number-format":ci,object:Xt,slice:Qe,step:Ee,string:Xt,"to-boolean":Wt,"to-color":Wt,"to-number":Wt,"to-string":Wt,var:ve,within:ge};function mi(t,[e,i,r,n]){e=e.evaluate(t),i=i.evaluate(t),r=r.evaluate(t);const a=n?n.evaluate(t):1,o=Ut(e,i,r,a);if(o)throw new Zt(o);return new Lt(e/255*a,i/255*a,r/255*a,a)}function fi(t,e){return t in e}function gi(t,e){const i=e[t];return void 0===i?null:i}function _i(t){return{type:t}}function yi(t){return{result:"success",value:t}}function xi(t){return{result:"error",value:t}}function vi(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function bi(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function wi(t){return!!t.expression&&t.expression.interpolated}function Ti(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Ei(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Si(t){return t}function Ii(t,e){const i="color"===e.type,r=t.stops&&"object"==typeof t.stops[0][0],n=r||!(r||void 0!==t.property),a=t.type||(wi(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?Lt.parse:Ot.parse;(t=ot({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],r(t[1])]))),t.default=r(t.default?t.default:e.default)}if(t.colorSpace&&"rgb"!==t.colorSpace&&!Ge[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let o,s,l;if("exponential"===a)o=ki;else if("interval"===a)o=Ai;else if("categorical"===a){o=Ci,s=Object.create(null);for(const e of t.stops)s[e[0]]=e[1];l=typeof t.stops[0][0]}else{if("identity"!==a)throw new Error(`Unknown function type "${a}"`);o=Mi}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>ki({stops:n,base:t.base},e,i).evaluate(i,r)}}if(n){const i="exponential"===a?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:qe.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>o(t,e,i,s,l)}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[t.property]:void 0;return void 0===n?zi(t.default,e.default):o(t,e,n,s,l)}}}function zi(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function Ci(t,e,i,r,n){return zi(typeof i===n?r[i]:void 0,t.default,e.default)}function Ai(t,e,i){if("number"!==Ti(i))return zi(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const n=Te(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function ki(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==Ti(i))return zi(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const a=Te(t.stops.map((t=>t[0])),i),o=function(t,e,i,r){const n=r-i,a=t-i;return 0===n?0:1===e?a/n:(Math.pow(e,a)-1)/(Math.pow(e,n)-1)}(i,r,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1];let c=Ie[e.type]||Si;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=Ge[t.colorSpace];c=(t,i)=>e.reverse(e.interpolate(e.forward(t),e.forward(i),o))}return"function"==typeof s.evaluate?{evaluate(...t){const e=s.evaluate.apply(void 0,t),i=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==i)return c(e,i,o)}}:c(s,l,o)}function Mi(t,e,i){switch(e.type){case"color":i=Lt.parse(i);break;case"formatted":i=Ft.fromString(i.toString());break;case"resolvedImage":i=Vt.fromString(i.toString());break;case"padding":i=Ot.parse(i);break;default:Ti(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return zi(i,t.default,e.default)}Yt.register(di,{error:[{kind:"error"},[dt],(t,[e])=>{throw new Zt(e.evaluate(t))}],typeof:[dt,[_t],(t,[e])=>Tt($t(e.evaluate(t)))],"to-rgba":[wt(pt,4),[ft],(t,[e])=>e.evaluate(t).toArray()],rgb:[ft,[pt,pt,pt],mi],rgba:[ft,[pt,pt,pt,pt],mi],has:{type:mt,overloads:[[[dt],(t,[e])=>fi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>fi(e.evaluate(t),i.evaluate(t))]]},get:{type:_t,overloads:[[[dt],(t,[e])=>gi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>gi(e.evaluate(t),i.evaluate(t))]]},"feature-state":[_t,[dt],(t,[e])=>gi(e.evaluate(t),t.featureState||{})],properties:[gt,[],t=>t.properties()],"geometry-type":[dt,[],t=>t.geometryType()],id:[_t,[],t=>t.id()],zoom:[pt,[],t=>t.globals.zoom],"heatmap-density":[pt,[],t=>t.globals.heatmapDensity||0],"line-progress":[pt,[],t=>t.globals.lineProgress||0],accumulated:[_t,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pt,_i(pt),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[pt,_i(pt),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:pt,overloads:[[[pt,pt],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[pt],(t,[e])=>-e.evaluate(t)]]},"/":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[pt,[],()=>Math.LN2],pi:[pt,[],()=>Math.PI],e:[pt,[],()=>Math.E],"^":[pt,[pt,pt],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[pt,[pt],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))],log2:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pt,[pt],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pt,[pt],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pt,[pt],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pt,[pt],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pt,[pt],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pt,[pt],(t,[e])=>Math.atan(e.evaluate(t))],min:[pt,_i(pt),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[pt,_i(pt),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[pt,[pt],(t,[e])=>Math.abs(e.evaluate(t))],round:[pt,[pt],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[pt,[pt],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pt,[pt],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[mt,[dt,_t],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[mt,[_t],(t,[e])=>t.id()===e.value],"filter-type-==":[mt,[dt],(t,[e])=>t.geometryType()===e.value],"filter-<":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r{const i=t.id(),r=e.value;return typeof i==typeof r&&i":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[mt,[_t],(t,[e])=>e.value in t.properties()],"filter-has-id":[mt,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[mt,[wt(dt)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[mt,[wt(_t)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[mt,[dt,wt(_t)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[mt,[dt,wt(_t)],(t,[e,i])=>function(t,e,i,r){for(;i<=r;){const n=i+r>>1;if(e[n]===t)return!0;e[n]>t?r=n-1:i=n+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[mt,[mt],(t,[e])=>!e.evaluate(t)],"is-supported-script":[mt,[dt],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[dt,[dt],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[dt,[dt],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[dt,_i(_t),(t,e)=>e.map((e=>Gt(e.evaluate(t)))).join("")],"resolved-locale":[dt,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Pi{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Jt,this._defaultValue=e?function(t){return"color"===t.type&&Ei(t.default)?new Lt(0,0,0,0):"color"===t.type?Lt.parse(t.default)||null:"padding"===t.type?Ot.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,r,n,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,r,n,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Zt(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Di(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in di}function Li(t,e){const i=new be(di,[],e?function(t){const e={color:ft,string:dt,number:pt,enum:dt,boolean:mt,formatted:xt,padding:vt,resolvedImage:bt};return"array"===t.type?wt(e[t.value]||_t,t.length):e[t.type]}(e):void 0),r=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return r?yi(new Pi(r,e)):xi(i.errors)}class Bi{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!ye(e.expression)}evaluateWithoutErrorHandling(t,e,i,r,n,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,a)}evaluate(t,e,i,r,n,a){return this._styleExpression.evaluate(t,e,i,r,n,a)}}class Ri{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!ye(e.expression),this.interpolationType=r}evaluateWithoutErrorHandling(t,e,i,r,n,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,a)}evaluate(t,e,i,r,n,a){return this._styleExpression.evaluate(t,e,i,r,n,a)}interpolationFactor(t,e,i){return this.interpolationType?qe.interpolationFactor(this.interpolationType,t,e,i):0}}function Fi(t,e){const i=Li(t,e);if("error"===i.result)return i;const r=i.value.expression,n=_e(r);if(!n&&!vi(e))return xi([new ct("","data expressions not supported")]);const a=xe(r,["zoom"]);if(!a&&!bi(e))return xi([new ct("","zoom expressions not supported")]);const o=Vi(r);return o||a?o instanceof ct?xi([o]):o instanceof qe&&!wi(e)?xi([new ct("",'"interpolate" expressions cannot be used with this property')]):yi(o?new Ri(n?"camera":"composite",i.value,o.labels,o instanceof qe?o.interpolation:void 0):new Bi(n?"constant":"source",i.value)):xi([new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Oi{constructor(t,e){this._parameters=t,this._specification=e,ot(this,Ii(this._parameters,this._specification))}static deserialize(t){return new Oi(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Vi(t){let e=null;if(t instanceof Xe)e=Vi(t.result);else if(t instanceof je){for(const i of t.args)if(e=Vi(i),e)break}else(t instanceof Ee||t instanceof qe)&&t.input instanceof Yt&&"zoom"===t.input.name&&(e=t);return e instanceof ct||t.eachChild((t=>{const i=Vi(t);i instanceof ct?e=i:!e&&i?e=new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new ct("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Ui(t){const e=t.key,i=t.value,r=t.valueSpec||{},n=t.objectElementValidators||{},a=t.style,o=t.styleSpec;let s=[];const l=Ti(i);if("object"!==l)return[new nt(e,i,`object expected, ${l} found`)];for(const c in i){const t=c.split(".")[0],l=r[t]||r["*"];let h;if(n[t])h=n[t];else if(r[t])h=mr;else if(n["*"])h=n["*"];else{if(!r["*"]){s.push(new nt(e,i[c],`unknown property "${c}"`));continue}h=mr}s=s.concat(h({key:(e?`${e}.`:e)+c,value:i[c],valueSpec:l,style:a,styleSpec:o,object:i,objectKey:c},i))}for(const c in r)n[c]||r[c].required&&void 0===r[c].default&&void 0===i[c]&&s.push(new nt(e,i,`missing required property "${c}"`));return s}function Ni(t){const e=t.value,i=t.valueSpec,r=t.style,n=t.styleSpec,a=t.key,o=t.arrayElementValidator||mr;if("array"!==Ti(e))return[new nt(a,e,`array expected, ${Ti(e)} found`)];if(i.length&&e.length!==i.length)return[new nt(a,e,`array length ${i.length} expected, length ${e.length} found`)];if(i["min-length"]&&e.lengthr.maximum?[new nt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function Gi(t){const e=t.valueSpec,i=st(t.value.type);let r,n,a,o={};const s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===Ti(t.value.stops)&&"array"===Ti(t.value.stops[0])&&"object"===Ti(t.value.stops[0][0]),h=Ui({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nt(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const r=t.value;return e=e.concat(Ni({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===Ti(r)&&0===r.length&&e.push(new nt(t.key,r,"array must have at least one stop")),e},default:function(t){return mr({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&h.push(new nt(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||h.push(new nt(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!wi(t.valueSpec)&&h.push(new nt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!vi(t.valueSpec)?h.push(new nt(t.key,t.value,"property functions not supported")):s&&!bi(t.valueSpec)&&h.push(new nt(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||h.push(new nt(t.key,t.value,'"property" property is required')),h;function u(t){let i=[];const r=t.value,s=t.key;if("array"!==Ti(r))return[new nt(s,r,`array expected, ${Ti(r)} found`)];if(2!==r.length)return[new nt(s,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==Ti(r[0]))return[new nt(s,r,`object expected, ${Ti(r[0])} found`)];if(void 0===r[0].zoom)return[new nt(s,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new nt(s,r,"object stop key must have value")];if(a&&a>st(r[0].zoom))return[new nt(s,r[0].zoom,"stop zoom values must appear in ascending order")];st(r[0].zoom)!==a&&(a=st(r[0].zoom),n=void 0,o={}),i=i.concat(Ui({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:$i,value:p}}))}else i=i.concat(p({key:`${s}[0]`,value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},r));return Di(lt(r[1]))?i.concat([new nt(`${s}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(mr({key:`${s}[1]`,value:r[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,a){const s=Ti(t.value),l=st(t.value),c=null!==t.value?t.value:a;if(r){if(s!==r)return[new nt(t.key,c,`${s} stop domain type must match previous stop domain type ${r}`)]}else r=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new nt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){let r=`number expected, ${s} found`;return vi(e)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nt(t.key,c,r)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==n&&lnew nt(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nt(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!xe(i,["zoom","feature-state"]))return[new nt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!_e(i))return[new nt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Zi(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(st(i))&&n.push(new nt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(st(i))&&n.push(new nt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function ji(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!ji(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Xi={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Hi(t){if(null==t)return{filter:()=>!0,needGeometry:!1};ji(t)||(t=Ji(t));const e=Li(t,Xi);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,i,r)=>e.value.evaluate(t,i,{},r),needGeometry:Ki(t)}}function Wi(t,e){return te?1:0}function Ki(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Yi(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(Ji))):"all"===e?["all"].concat(t.slice(1).map(Ji)):"none"===e?["all"].concat(t.slice(1).map(Ji).map(er)):"in"===e?Qi(t[1],t.slice(2)):"!in"===e?er(Qi(t[1],t.slice(2))):"has"===e?tr(t[1]):"!has"===e?er(tr(t[1])):"within"!==e||t;var i}function Yi(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function Qi(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(Wi)]]:["filter-in-small",t,["literal",e]]}}function tr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function er(t){return["!",t]}function ir(t){return ji(lt(t.value))?qi(ot({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):rr(t)}function rr(t){const e=t.value,i=t.key;if("array"!==Ti(e))return[new nt(i,e,`array expected, ${Ti(e)} found`)];const r=t.styleSpec;let n,a=[];if(e.length<1)return[new nt(i,e,"filter array must have at least 1 element")];switch(a=a.concat(Zi({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),st(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===st(e[1])&&a.push(new nt(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&a.push(new nt(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(n=Ti(e[1]),"string"!==n&&a.push(new nt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let o=2;o{t in i&&e.push(new nt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{st(e.id)===s&&(t=e)})),t?t.ref?e.push(new nt(r,i.ref,"ref cannot reference another ref layer")):o=st(t.type):e.push(new nt(r,i.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(i.source){const t=n.sources&&n.sources[i.source],a=t&&st(t.type);t?"vector"===a&&"raster"===o?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster"===a&&"raster"!==o?e.push(new nt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==a||i["source-layer"]?"raster-dem"===a&&"hillshade"!==o?e.push(new nt(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!i.paint||!i.paint["line-gradient"]||"geojson"===a&&t.lineMetrics||e.push(new nt(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nt(r,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nt(r,i.source,`source "${i.source}" not found`))}else e.push(new nt(r,i,'missing required property "source"'));return e=e.concat(Ui({key:r,value:i,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>mr({key:`${r}.type`,value:i.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:i,objectKey:"type"}),filter:ir,layout:t=>Ui({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>or(ot({layerType:o},t))}}),paint:t=>Ui({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>ar(ot({layerType:o},t))}})}})),e}function lr(t){const e=t.value,i=t.key,r=Ti(e);return"string"!==r?[new nt(i,e,`string expected, ${r} found`)]:[]}const cr={promoteId:function({key:t,value:e}){if("string"===Ti(e))return lr({key:t,value:e});{const i=[];for(const r in e)i.push(...lr({key:`${t}.${r}`,value:e[r]}));return i}}};function hr(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style;if(!e.type)return[new nt(i,e,'"type" is required')];const a=st(e.type);let o;switch(a){case"vector":case"raster":case"raster-dem":return o=Ui({key:i,value:e,valueSpec:r[`source_${a.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:cr}),o;case"geojson":if(o=Ui({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,objectElementValidators:cr}),e.cluster)for(const t in e.clusterProperties){const[r,n]=e.clusterProperties[t],a="string"==typeof r?[r,["accumulated"],["get",t]]:r;o.push(...qi({key:`${i}.${t}.map`,value:n,expressionContext:"cluster-map"})),o.push(...qi({key:`${i}.${t}.reduce`,value:a,expressionContext:"cluster-reduce"}))}return o;case"video":return Ui({key:i,value:e,valueSpec:r.source_video,style:n,styleSpec:r});case"image":return Ui({key:i,value:e,valueSpec:r.source_image,style:n,styleSpec:r});case"canvas":return[new nt(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Zi({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,styleSpec:r})}}function ur(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let a=[];const o=Ti(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new nt("light",e,`object expected, ${o} found`)]),a;for(const s in e){const t=s.match(/^(.*)-transition$/);a=a.concat(t&&r[t[1]]&&r[t[1]].transition?mr({key:s,value:e[s],valueSpec:i.transition,style:n,styleSpec:i}):r[s]?mr({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)])}return a}function pr(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let a=[];const o=Ti(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new nt("terrain",e,`object expected, ${o} found`)]),a;for(const s in e)a=a.concat(r[s]?mr({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)]);return a}const dr={"*":()=>[],array:Ni,boolean:function(t){const e=t.value,i=t.key,r=Ti(e);return"boolean"!==r?[new nt(i,e,`boolean expected, ${r} found`)]:[]},number:$i,color:function(t){const e=t.key,i=t.value,r=Ti(i);return"string"!==r?[new nt(e,i,`color expected, ${r} found`)]:null===Ct(i)?[new nt(e,i,`color expected, "${i}" found`)]:[]},constants:at,enum:Zi,filter:ir,function:Gi,layer:sr,object:Ui,source:hr,light:ur,terrain:pr,string:lr,formatted:function(t){return 0===lr(t).length?[]:qi(t)},resolvedImage:function(t){return 0===lr(t).length?[]:qi(t)},padding:function(t){const e=t.key,i=t.value;if("array"===Ti(i)){if(i.length<1||i.length>4)return[new nt(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const t={type:"number"};let r=[];for(let n=0;n[]}})),t.constants&&(i=i.concat(at({key:"constants",value:t.constants,style:t,styleSpec:e}))),_r(i)}function _r(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function yr(t){return function(...e){return _r(t.apply(this,e))}}gr.source=yr(hr),gr.light=yr(ur),gr.terrain=yr(pr),gr.layer=yr(sr),gr.filter=yr(ir),gr.paintProperty=yr(ar),gr.layoutProperty=yr(or);const xr=gr,vr=xr.light,br=xr.paintProperty,wr=xr.layoutProperty;function Tr(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new et(new Error(r.message))),i=!0;return i}class Er{constructor(t,e,i){const r=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const n=new Int32Array(this.arrayBuffer);t=n[0],this.d=(e=n[1])+2*(i=n[2]);for(let t=0;t=c[l+0]&&r>=c[l+1])?(o[u]=!0,a.push(n[u])):o[u]=!1}}}}_forEachCell(t,e,i,r,n,a,o,s){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++){const c=this.d*l+p;if((!s||s(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&n.call(this,t,e,i,r,c,a,o,s))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let i=0;for(let a=0;a=0)continue;const a=t[i];n[i]=Sr[r].shallow.indexOf(i)>=0?a:Cr(a,e)}t instanceof Error&&(n.message=t.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 t)}function Ar(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||zr(t)||T(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Ar);if("object"==typeof t){const e=t.$name||"Object";if(!Sr[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=Sr[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const r=Object.create(i.prototype);for(const n of Object.keys(t)){if("$name"===n)continue;const i=t[n];r[n]=Sr[e].shallow.indexOf(n)>=0?i:Ar(i)}return r}throw new Error("can't deserialize object of type "+typeof t)}class kr{constructor(){this.first=!0}update(t,e){const i=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function Pr(t){for(const e of t)if(Br(e.charCodeAt(0)))return!0;return!1}function Dr(t){for(const e of t)if(!Lr(e.charCodeAt(0)))return!1;return!0}function Lr(t){return!(Mr.Arabic(t)||Mr["Arabic Supplement"](t)||Mr["Arabic Extended-A"](t)||Mr["Arabic Presentation Forms-A"](t)||Mr["Arabic Presentation Forms-B"](t))}function Br(t){return!(746!==t&&747!==t&&(t<4352||!(Mr["Bopomofo Extended"](t)||Mr.Bopomofo(t)||Mr["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Mr["CJK Compatibility Ideographs"](t)||Mr["CJK Compatibility"](t)||Mr["CJK Radicals Supplement"](t)||Mr["CJK Strokes"](t)||!(!Mr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Mr["CJK Unified Ideographs Extension A"](t)||Mr["CJK Unified Ideographs"](t)||Mr["Enclosed CJK Letters and Months"](t)||Mr["Hangul Compatibility Jamo"](t)||Mr["Hangul Jamo Extended-A"](t)||Mr["Hangul Jamo Extended-B"](t)||Mr["Hangul Jamo"](t)||Mr["Hangul Syllables"](t)||Mr.Hiragana(t)||Mr["Ideographic Description Characters"](t)||Mr.Kanbun(t)||Mr["Kangxi Radicals"](t)||Mr["Katakana Phonetic Extensions"](t)||Mr.Katakana(t)&&12540!==t||!(!Mr["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Mr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Mr["Unified Canadian Aboriginal Syllabics"](t)||Mr["Unified Canadian Aboriginal Syllabics Extended"](t)||Mr["Vertical Forms"](t)||Mr["Yijing Hexagram Symbols"](t)||Mr["Yi Syllables"](t)||Mr["Yi Radicals"](t))))}function Rr(t){return!(Br(t)||function(t){return!!(Mr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Mr["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Mr["Letterlike Symbols"](t)||Mr["Number Forms"](t)||Mr["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Mr["Control Pictures"](t)&&9251!==t||Mr["Optical Character Recognition"](t)||Mr["Enclosed Alphanumerics"](t)||Mr["Geometric Shapes"](t)||Mr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Mr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Mr["CJK Symbols and Punctuation"](t)||Mr.Katakana(t)||Mr["Private Use Area"](t)||Mr["CJK Compatibility Forms"](t)||Mr["Small Form Variants"](t)||Mr["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Fr(t){return t>=1424&&t<=2303||Mr["Arabic Presentation Forms-A"](t)||Mr["Arabic Presentation Forms-B"](t)}function Or(t,e){return!(!e&&Fr(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Mr.Khmer(t))}function Vr(t){for(const e of t)if(Fr(e.charCodeAt(0)))return!0;return!1}const Ur="deferred",Nr="loading",$r="loaded";let Gr=null,qr="unavailable",Zr=null;const jr=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(qr="error"),Gr&&Gr(t)};function Xr(){Hr.fire(new tt("pluginStateChange",{pluginStatus:qr,pluginURL:Zr}))}const Hr=new it,Wr=function(){return qr},Kr=function(){if(qr!==Ur||!Zr)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");qr=Nr,Xr(),Zr&&j({url:Zr},(t=>{t?jr(t):(qr=$r,Xr())}))},Jr={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>qr===$r||null!=Jr.applyArabicShaping,isLoading:()=>qr===Nr,setState(t){if(!_())throw new Error("Cannot set the state of the rtl-text-plugin when not in the web-worker context");qr=t.pluginStatus,Zr=t.pluginURL},isParsed(){if(!_())throw new Error("rtl-text-plugin is only parsed on the worker-threads");return null!=Jr.applyArabicShaping&&null!=Jr.processBidirectionalText&&null!=Jr.processStyledBidirectionalText},getPluginURL(){if(!_())throw new Error("rtl-text-plugin url can only be queried from the worker threads");return Zr}};class Yr{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new kr,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Or(i.charCodeAt(0),e))return!1;return!0}(t,Jr.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*e}}}class Qr{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Ei(t))return new Oi(t,e);if(Di(t)){const i=Fi(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"color"===e.type&&"string"==typeof t?i=Lt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)||(i=Ot.parse(t)),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class tn{constructor(t){this.property=t,this.value=new Qr(t,void 0)}transitioned(t,e){return new rn(this.property,this.value,e,s({},t.transition,this.transition),t.now)}untransitioned(){return new rn(this.property,this.value,null,{},0)}}class en{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return p(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].value=new Qr(this._values[t].property,null===e?void 0:p(e))}getTransition(t){return p(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].transition=p(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const r=this.getTransition(e);void 0!==r&&(t[`${e}-transition`]=r)}return t}transitioned(t,e){const i=new nn(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(t,e._values[r]);return i}untransitioned(){const t=new nn(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class rn{constructor(t,e,i,r,n){this.property=t,this.value=e,this.begin=n+r.delay||0,this.end=this.begin+r.duration||0,t.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const r=t.now||0,n=this.value.possiblyEvaluate(t,e,i),a=this.prior;if(a){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}(o))}}return n}}class nn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new sn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class an{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}getValue(t){return p(this._values[t].value)}setValue(t,e){this._values[t]=new Qr(this._values[t].property,null===e?void 0:p(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i)}return t}possiblyEvaluate(t,e,i){const r=new sn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class on{constructor(t,e,i){this.property=t,this.value=e,this.parameters=i}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,i,r){return this.property.evaluate(this.value,this.parameters,t,e,i,r)}}class sn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class ln{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)}interpolate(t,e,i){const r=Ie[this.specification.type];return r?r(t,e,i):t}}class cn{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new on(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},i,r)}:t.expression,e)}interpolate(t,e,i){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new on(this,{kind:"constant",value:void 0},t.parameters);const r=Ie[this.specification.type];return r?new on(this,{kind:"constant",value:r(t.value.value,e.value.value,i)},t.parameters):t}evaluate(t,e,i,r,n,a){return"constant"===t.kind?t.value:t.evaluate(e,i,r,n,a)}}class hn extends cn{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new on(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r),a="resolvedImage"===t.property.specification.type&&"string"!=typeof n?n.name:n,o=this._calculate(a,a,a,e);return new on(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){const i=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new on(this,{kind:"constant",value:i},e)}return new on(this,t.expression,e)}evaluate(t,e,i,r,n,a){if("source"===t.kind){const o=t.evaluate(e,i,r,n,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},i,r),t.evaluate({zoom:Math.floor(e.zoom)},i,r),t.evaluate({zoom:Math.floor(e.zoom)+1},i,r),e):t.value}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class un{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){if(void 0!==t.value){if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r);return this._calculate(n,n,n,e)}return this._calculate(t.expression.evaluate(new Yr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class pn{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class dn{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const i=t[e];i.specification.overridable&&this.overridableProperties.push(e);const r=this.defaultPropertyValues[e]=new Qr(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new tn(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}Ir("DataDrivenProperty",cn),Ir("DataConstantProperty",ln),Ir("CrossFadedDataDrivenProperty",hn),Ir("CrossFadedProperty",un),Ir("ColorRampProperty",pn);const mn="-transition";class fn extends it{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new an(e.layout)),e.paint)){this._transitionablePaint=new en(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new sn(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(wr,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(mn)?this._transitionablePaint.getTransition(t.slice(0,-mn.length)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(br,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(mn))return this._transitionablePaint.setTransition(t.slice(0,-mn.length),e||void 0),!1;{const i=this._transitionablePaint._values[t],r="cross-faded-data-driven"===i.property.specification["property-type"],n=i.value.isDataDriven(),a=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||n||r||this._handleOverridablePaintPropertyUpdate(t,a,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={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&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),u(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,r,n={}){return(!n||!1!==n.validate)&&Tr(this,t.call(xr,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:rt,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof on&&vi(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const gn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class _n{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class yn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xn(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=gn[t.type].BYTES_PER_ELEMENT,a=i=vn(i,Math.max(e,n)),o=t.components||1;return r=Math.max(r,n),i+=n*o,{name:t.name,type:t.type,components:o,offset:a}})),size:vn(i,Math.max(r,e)),alignment:e}}function vn(t,e){return Math.ceil(t/e)*e}class bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.int16[r+0]=e,this.int16[r+1]=i,t}}bn.prototype.bytesPerElement=4,Ir("StructArrayLayout2i4",bn);class wn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,t}}wn.prototype.bytesPerElement=8,Ir("StructArrayLayout4i8",wn);class Tn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,a)}emplace(t,e,i,r,n,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=a,this.int16[s+5]=o,t}}Tn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i4i12",Tn);class En extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,a)}emplace(t,e,i,r,n,a,o){const s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.uint8[l+4]=r,this.uint8[l+5]=n,this.uint8[l+6]=a,this.uint8[l+7]=o,t}}En.prototype.bytesPerElement=8,Ir("StructArrayLayout2i4ub8",En);class Sn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.float32[r+0]=e,this.float32[r+1]=i,t}}Sn.prototype.bytesPerElement=8,Ir("StructArrayLayout2f8",Sn);class In extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c){const h=this.length;return this.resize(h+1),this.emplace(h,t,e,i,r,n,a,o,s,l,c)}emplace(t,e,i,r,n,a,o,s,l,c,h){const u=10*t;return this.uint16[u+0]=e,this.uint16[u+1]=i,this.uint16[u+2]=r,this.uint16[u+3]=n,this.uint16[u+4]=a,this.uint16[u+5]=o,this.uint16[u+6]=s,this.uint16[u+7]=l,this.uint16[u+8]=c,this.uint16[u+9]=h,t}}In.prototype.bytesPerElement=20,Ir("StructArrayLayout10ui20",In);class zn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c,h,u){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,i,r,n,a,o,s,l,c,h,u)}emplace(t,e,i,r,n,a,o,s,l,c,h,u,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=r,this.int16[d+3]=n,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=h,this.int16[d+10]=u,this.int16[d+11]=p,t}}zn.prototype.bytesPerElement=24,Ir("StructArrayLayout4i4ui4i24",zn);class Cn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.float32[n+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}Cn.prototype.bytesPerElement=12,Ir("StructArrayLayout3f12",Cn);class An extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}An.prototype.bytesPerElement=4,Ir("StructArrayLayout1ul4",An);class kn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,i,r,n,a,o,s,l)}emplace(t,e,i,r,n,a,o,s,l,c){const h=10*t,u=5*t;return this.int16[h+0]=e,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=a,this.int16[h+5]=o,this.uint32[u+3]=s,this.uint16[h+8]=l,this.uint16[h+9]=c,t}}kn.prototype.bytesPerElement=20,Ir("StructArrayLayout6i1ul2ui20",kn);class Mn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,a)}emplace(t,e,i,r,n,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=a,this.int16[s+5]=o,t}}Mn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i2i2i12",Mn);class Pn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n)}emplace(t,e,i,r,n,a){const o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=i,this.float32[o+2]=r,this.int16[s+6]=n,this.int16[s+7]=a,t}}Pn.prototype.bytesPerElement=16,Ir("StructArrayLayout2f1f2i16",Pn);class Dn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=i,this.float32[o+1]=r,this.float32[o+2]=n,t}}Dn.prototype.bytesPerElement=12,Ir("StructArrayLayout2ub2f12",Dn);class Ln extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,this.uint16[n+2]=r,t}}Ln.prototype.bytesPerElement=6,Ir("StructArrayLayout3ui6",Ln);class Bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g){const _=this.length;return this.resize(_+1),this.emplace(_,t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g)}emplace(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_){const y=24*t,x=12*t,v=48*t;return this.int16[y+0]=e,this.int16[y+1]=i,this.uint16[y+2]=r,this.uint16[y+3]=n,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=h,this.float32[x+7]=u,this.float32[x+8]=p,this.uint8[v+36]=d,this.uint8[v+37]=m,this.uint8[v+38]=f,this.uint32[x+10]=g,this.int16[y+22]=_,t}}Bn.prototype.bytesPerElement=48,Ir("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Bn);class Rn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,z){const C=this.length;return this.resize(C+1),this.emplace(C,t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,z)}emplace(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,z,C){const A=34*t,k=17*t;return this.int16[A+0]=e,this.int16[A+1]=i,this.int16[A+2]=r,this.int16[A+3]=n,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=l,this.uint16[A+8]=c,this.uint16[A+9]=h,this.uint16[A+10]=u,this.uint16[A+11]=p,this.uint16[A+12]=d,this.uint16[A+13]=m,this.uint16[A+14]=f,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=y,this.uint16[A+18]=x,this.uint16[A+19]=v,this.uint16[A+20]=b,this.uint16[A+21]=w,this.uint16[A+22]=T,this.uint32[k+12]=E,this.float32[k+13]=S,this.float32[k+14]=I,this.float32[k+15]=z,this.float32[k+16]=C,t}}Rn.prototype.bytesPerElement=68,Ir("StructArrayLayout8i15ui1ul4f68",Rn);class Fn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Fn.prototype.bytesPerElement=4,Ir("StructArrayLayout1f4",Fn);class On extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.int16[n+0]=e,this.int16[n+1]=i,this.int16[n+2]=r,t}}On.prototype.bytesPerElement=6,Ir("StructArrayLayout3i6",On);class Vn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=4*t;return this.uint32[2*t+0]=e,this.uint16[n+2]=i,this.uint16[n+3]=r,t}}Vn.prototype.bytesPerElement=8,Ir("StructArrayLayout1ul2ui8",Vn);class Un extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,t}}Un.prototype.bytesPerElement=4,Ir("StructArrayLayout2ui4",Un);class Nn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Nn.prototype.bytesPerElement=2,Ir("StructArrayLayout1ui2",Nn);class $n extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=i,this.float32[a+2]=r,this.float32[a+3]=n,t}}$n.prototype.bytesPerElement=16,Ir("StructArrayLayout4f16",$n);class Gn extends _n{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new S(this.anchorPointX,this.anchorPointY)}}Gn.prototype.size=20;class qn extends kn{get(t){return new Gn(this,t)}}Ir("CollisionBoxArray",qn);class Zn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Zn.prototype.size=48;class jn extends Bn{get(t){return new Zn(this,t)}}Ir("PlacedSymbolArray",jn);class Xn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get textOffset0(){return this._structArray.float32[this._pos4+14]}get textOffset1(){return this._structArray.float32[this._pos4+15]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+16]}}Xn.prototype.size=68;class Hn extends Rn{get(t){return new Xn(this,t)}}Ir("SymbolInstanceArray",Hn);class Wn extends Fn{getoffsetX(t){return this.float32[1*t+0]}}Ir("GlyphOffsetArray",Wn);class Kn extends On{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Ir("SymbolLineVertexArray",Kn);class Jn extends _n{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]}}Jn.prototype.size=8;class Yn extends Vn{get(t){return new Jn(this,t)}}Ir("FeatureIndexArray",Yn);class Qn extends bn{}class ta extends bn{}class ea extends bn{}class ia extends Tn{}class ra extends En{}class na extends Sn{}class aa extends In{}class oa extends zn{}class sa extends Cn{}class la extends An{}class ca extends Mn{}class ha extends Dn{}class ua extends Ln{}class pa extends Un{}const da=xn([{name:"a_pos",components:2,type:"Int16"}],4),{members:ma}=da;class fa{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>fa.MAX_VERTEX_ARRAY_LENGTH&&m(`Max vertices per segment is ${fa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>fa.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:e.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 t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,r){return new fa([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function ga(t,e){return 256*(t=a(Math.floor(t),0,255))+a(Math.floor(e),0,255)}fa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ir("SegmentVector",fa);const _a=xn([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var ya={exports:{}},xa={exports:{}};xa.exports=function(t,e){var i,r,n,a,o,s,l,c;for(r=t.length-(i=3&t.length),n=e,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return n^=t.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 va={exports:{}};va.exports=function(t,e){for(var i,r=t.length,n=e^r,a=0;r>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<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,++a;switch(r){case 3:n^=(255&t.charCodeAt(a+2))<<16;case 2:n^=(255&t.charCodeAt(a+1))<<8;case 1:n=1540483477*(65535&(n^=255&t.charCodeAt(a)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var ba=xa.exports,wa=va.exports;ya.exports=ba,ya.exports.murmur3=ba,ya.exports.murmur2=wa;class Ta{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(Ea(t)),this.positions.push(e,i,r)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const e=Ea(t);let i=0,r=this.ids.length-1;for(;i>1;this.ids[t]>=e?r=t:i=t+1}const n=[];for(;this.ids[i]===e;)n.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return n}static serialize(t,e){const i=new Float64Array(t.ids),r=new Uint32Array(t.positions);return Sa(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new Ta;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Ea(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ya.exports(String(t))}function Sa(t,e,i,r){for(;i>1];let a=i-1,o=r+1;for(;;){do{a++}while(t[a]n);if(a>=o)break;Ia(t,a,o),Ia(e,3*a,3*o),Ia(e,3*a+1,3*o+1),Ia(e,3*a+2,3*o+2)}o-i`u_${t}`)),this.type=i}setUniform(t,e,i){t.set(i.constantOr(this.value))}getBinding(t,e,i){return"color"===this.type?new ka(t,e):new Ca(t,e)}}class La{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,i,r){const n="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;n&&t.set(n)}getBinding(t,e,i){return"u_pattern"===i.substr(0,9)?new Aa(t,e):new Ca(t,e)}}class Ba{constructor(t,e,i,r){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(t,e,i,r,n){const a=this.paintVertexArray.length,o=this.expression.evaluate(new Yr(0),e,{},r,[],n);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(t,e,n)}_setPaintValue(t,e,i){if("color"===this.type){const r=Pa(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(t,e,i,r,n){const a=this.expression.evaluate(new Yr(this.zoom),e,{},r,[],n),o=this.expression.evaluate(new Yr(this.zoom+1),e,{},r,[],n),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:this.zoom},i,r),a=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(t,e,n,a)}_setPaintValue(t,e,i,r){if("color"===this.type){const n=Pa(i),a=Pa(r);for(let i=t;i`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof Ba||i instanceof Ra)for(let e=0;e!0)){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new Oa(r,e,i);this.needsUpload=!1,this._featureMap=new Ta,this._bufferOffset=0}populatePaintArrays(t,e,i,r,n,a){for(const o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,r,n,a);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,r){for(const n of i)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(t,this._featureMap,e,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function Ua(t,e){return{"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_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}function Na(t,e,i){const r={color:{source:Sn,composite:$n},number:{source:Fn,composite:Sn}},n=function(t){return{"line-pattern":{source:aa,composite:aa},"fill-pattern":{source:aa,composite:aa},"fill-extrusion-pattern":{source:aa,composite:aa}}[t]}(t);return n&&n[i]||r[e][i]}Ir("ConstantBinder",Da),Ir("CrossFadedConstantBinder",La),Ir("SourceExpressionBinder",Ba),Ir("CrossFadedCompositeBinder",Fa),Ir("CompositeExpressionBinder",Ra),Ir("ProgramConfiguration",Oa,{omit:["_buffers"]}),Ir("ProgramConfigurationSet",Va);var $a=8192;const Ga=Math.pow(2,14)-1,qa=-Ga-1;function Za(t){const e=$a/t.extent,i=t.loadGeometry();for(let r=0;rr.x+1||or.y+1)&&m("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function ja(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Za(t):[]}}function Xa(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class Ha{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new ua,this.segments=new fa,this.programConfigurations=new Va(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){const r=this.layers[0],n=[];let a=null,o=!1;"circle"===r.type&&(a=r.layout.get("circle-sort-key"),o=!a.isConstant());for(const{feature:s,id:l,index:c,sourceLayerIndex:h}of t){const t=this.layers[0]._featureFilter.needGeometry,e=ja(s,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),e,i))continue;const r=o?a.evaluate(e,{},i):void 0,u={id:l,properties:s.properties,type:s.type,sourceLayerIndex:h,index:c,geometry:t?e.geometry:Za(s),patterns:{},sortKey:r};n.push(u)}o&&n.sort(((t,e)=>t.sortKey-e.sortKey));for(const s of n){const{geometry:r,index:n,sourceLayerIndex:a}=s,o=t[n].feature;this.addFeature(s,r,n,i),e.featureIndex.insert(o,r,n,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ma),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,i,r){for(const n of e)for(const e of n){const i=e.x,r=e.y;if(i<0||i>=$a||r<0||r>=$a)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=n.vertexLength;Xa(this.layoutVertexArray,i,r,-1,-1),Xa(this.layoutVertexArray,i,r,1,-1),Xa(this.layoutVertexArray,i,r,1,1),Xa(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),n.vertexLength+=4,n.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},r)}}function Wa(t,e){for(let i=0;i1){if(Qa(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function ro(t,e){let i,r,n,a=!1;for(let o=0;oe.y!=n.y>e.y&&e.x<(n.x-r.x)*(e.y-r.y)/(n.y-r.y)+r.x&&(a=!a)}return a}function no(t,e){let i=!1;for(let r=0,n=t.length-1;re.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(i=!i)}return i}function ao(t,e,i){const r=i[0],n=i[2];if(t.xn.x&&e.x>n.x||t.yn.y&&e.y>n.y)return!1;const a=f(t,e,i[0]);return a!==f(t,e,i[1])||a!==f(t,e,i[2])||a!==f(t,e,i[3])}function oo(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function so(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,i,r,n){if(!e[0]&&!e[1])return t;const a=S.convert(e)._mult(n);"viewport"===i&&a._rotate(-r);const o=[];for(let s=0;st.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const o=t.data,s=e.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{e[t.evaluationKey]=a;const o=t.expression.evaluate(e);n.data[i+r+0]=Math.floor(255*o.r/o.a),n.data[i+r+1]=Math.floor(255*o.g/o.a),n.data[i+r+2]=Math.floor(255*o.b/o.a),n.data[i+r+3]=Math.floor(255*o.a)};if(t.clips)for(let o=0,s=0;o80*i){r=a=t[0],n=o=t[1];for(var m=i;ma&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-r,o-n))?32767/c:0}return Vo(p,d,i,r,n,c,0),d}function Fo(t,e,i,r,n){var a,o;if(n===ss(t,e,i,r)>0)for(a=e;a=e;a-=r)o=ns(a,t[a],t[a+1],o);return o&&Yo(o,o.next)&&(as(o),o=o.next),o}function Oo(t,e){if(!t)return t;e||(e=t);var i,r=t;do{if(i=!1,r.steiner||!Yo(r,r.next)&&0!==Jo(r.prev,r,r.next))r=r.next;else{if(as(r),(r=e=r.prev)===r.next)break;i=!0}}while(i||r!==e);return e}function Vo(t,e,i,r,n,a,o){if(t){!o&&a&&function(t,e,i,r){var n=t;do{0===n.z&&(n.z=Xo(n.x,n.y,e,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,i,r,n,a,o,s,l,c=1;do{for(i=t,t=null,a=null,o=0;i;){for(o++,r=i,s=0,e=0;e0||l>0&&r;)0!==s&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,s--):(n=r,r=r.nextZ,l--),a?a.nextZ=n:t=n,n.prevZ=a,a=n;i=r}a.nextZ=null,c*=2}while(o>1)}(n)}(t,r,n,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?No(t,r,n,a):Uo(t))e.push(s.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),as(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Vo(t=$o(Oo(t),e,i),e,i,r,n,a,2):2===o&&Go(t,e,i,r,n,a):Vo(Oo(t),e,i,r,n,a,1);break}}}function Uo(t){var e=t.prev,i=t,r=t.next;if(Jo(e,i,r)>=0)return!1;for(var n=e.x,a=i.x,o=r.x,s=e.y,l=i.y,c=r.y,h=na?n>o?n:o:a>o?a:o,d=s>l?s>c?s:c:l>c?l:c,m=r.next;m!==e;){if(m.x>=h&&m.x<=p&&m.y>=u&&m.y<=d&&Wo(n,s,a,l,o,c,m.x,m.y)&&Jo(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function No(t,e,i,r){var n=t.prev,a=t,o=t.next;if(Jo(n,a,o)>=0)return!1;for(var s=n.x,l=a.x,c=o.x,h=n.y,u=a.y,p=o.y,d=sl?s>c?s:c:l>c?l:c,g=h>u?h>p?h:p:u>p?u:p,_=Xo(d,m,e,i,r),y=Xo(f,g,e,i,r),x=t.prevZ,v=t.nextZ;x&&x.z>=_&&v&&v.z<=y;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Wo(s,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Wo(s,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=_;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Wo(s,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Wo(s,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function $o(t,e,i){var r=t;do{var n=r.prev,a=r.next.next;!Yo(n,a)&&Qo(n,r,r.next,a)&&is(n,a)&&is(a,n)&&(e.push(n.i/i|0),e.push(r.i/i|0),e.push(a.i/i|0),as(r),as(r.next),r=t=a),r=r.next}while(r!==t);return Oo(r)}function Go(t,e,i,r,n,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Ko(o,s)){var l=rs(o,s);return o=Oo(o,o.next),l=Oo(l,l.next),Vo(o,e,i,r,n,a,0),void Vo(l,e,i,r,n,a,0)}s=s.next}o=o.next}while(o!==t)}function qo(t,e){return t.x-e.x}function Zo(t,e){var i=function(t,e){var i,r=e,n=t.x,a=t.y,o=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var s=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>o&&(o=s,i=r.x=r.x&&r.x>=h&&n!==r.x&&Wo(ai.x||r.x===i.x&&jo(i,r)))&&(i=r,p=l)),r=r.next}while(r!==c);return i}(t,e);if(!i)return e;var r=rs(i,t);return Oo(r,r.next),Oo(i,i.next)}function jo(t,e){return Jo(t.prev,t,e.prev)<0&&Jo(e.next,t,t.next)<0}function Xo(t,e,i,r,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Ho(t){var e=t,i=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(r-s)>=(i-o)*(e-s)&&(i-o)*(a-s)>=(n-o)*(r-s)}function Ko(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&Qo(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(is(t,e)&&is(e,t)&&function(t,e){var i=t,r=!1,n=(t.x+e.x)/2,a=(t.y+e.y)/2;do{i.y>a!=i.next.y>a&&i.next.y!==i.y&&n<(i.next.x-i.x)*(a-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==t);return r}(t,e)&&(Jo(t.prev,t,e.prev)||Jo(t,e.prev,e))||Yo(t,e)&&Jo(t.prev,t,t.next)>0&&Jo(e.prev,e,e.next)>0)}function Jo(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Yo(t,e){return t.x===e.x&&t.y===e.y}function Qo(t,e,i,r){var n=es(Jo(t,e,i)),a=es(Jo(t,e,r)),o=es(Jo(i,r,t)),s=es(Jo(i,r,e));return n!==a&&o!==s||!(0!==n||!ts(t,i,e))||!(0!==a||!ts(t,r,e))||!(0!==o||!ts(i,t,r))||!(0!==s||!ts(i,e,r))}function ts(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function es(t){return t>0?1:t<0?-1:0}function is(t,e){return Jo(t.prev,t,t.next)<0?Jo(t,e,t.next)>=0&&Jo(t,t.prev,e)>=0:Jo(t,e,t.prev)<0||Jo(t,t.next,e)<0}function rs(t,e){var i=new os(t.i,t.x,t.y),r=new os(e.i,e.x,e.y),n=t.next,a=e.prev;return t.next=e,e.prev=t,i.next=n,n.prev=i,r.next=i,i.prev=r,a.next=r,r.prev=a,r}function ns(t,e,i,r){var n=new os(t,e,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 as(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function os(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ss(t,e,i,r){for(var n=0,a=e,o=i-r;ai;){if(r-i>600){var a=r-i+1,o=e-i+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);cs(t,e,Math.max(i,Math.floor(e-o*l/a+c)),Math.min(r,Math.floor(e+(a-o)*l/a+c)),n)}var h=t[e],u=i,p=r;for(hs(t,i,e),n(t[r],h)>0&&hs(t,i,r);u0;)p--}0===n(t[i],h)?hs(t,i,p):hs(t,++p,r),p<=e&&(i=p+1),e<=p&&(r=p-1)}}function hs(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function us(t,e){return te?1:0}function ps(t,e){const i=t.length;if(i<=1)return[t];const r=[];let n,a;for(let o=0;o1)for(let o=0;o0&&i.holes.push(r+=t[n-1].length)}return i};class gs{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ea,this.indexArray=new ua,this.indexArray2=new pa,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new fa,this.segments2=new fa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ms("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),n=!r.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,h=ja(o,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,p={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:Za(o),patterns:{},sortKey:u};a.push(p)}n&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const o of a){const{geometry:r,index:n,sourceLayerIndex:a}=o;if(this.hasPattern){const t=fs("fill",this.layers,o,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(o,r,n,i,{});e.featureIndex.insert(t[n].feature,r,n,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Lo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,i,r,n){for(const a of ps(e,500)){let t=0;for(const s of a)t+=s.length;const e=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),i=e.vertexLength,r=[],n=[];for(const s of a){if(0===s.length)continue;s!==a[0]&&n.push(r.length/2);const t=this.segments2.prepareSegment(s.length,this.layoutVertexArray,this.indexArray2),e=t.vertexLength;this.layoutVertexArray.emplaceBack(s[0].x,s[0].y),this.indexArray2.emplaceBack(e+s.length-1,e),r.push(s[0].x),r.push(s[0].y);for(let i=1;i>3}if(n--,1===r||2===r)a+=t.readSVarint(),o+=t.readSVarint(),1===r&&(e&&s.push(e),e=[]),e.push(new Ts(a,o));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&s.push(e),s},Ss.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,r=0,n=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(r--,1===i||2===i)(n+=t.readSVarint())s&&(s=n),(a+=t.readSVarint())c&&(c=a);else if(7!==i)throw new Error("unknown command "+i)}return[o,l,s,c]},Ss.prototype.toGeoJSON=function(t,e,i){var r,n,a=this.extent*Math.pow(2,i),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ss.types[this.type];function h(t){for(var e=0;e>3;e=1===r?t.readString():2===r?t.readFloat():3===r?t.readDouble():4===r?t.readVarint64():5===r?t.readVarint():6===r?t.readSVarint():7===r?t.readBoolean():null}return e}(i))}ks.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Cs(this._pbf,e,this.extent,this._keys,this._values)};var Ps=As;function Ds(t,e,i){if(3===t){var r=new Ps(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}ws.VectorTile=function(t,e){this.layers=t.readFields(Ds,{},e)},ws.VectorTileFeature=Es,ws.VectorTileLayer=As;const Ls=ws.VectorTileFeature.types,Bs=Math.pow(2,13);function Rs(t,e,i,r,n,a,o,s){t.emplaceBack(e,i,2*Math.floor(r*Bs)+o,n*Bs*2,a*Bs*2,Math.round(s))}class Fs{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.centroidVertexArray=new Qn,this.indexArray=new ua,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new fa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=ms("fill-extrusion",this.layers,e);for(const{feature:r,id:n,index:a,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,s=ja(r,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),s,i))continue;const l={id:n,sourceLayerIndex:o,index:a,geometry:t?s.geometry:Za(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(fs("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,i,{}),e.featureIndex.insert(r,l.geometry,a,o,this.index,!0)}}addFeatures(t,e,i){for(const r of this.features){const{geometry:t}=r;this.addFeature(r,t,r.index,e,i)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bs),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,vs.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,i,r,n){const a={x:0,y:0,vertexCount:0};for(const o of ps(e,500)){let e=0;for(const t of o)e+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of o){if(0===t.length)continue;if(Vs(t))continue;let e=0;for(let r=0;r=1){const o=t[r-1];if(!Os(n,o)){i.vertexLength+4>fa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=n.sub(o)._perp()._unit(),r=o.dist(n);e+r>32768&&(e=0),Rs(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,0,e),Rs(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,1,e),a.x+=2*n.x,a.y+=2*n.y,a.vertexCount+=2,e+=r,Rs(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,e),Rs(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,e),a.x+=2*o.x,a.y+=2*o.y,a.vertexCount+=2;const s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+e>fa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),"Polygon"!==Ls[t.type])continue;const r=[],n=[],s=i.vertexLength;for(const t of o)if(0!==t.length){t!==o[0]&&n.push(r.length/2);for(let e=0;e$a)||t.y===e.y&&(t.y<0||t.y>$a)}function Vs(t){return t.every((t=>t.x<0))||t.every((t=>t.x>$a))||t.every((t=>t.y<0))||t.every((t=>t.y>$a))}Ir("FillExtrusionBucket",Fs,{omit:["layers","features"]});var Us={paint:new dn({"fill-extrusion-opacity":new ln(rt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new cn(rt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new hn(rt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new cn(rt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new cn(rt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ln(rt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};function Ns(t,e){return t.x*e.x+t.y*e.y}function $s(t,e){if(1===t.length){let i=0;const r=e[i++];let n;for(;!n||r.equals(n);)if(n=e[i++],!n)return 1/0;for(;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new ra,this.layoutVertexArray2=new na,this.indexArray=new ua,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new fa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ms("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),n=!r.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,e=ja(o,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),e,i))continue;const h=n?r.evaluate(e,{},i):void 0,u={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?e.geometry:Za(o),patterns:{},sortKey:h};a.push(u)}n&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const o of a){const{geometry:r,index:n,sourceLayerIndex:a}=o;if(this.hasPattern){const t=fs("line",this.layers,o,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(o,r,n,i,{});e.featureIndex.insert(t[n].feature,r,n,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,js)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,r,n){const a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const h of e)this.addLine(h,t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,n,r)}addLine(t,e,i,r,n,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[s-1].equals(t[s-2]);)s--;let l=0;for(;l0;if(b&&g>l){const t=u.dist(p);if(t>2*c){const e=u.sub(u.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,m,0,0,h),p=e}}const T=p&&d;let E=T?i:o?"butt":r;if(T&&"round"===E&&(xn&&(E="bevel"),"bevel"===E&&(x>2&&(E="flipbevel"),x100)e=f.mult(-1);else{const t=x*m.add(f).mag()/m.sub(f).mag();e._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,e,0,0,h),this.addCurrentVertex(u,e.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(u,m,e,i,h),"fakeround"===E){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(d.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,f,0,0,h),u=e}}}}addCurrentVertex(t,e,i,r,n,a=!1){const o=e.y*r-e.x,s=-e.y-e.x*r;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,a,!1,i,n),this.addHalfVertex(t,o,s,a,!0,-r,n),this.distance>Ws/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,i,r,n,a))}addHalfVertex({x:t,y:e},i,r,n,a,o,s){const l=.5*(this.lineClips?this.scaledDistance*(Ws-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(n?1:0),(e<<1)+(a?1:0),Math.round(63*i)+128,Math.round(63*r)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}Ir("LineBucket",Ks,{omit:["layers","patternFeatures"]});const Js=new dn({"line-cap":new ln(rt.layout_line["line-cap"]),"line-join":new cn(rt.layout_line["line-join"]),"line-miter-limit":new ln(rt.layout_line["line-miter-limit"]),"line-round-limit":new ln(rt.layout_line["line-round-limit"]),"line-sort-key":new cn(rt.layout_line["line-sort-key"])});var Ys={paint:new dn({"line-opacity":new cn(rt.paint_line["line-opacity"]),"line-color":new cn(rt.paint_line["line-color"]),"line-translate":new ln(rt.paint_line["line-translate"]),"line-translate-anchor":new ln(rt.paint_line["line-translate-anchor"]),"line-width":new cn(rt.paint_line["line-width"]),"line-gap-width":new cn(rt.paint_line["line-gap-width"]),"line-offset":new cn(rt.paint_line["line-offset"]),"line-blur":new cn(rt.paint_line["line-blur"]),"line-dasharray":new un(rt.paint_line["line-dasharray"]),"line-pattern":new hn(rt.paint_line["line-pattern"]),"line-gradient":new pn(rt.paint_line["line-gradient"])}),layout:Js};const Qs=new class extends cn{possiblyEvaluate(t,e){return e=new Yr(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,r){return e=s({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}(Ys.paint.properties["line-width"].specification);function tl(t,e){return e>0?e+2*t:t}Qs.useIntegerZoom=!0;const el=xn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),il=xn([{name:"a_projected_pos",components:3,type:"Float32"}],4);xn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const rl=xn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);xn([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const nl=xn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),al=xn([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ol(t,e,i){return t.sections.forEach((t=>{t.text=function(t,e,i){const r=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?t=t.toLocaleUpperCase():"lowercase"===r&&(t=t.toLocaleLowerCase()),Jr.applyArabicShaping&&(t=Jr.applyArabicShaping(t)),t}(t.text,e,i)})),t}xn([{name:"triangle",components:3,type:"Uint16"}]),xn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{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"}]),xn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{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",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),xn([{type:"Float32",name:"offsetX"}]),xn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);const sl={"!":"\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"};var ll=24,cl=pl,hl=function(t,e,i,r,n){var a,o,s=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,p=i?-1:1,d=t[e+u];for(u+=p,a=d&(1<<-h)-1,d>>=-h,h+=s;h>0;a=256*a+t[e+u],u+=p,h-=8);for(o=a&(1<<-h)-1,a>>=-h,h+=r;h>0;o=256*o+t[e+u],u+=p,h-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),a-=c}return(d?-1:1)*o*Math.pow(2,a-r)},ul=function(t,e,i,r,n,a){var o,s,l,c=8*a-n-1,h=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:a-1,m=r?1:-1,f=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?p/l:p*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=h?(s=0,o=h):o+u>=1?(s=(e*l-1)*Math.pow(2,n),o+=u):(s=e*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;t[i+d]=255&s,d+=m,s/=256,n-=8);for(o=o<0;t[i+d]=255&o,d+=m,o/=256,c-=8);t[i+d-m]|=128*f};function pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}pl.Varint=0,pl.Fixed64=1,pl.Bytes=2,pl.Fixed32=5;var dl,ml=4294967296,fl=1/ml,gl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function _l(t){return t.type===pl.Bytes?t.readVarint()+t.pos:t.pos+1}function yl(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function xl(t,e,i){var r=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=t;n--)i.buf[n+r]=i.buf[n]}function vl(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function Ml(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Pl(t,e,i){1===t&&i.readMessage(Dl,e)}function Dl(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:a,left:o,top:s,advance:l}=i.readMessage(Ll,{});e.push({id:t,bitmap:new Ao({width:n+6,height:a+6},r),metrics:{width:n,height:a,left:o,top:s,advance:l}})}}function Ll(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}function Bl(t){let e=0,i=0;for(const o of t)e+=o.w*o.h,i=Math.max(i,o.w);t.sort(((t,e)=>e.h-t.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let n=0,a=0;for(const o of t)for(let t=r.length-1;t>=0;t--){const e=r[t];if(!(o.w>e.w||o.h>e.h)){if(o.x=e.x,o.y=e.y,a=Math.max(a,o.y+o.h),n=Math.max(n,o.x+o.w),o.w===e.w&&o.h===e.h){const e=r.pop();t>3,a=this.pos;this.type=7&r,t(n,e,this),this.pos===a&&this.skip(r)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Al(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ml(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Al(this.buf,this.pos)+Al(this.buf,this.pos+4)*ml;return this.pos+=8,t},readSFixed64:function(){var t=Al(this.buf,this.pos)+Ml(this.buf,this.pos+4)*ml;return this.pos+=8,t},readFloat:function(){var t=hl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=hl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,r=this.buf;return e=127&(i=r[this.pos++]),i<128?e:(e|=(127&(i=r[this.pos++]))<<7,i<128?e:(e|=(127&(i=r[this.pos++]))<<14,i<128?e:(e|=(127&(i=r[this.pos++]))<<21,i<128?e:function(t,e,i){var r,n,a=i.buf;if(r=(112&(n=a[i.pos++]))>>4,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<3,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<10,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<17,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<24,n<128)return yl(t,r,e);if(r|=(1&(n=a[i.pos++]))<<31,n<128)return yl(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=r[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&gl?function(t,e,i){return gl.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var r="",n=e;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(a=t[n+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===h?(o=t[n+2],128==(192&(a=t[n+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(o=t[n+2],s=t[n+3],128==(192&(a=t[n+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=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,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==pl.Bytes)return t.push(this.readVarint(e));var i=_l(this);for(t=t||[];this.pos127;);else if(e===pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===pl.Fixed32)this.pos+=4;else{if(e!==pl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,r;if(t>=0?(i=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(r,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var r,n,a=0;a55295&&r<57344){if(!n){r>56319||a+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):n=r;continue}if(r<56320){t[i++]=239,t[i++]=191,t[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(t[i++]=239,t[i++]=191,t[i++]=189,n=null);r<128?t[i++]=r:(r<2048?t[i++]=r>>6|192:(r<65536?t[i++]=r>>12|224:(t[i++]=r>>18|240,t[i++]=r>>12&63|128),t[i++]=r>>6&63|128),t[i++]=63&r|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&xl(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),ul(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ul(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&xl(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,pl.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,vl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,bl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,El,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,wl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Tl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Sl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,zl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Cl,e)},writeBytesField:function(t,e){this.writeTag(t,pl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,pl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,pl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};class Rl{constructor(t,{pixelRatio:e,version:i,stretchX:r,stretchY:n,content:a}){this.paddedRect=t,this.pixelRatio=e,this.stretchX=r,this.stretchY=n,this.content=a,this.version=i}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 tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Fl{constructor(t,e){const i={},r={};this.haveRenderCallbacks=[];const n=[];this.addImages(t,i,n),this.addImages(e,r,n);const{w:a,h:o}=Bl(n),s=new ko({width:a||1,height:o||1});for(const l in t){const e=t[l],r=i[l].paddedRect;ko.copy(e.data,s,{x:0,y:0},{x:r.x+1,y:r.y+1},e.data)}for(const l in e){const t=e[l],i=r[l].paddedRect,n=i.x+1,a=i.y+1,o=t.data.width,c=t.data.height;ko.copy(t.data,s,{x:0,y:0},{x:n,y:a},t.data),ko.copy(t.data,s,{x:0,y:c-1},{x:n,y:a-1},{width:o,height:1}),ko.copy(t.data,s,{x:0,y:0},{x:n,y:a+c},{width:o,height:1}),ko.copy(t.data,s,{x:o-1,y:0},{x:n-1,y:a},{width:1,height:c}),ko.copy(t.data,s,{x:0,y:0},{x:n+o,y:a},{width:1,height:c})}this.image=s,this.iconPositions=i,this.patternPositions=r}addImages(t,e,i){for(const r in t){const n=t[r],a={x:0,y:0,w:n.data.width+2,h:n.data.height+2};i.push(a),e[r]=new Rl(a,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(t,e){t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in t.updatedImages)this.patchUpdatedImage(this.iconPositions[i],t.getImage(i),e),this.patchUpdatedImage(this.patternPositions[i],t.getImage(i),e)}patchUpdatedImage(t,e,i){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[r,n]=t.tl;i.update(e.data,void 0,{x:r,y:n})}}Ir("ImagePosition",Rl),Ir("ImageAtlas",Fl),t.WritingMode=void 0,(dl=t.WritingMode||(t.WritingMode={}))[dl.none=0]="none",dl[dl.horizontal=1]="horizontal",dl[dl.vertical=2]="vertical",dl[dl.horizontalOnly=3]="horizontalOnly";const Ol=-17;class Vl{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(t,e){const i=new Vl;return i.scale=t||1,i.fontStack=e,i}static forImage(t){const e=new Vl;return e.imageName=t,e}}class Ul{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(t,e){const i=new Ul;for(let r=0;r=0&&i>=t&&$l[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Ul;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Vl.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let r=0;r=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nl(e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g){const _=Ul.fromFeature(e,a);let y;p===t.WritingMode.vertical&&_.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Jr;if(x&&1===_.sections.length){y=[];const t=x(_.toString(),Wl(_,h,o,i,n,m,f));for(const e of t){const t=new Ul;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>b&&(b=r)}else{const t=r[l.fontStack],e=t&&t[g];if(e&&e.rect)w=e.rect,y=e.metrics;else{const t=i[l.fontStack],e=t&&t[g];if(!e)continue;y=e.metrics}_=(a-l.scale)*ll}I?(e.verticalizable=!0,v.push({glyph:g,imageName:E,x:d,y:m+_,vertical:I,scale:l.scale,fontStack:l.fontStack,sectionIndex:f,metrics:y,rect:w}),d+=S*l.scale+h):(v.push({glyph:g,imageName:E,x:d,y:m+_,vertical:I,scale:l.scale,fontStack:l.fontStack,sectionIndex:f,metrics:y,rect:w}),d+=y.advance*l.scale+h)}0!==v.length&&(f=Math.max(d-h,f),Jl(v,0,v.length-1,_,b)),d=0;const w=o*a+b;l.lineOffset=Math.max(b,s),m+=w,g=Math.max(w,g),++y}var x;const v=m-Ol,{horizontalAlign:b,verticalAlign:w}=Kl(s);(function(t,e,i,r,n,a,o,s,l){const c=(e-i)*n;let h=0;h=a!==o?-s*r-Ol:(-r*l+.5)*o;for(const u of t)for(const t of u.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,_,b,w,f,g,o,v,a.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*f,e.right=e.left+f}(w,i,r,n,y,s,l,c,p,h,d,g),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(b)&&w}const $l={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Gl={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function ql(t,e,i,r,n,a){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*ll/a+n:0}{const r=i[e.fontStack],a=r&&r[t];return a?a.metrics.advance*e.scale+n:0}}function Zl(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let h=0;for(let p=0;p-i/2;){if(o--,o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;sr;)c-=l.shift().angleDelta;if(c>n)return!1;o++,s+=e.dist(i)}return!0}function nc(t){let e=0;for(let i=0;ic){const a=(c-l)/n,u=Se(i.x,r.x,a),p=Se(i.y,r.y,a),d=new ic(u,p,r.angleTo(i),h);return d._round(),!o||rc(t,d,s,o,e)?d:void 0}l+=n}}function lc(t,e,i,r,n,a,o,s,l){const c=ac(r,a,o),h=oc(r,n),u=h*o,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&_=0&&y=0&&p+c<=h){const e=new ic(_,y,f,m);e._round(),r&&!rc(t,e,a,r,n)||d.push(e)}}u+=s}return s||d.length||o||(d=cc(t,u/2,i,r,n,a,o,!0,l)),d}function hc(t,e,i,r,n){const a=[];for(let o=0;o=r&&c.x>=r||(o.x>=r?o=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=r&&(c=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=n&&c.y>=n||(o.y>=n?o=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round():c.y>=n&&(c=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round()),l&&o.equals(l[l.length-1])||(l=[o],a.push(l)),l.push(c)))))}}return a}function uc(t,e,i,r){const n=[],a=t.image,o=a.pixelRatio,s=a.paddedRect.w-2,l=a.paddedRect.h-2,c=t.right-t.left,h=t.bottom-t.top,u=a.stretchX||[[0,s]],p=a.stretchY||[[0,l]],d=(t,e)=>t+e[1]-e[0],m=u.reduce(d,0),f=p.reduce(d,0),g=s-m,_=l-f;let y=0,x=m,v=0,b=f,w=0,T=g,E=0,I=_;if(a.content&&r){const t=a.content;y=pc(u,0,t[0]),v=pc(p,0,t[1]),x=pc(u,t[0],t[2]),b=pc(p,t[1],t[3]),w=t[0]-y,E=t[1]-v,T=t[2]-t[0]-x,I=t[3]-t[1]-b}const z=(r,n,s,l)=>{const u=mc(r.stretch-y,x,c,t.left),p=fc(r.fixed-w,T,r.stretch,m),d=mc(n.stretch-v,b,h,t.top),g=fc(n.fixed-E,I,n.stretch,f),_=mc(s.stretch-y,x,c,t.left),z=fc(s.fixed-w,T,s.stretch,m),C=mc(l.stretch-v,b,h,t.top),A=fc(l.fixed-E,I,l.stretch,f),k=new S(u,d),M=new S(_,d),P=new S(_,C),D=new S(u,C),L=new S(p/o,g/o),B=new S(z/o,A/o),R=e*Math.PI/180;if(R){const t=Math.sin(R),e=Math.cos(R),i=[e,-t,t,e];k._matMult(i),M._matMult(i),D._matMult(i),P._matMult(i)}const F=r.stretch+r.fixed,O=n.stretch+n.fixed;return{tl:k,tr:M,bl:D,br:P,tex:{x:a.paddedRect.x+1+F,y:a.paddedRect.y+1+O,w:s.stretch+s.fixed-F,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:L,pixelOffsetBR:B,minFontScaleX:T/o/c,minFontScaleY:I/o/h,isSDF:i}};if(r&&(a.stretchX||a.stretchY)){const t=dc(u,g,m),e=dc(p,_,f);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=a.top*o-s[0],h=a.bottom*o+s[2],u=a.left*o-s[3],p=a.right*o+s[1];const d=a.collisionPadding;if(d&&(u-=d[0]*o,l-=d[1]*o,p+=d[2]*o,h+=d[3]*o),c){const t=new S(u,l),e=new S(p,l),i=new S(u,h),r=new S(p,h),n=c*Math.PI/180;t._rotate(n),e._rotate(n),i._rotate(n),r._rotate(n),u=Math.min(t.x,e.x,i.x,r.x),p=Math.max(t.x,e.x,i.x,r.x),l=Math.min(t.y,e.y,i.y,r.y),h=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,u,l,p,h,i,r,n)}this.boxEndIndex=t.length}}class _c{constructor(t=[],e=yc){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,r=e[t];for(;t>0;){const n=t-1>>1,a=e[n];if(i(r,a)>=0)break;e[t]=a,t=n}e[t]=r}_down(t){const{data:e,compare:i}=this,r=this.length>>1,n=e[t];for(;t=0)break;e[t]=a,t=r}e[t]=n}}function yc(t,e){return te?1:0}function xc(t,e=1,i=!1){let r=1/0,n=1/0,a=-1/0,o=-1/0;const s=t[0];for(let d=0;da)&&(a=t.x),(!d||t.y>o)&&(o=t.y)}const l=Math.min(a-r,o-n);let c=l/2;const h=new _c([],vc);if(0===l)return new S(r,n);for(let d=r;du.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,p)),r.max-u.d<=e||(c=r.h/2,h.push(new bc(r.p.x-c,r.p.y-c,c,t)),h.push(new bc(r.p.x+c,r.p.y-c,c,t)),h.push(new bc(r.p.x-c,r.p.y+c,c,t)),h.push(new bc(r.p.x+c,r.p.y+c,c,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${u.d}`)),u.p}function vc(t,e){return e.max-t.max}function bc(t,e,i,r){this.p=new S(t,e),this.h=i,this.d=function(t,e){let i=!1,r=1/0;for(let n=0;nt.y!=s.y>t.y&&t.x<(s.x-n.x)*(t.y-n.y)/(s.y-n.y)+n.x&&(i=!i),r=Math.min(r,io(t,n,s))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}const wc=Number.POSITIVE_INFINITY;function Tc(t,e){return e[1]!==wc?function(t,e,i){let r=0,n=0;switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":n=i-7;break;case"bottom-right":case"bottom-left":case"bottom":n=7-i}switch(t){case"top-right":case"bottom-right":case"right":r=-e;break;case"top-left":case"bottom-left":case"left":r=e}return[r,n]}(t,e[0],e[1]):function(t,e){let i=0,r=0;e<0&&(e=0);const n=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":r=n-7;break;case"bottom-right":case"bottom-left":r=7-n;break;case"bottom":r=7-e;break;case"top":r=e-7}switch(t){case"top-right":case"bottom-right":i=-n;break;case"top-left":case"bottom-left":i=n;break;case"left":i=e;break;case"right":i=-e}return[i,r]}(t,e[0])}function Ec(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Sc(e,i,r,n,a,o,s,l,c,h,u){let p=o.textMaxSize.evaluate(i,{});void 0===p&&(p=s);const d=e.layers[0].layout,f=d.get("icon-offset").evaluate(i,{},u),g=Cc(r.horizontal),_=s/24,y=e.tilePixelRatio*_,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*e.tilePixelRatio,T=function(t,e,i,r=1){const n=t.get("icon-padding").evaluate(e,{},i),a=n&&n.values;return[a[0]*r,a[1]*r,a[2]*r,a[3]*r]}(d,i,u,e.tilePixelRatio),E=d.get("text-max-angle")/180*Math.PI,S="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),I="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),z=d.get("symbol-placement"),C=b/2,A=d.get("icon-text-fit");let k;n&&"none"!==A&&(e.allowVerticalPlacement&&r.vertical&&(k=Ql(n,r.vertical,A,d.get("icon-text-fit-padding"),f,_)),g&&(n=Ql(n,g,A,d.get("icon-text-fit-padding"),f,_)));const M=(l,p)=>{p.x<0||p.x>=$a||p.y<0||p.y>=$a||function(e,i,r,n,a,o,s,l,c,h,u,p,d,f,g,_,y,x,v,b,w,T,E,S,I){const z=e.addToLineVertexArray(i,r);let C,A,k,M,P=0,D=0,L=0,B=0,R=-1,F=-1;const O={};let V=ya.exports(""),U=0,N=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[U,N]=l.layout.get("text-offset").evaluate(w,{},S).map((t=>t*ll)):(U=l.layout.get("text-radial-offset").evaluate(w,{},S)*ll,N=wc),e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(w,{},S)+90;k=new gc(c,i,h,u,p,n.vertical,d,f,g,t),s&&(M=new gc(c,i,h,u,p,s,y,x,g,t))}if(a){const r=l.layout.get("icon-rotate").evaluate(w,{}),n="none"!==l.layout.get("icon-text-fit"),o=uc(a,r,E,n),d=s?uc(s,r,E,n):void 0;A=new gc(c,i,h,u,p,a,y,x,!1,r),P=4*o.length;const f=e.iconSizeData;let g=null;"source"===f.kind?(g=[tc*l.layout.get("icon-size").evaluate(w,{})],g[0]>Ic&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===f.kind&&(g=[tc*T.compositeIconSizes[0].evaluate(w,{},S),tc*T.compositeIconSizes[1].evaluate(w,{},S)],(g[0]>Ic||g[1]>Ic)&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,o,g,b,v,w,t.WritingMode.none,i,z.lineStartIndex,z.lineLength,-1,S),R=e.icon.placedSymbolArray.length-1,d&&(D=4*d.length,e.addSymbols(e.icon,d,g,b,v,w,t.WritingMode.vertical,i,z.lineStartIndex,z.lineLength,-1,S),F=e.icon.placedSymbolArray.length-1)}const $=Object.keys(n.horizontal);for(const m of $){const r=n.horizontal[m];if(!C){V=ya.exports(r.text);const t=l.layout.get("text-rotate").evaluate(w,{},S);C=new gc(c,i,h,u,p,r,d,f,g,t)}const a=1===r.positionedLines.length;if(L+=zc(e,i,r,o,l,g,w,_,z,n.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,a?$:[m],O,R,T,S),a)break}n.vertical&&(B+=zc(e,i,n.vertical,o,l,g,w,_,z,t.WritingMode.vertical,["vertical"],O,F,T,S));const G=C?C.boxStartIndex:e.collisionBoxArray.length,q=C?C.boxEndIndex:e.collisionBoxArray.length,Z=k?k.boxStartIndex:e.collisionBoxArray.length,j=k?k.boxEndIndex:e.collisionBoxArray.length,X=A?A.boxStartIndex:e.collisionBoxArray.length,H=A?A.boxEndIndex:e.collisionBoxArray.length,W=M?M.boxStartIndex:e.collisionBoxArray.length,K=M?M.boxEndIndex:e.collisionBoxArray.length;let J=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;J=Y(C,J),J=Y(k,J),J=Y(A,J),J=Y(M,J);const Q=J>-1?1:0;Q&&(J*=I/ll),e.glyphOffsetArray.length>=Fc.MAX_GLYPHS&&m("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey),e.symbolInstances.emplaceBack(i.x,i.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,R,F,V,G,q,Z,j,X,H,W,K,h,L,B,P,D,Q,0,d,U,N,J)}(e,p,l,r,n,a,k,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,y,[w,w,w,w],S,c,v,T,I,f,i,o,h,u,s)};if("line"===z)for(const t of hc(i.geometry,0,0,$a,$a)){const i=lc(t,b,E,r.vertical||g,n,24,x,e.overscaling,$a);for(const r of i)g&&Ac(e,g.text,C,r)||M(t,r)}else if("line-center"===z){for(const t of i.geometry)if(t.length>1){const e=sc(t,E,r.vertical||g,n,24,x);e&&M(t,e)}}else if("Polygon"===i.type)for(const t of ps(i.geometry,0)){const e=xc(t,16);M(t[0],new ic(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)M(t,new ic(t[0].x,t[0].y,0));else if("Point"===i.type)for(const t of i.geometry)for(const e of t)M([e],new ic(e.x,e.y,0))}const Ic=32640;function zc(t,e,i,r,n,a,o,s,l,c,h,u,p,d,f){const g=function(t,e,i,r,n,a,o,s){const l=r.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,c=[];for(const h of e.positionedLines)for(const t of h.positionedGlyphs){if(!t.rect)continue;const r=t.rect||{};let a=4,u=!0,p=1,d=0;const m=(n||s)&&t.vertical,f=t.metrics.advance*t.scale/2;if(s&&e.verticalizable){const e=(t.scale-1)*ll,i=(ll-t.metrics.width*t.scale)/2;d=h.lineOffset/2-(t.imageName?-i:e)}if(t.imageName){const e=o[t.imageName];u=e.sdf,p=e.pixelRatio,a=1/p}const g=n?[t.x+f,t.y]:[0,0];let _=n?[0,0]:[t.x+f+i[0],t.y+i[1]-d],y=[0,0];m&&(y=_,_=[0,0]);const x=(t.metrics.left-a)*t.scale-f+_[0],v=(-t.metrics.top-a)*t.scale+_[1],b=x+r.w*t.scale/p,w=v+r.h*t.scale/p,T=new S(x,v),E=new S(b,v),I=new S(x,w),z=new S(b,w);if(m){const e=new S(-f,f-Ol),i=-Math.PI/2,r=12-f,n=new S(22-r,-(t.imageName?r:0)),a=new S(...y);T._rotateAround(i,e)._add(n)._add(a),E._rotateAround(i,e)._add(n)._add(a),I._rotateAround(i,e)._add(n)._add(a),z._rotateAround(i,e)._add(n)._add(a)}if(l){const t=Math.sin(l),e=Math.cos(l),i=[e,-t,t,e];T._matMult(i),E._matMult(i),I._matMult(i),z._matMult(i)}const C=new S(0,0),A=new S(0,0);c.push({tl:T,tr:E,bl:I,br:z,tex:r,writingMode:e.writingMode,glyphOffset:g,sectionIndex:t.sectionIndex,isSDF:u,pixelOffsetTL:C,pixelOffsetBR:A,minFontScaleX:0,minFontScaleY:0})}return c}(0,i,s,n,a,o,r,t.allowVerticalPlacement),_=t.textSizeData;let y=null;"source"===_.kind?(y=[tc*n.layout.get("text-size").evaluate(o,{})],y[0]>Ic&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===_.kind&&(y=[tc*d.compositeTextSizes[0].evaluate(o,{},f),tc*d.compositeTextSizes[1].evaluate(o,{},f)],(y[0]>Ic||y[1]>Ic)&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),t.addSymbols(t.text,g,y,s,a,o,c,e,l.lineStartIndex,l.lineLength,p,f);for(const m of h)u[m]=t.text.placedSymbolArray.length-1;return 4*g.length}function Cc(t){for(const e in t)return t[e];return null}function Ac(t,e,i,r){const n=t.compareText;if(e in n){const t=n[e];for(let e=t.length-1;e>=0;e--)if(r.dist(t[e])t.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=fo([]),this.placementViewportMatrix=fo([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=ec(this.zoom,i["text-size"]),this.iconSizeData=ec(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),a=r.get("symbol-z-order");this.canOverlap="never"!==$c(r,"text-overlap","text-allow-overlap")||"never"!==$c(r,"icon-overlap","icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!n.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Bc(new Va(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Bc(new Va(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Wn,this.lineVertexArray=new Kn,this.symbolInstances=new Hn}calculateGlyphDependencies(t,e,i,r,n){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),h="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,u=a.get("symbol-sort-key");if(this.features=[],!c&&!h)return;const p=i.iconDependencies,d=i.glyphDependencies,m=i.availableImages,f=new Yr(this.zoom);for(const{feature:g,id:_,index:y,sourceLayerIndex:x}of e){const e=n._featureFilter.needGeometry,i=ja(g,e);if(!n._featureFilter.filter(f,i,r))continue;let s,l;if(e||(i.geometry=Za(g)),c){const t=n.getValueAndResolveTokens("text-field",i,r,m),e=Ft.factory(t);Lc(e)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===Wr()||this.hasRTLText&&Jr.isParsed())&&(s=ol(e,n,i))}if(h){const t=n.getValueAndResolveTokens("icon-image",i,r,m);l=t instanceof Vt?t:Vt.fromString(t)}if(!s&&!l)continue;const v=this.sortFeaturesByKey?u.evaluate(i,{},r):void 0;if(this.features.push({id:_,text:s,icon:l,index:y,sourceLayerIndex:x,geometry:i.geometry,properties:g.properties,type:kc[g.type],sortKey:v}),l&&(p[l.name]=!0),s){const e=o.evaluate(i,{},r).join(","),n="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of s.sections)if(t.image)p[t.image.name]=!0;else{const i=Pr(s.toString()),r=t.fontStack||e,a=d[r]=d[r]||{};this.calculateGlyphDependencies(t.text,a,n,this.allowVerticalPlacement,i)}}}"line"===a.get("symbol-placement")&&(this.features=function(t){const e={},i={},r=[];let n=0;function a(e){r.push(t[e]),n++}function o(t,e,n){const a=i[t];return delete i[t],i[e]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(n[0]),a}function s(t,i,n){const a=e[i];return delete e[i],e[t]=a,r[a].geometry[0].shift(),r[a].geometry[0]=n[0].concat(r[a].geometry[0]),a}function l(t,e,i){const r=i?e[0][e[0].length-1]:e[0][0];return`${t}:${r.x}:${r.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment){let i=t.dist(e[t.segment+1]),r=t.dist(e[t.segment]);const n={};for(let a=t.segment+1;a=0;a--)n[a]={x:e[a].x,y:e[a].y,tileUnitDistanceFromAnchor:r},a>0&&(r+=e[a-1].dist(e[a]));for(let t=0;t0}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(t,e){const i=t.placedSymbolArray.get(e),r=i.vertexStartIndex+4*i.numGlyphs;for(let n=i.vertexStartIndex;nr[t]-r[e]||n[e]-n[t])),a}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,i)=>{t>=0&&i.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ir("SymbolBucket",Fc,{omit:["layers","collisionBoxArray","features","compareText"]}),Fc.MAX_GLYPHS=65535,Fc.addDynamicAttributes=Dc;const Oc=new dn({"symbol-placement":new ln(rt.layout_symbol["symbol-placement"]),"symbol-spacing":new ln(rt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ln(rt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new cn(rt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ln(rt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ln(rt.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ln(rt.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ln(rt.layout_symbol["icon-ignore-placement"]),"icon-optional":new ln(rt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ln(rt.layout_symbol["icon-rotation-alignment"]),"icon-size":new cn(rt.layout_symbol["icon-size"]),"icon-text-fit":new ln(rt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ln(rt.layout_symbol["icon-text-fit-padding"]),"icon-image":new cn(rt.layout_symbol["icon-image"]),"icon-rotate":new cn(rt.layout_symbol["icon-rotate"]),"icon-padding":new cn(rt.layout_symbol["icon-padding"]),"icon-keep-upright":new ln(rt.layout_symbol["icon-keep-upright"]),"icon-offset":new cn(rt.layout_symbol["icon-offset"]),"icon-anchor":new cn(rt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ln(rt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ln(rt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ln(rt.layout_symbol["text-rotation-alignment"]),"text-field":new cn(rt.layout_symbol["text-field"]),"text-font":new cn(rt.layout_symbol["text-font"]),"text-size":new cn(rt.layout_symbol["text-size"]),"text-max-width":new cn(rt.layout_symbol["text-max-width"]),"text-line-height":new ln(rt.layout_symbol["text-line-height"]),"text-letter-spacing":new cn(rt.layout_symbol["text-letter-spacing"]),"text-justify":new cn(rt.layout_symbol["text-justify"]),"text-radial-offset":new cn(rt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ln(rt.layout_symbol["text-variable-anchor"]),"text-anchor":new cn(rt.layout_symbol["text-anchor"]),"text-max-angle":new ln(rt.layout_symbol["text-max-angle"]),"text-writing-mode":new ln(rt.layout_symbol["text-writing-mode"]),"text-rotate":new cn(rt.layout_symbol["text-rotate"]),"text-padding":new ln(rt.layout_symbol["text-padding"]),"text-keep-upright":new ln(rt.layout_symbol["text-keep-upright"]),"text-transform":new cn(rt.layout_symbol["text-transform"]),"text-offset":new cn(rt.layout_symbol["text-offset"]),"text-allow-overlap":new ln(rt.layout_symbol["text-allow-overlap"]),"text-overlap":new ln(rt.layout_symbol["text-overlap"]),"text-ignore-placement":new ln(rt.layout_symbol["text-ignore-placement"]),"text-optional":new ln(rt.layout_symbol["text-optional"])});var Vc={paint:new dn({"icon-opacity":new cn(rt.paint_symbol["icon-opacity"]),"icon-color":new cn(rt.paint_symbol["icon-color"]),"icon-halo-color":new cn(rt.paint_symbol["icon-halo-color"]),"icon-halo-width":new cn(rt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new cn(rt.paint_symbol["icon-halo-blur"]),"icon-translate":new ln(rt.paint_symbol["icon-translate"]),"icon-translate-anchor":new ln(rt.paint_symbol["icon-translate-anchor"]),"text-opacity":new cn(rt.paint_symbol["text-opacity"]),"text-color":new cn(rt.paint_symbol["text-color"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new cn(rt.paint_symbol["text-halo-color"]),"text-halo-width":new cn(rt.paint_symbol["text-halo-width"]),"text-halo-blur":new cn(rt.paint_symbol["text-halo-blur"]),"text-translate":new ln(rt.paint_symbol["text-translate"]),"text-translate-anchor":new ln(rt.paint_symbol["text-translate-anchor"])}),layout:Oc};class Uc{constructor(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:ut,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ir("FormatSectionOverride",Uc,{omit:["defaultValue"]});class Nc extends fn{constructor(t){super(t,Vc)}recalculate(t,e){if(super.recalculate(t,e),"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"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const i of t)e.indexOf(i)<0&&e.push(i);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,r){const n=this.layout.get(t).evaluate(e,{},i,r),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Di(a.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new Fc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of Vc.paint.overridableProperties){if(!Nc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new Uc(e),r=new Pi(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new Bi("source",r):new Ri("composite",r,e.value.zoomStops),this.paint._values[t]=new on(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&Nc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=Vc.paint.properties[e];let n=!1;const a=t=>{for(const e of t)if(r.overrides&&r.overrides.hasOverride(e))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof Ft)a(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof qt&&$t(e.value)===xt?a(e.value.sections):e instanceof hi?a(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}function $c(t,e,i){let r="never";const n=t.get(e);return n?r=n:t.get(i)&&(r="always"),r}var Gc={paint:new dn({"background-color":new ln(rt.paint_background["background-color"]),"background-pattern":new un(rt.paint_background["background-pattern"]),"background-opacity":new ln(rt.paint_background["background-opacity"])})},qc={paint:new dn({"raster-opacity":new ln(rt.paint_raster["raster-opacity"]),"raster-hue-rotate":new ln(rt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ln(rt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ln(rt.paint_raster["raster-brightness-max"]),"raster-saturation":new ln(rt.paint_raster["raster-saturation"]),"raster-contrast":new ln(rt.paint_raster["raster-contrast"]),"raster-resampling":new ln(rt.paint_raster["raster-resampling"]),"raster-fade-duration":new ln(rt.paint_raster["raster-fade-duration"])})};class Zc extends fn{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}const jc={circle:class extends fn{constructor(t){super(t,ho)}createBucket(t){return new Ha(t)}queryRadius(t){const e=t;return oo("circle-radius",this,e)+oo("circle-stroke-width",this,e)+so(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,i,r,n,a,o,s){const l=lo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(e,i)+this.paint.get("circle-stroke-width").evaluate(e,i),h="map"===this.paint.get("circle-pitch-alignment"),u=h?l:function(t,e){return t.map((t=>To(t,e)))}(l,s),p=h?c*o:c;for(const d of r)for(const t of d){const e=h?t:To(t,s);let i=p;const r=bo([],[t.x,t.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?i*=r[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(i*=a.cameraToCenterDistance/r[3]),Ka(u,e,i))return!0}return!1}},heatmap:class extends fn{constructor(t){super(t,So),this._updateColorRamp()}createBucket(t){return new Eo(t)}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Mo({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(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}},hillshade:class extends fn{constructor(t){super(t,Po)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}},fill:class extends fn{constructor(t){super(t,ys)}recalculate(t,e){super.recalculate(t,e);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(t){return new gs(t)}queryRadius(){return so(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,i,r,n,a,o){return Ja(lo(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),a.angle,o),r)}isTileClipped(){return!0}},"fill-extrusion":class extends fn{constructor(t){super(t,Us)}createBucket(t){return new Fs(t)}queryRadius(){return so(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,n,a,o,s){const l=lo(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),a.angle,o),c=this.paint.get("fill-extrusion-height").evaluate(e,i),h=this.paint.get("fill-extrusion-base").evaluate(e,i),u=function(t,e,i,r){const n=[];for(const a of t){const t=[a.x,a.y,0,1];bo(t,t,e),n.push(new S(t[0]/t[3],t[1]/t[3]))}return n}(l,s),p=function(t,e,i,r){const n=[],a=[],o=r[8]*e,s=r[9]*e,l=r[10]*e,c=r[11]*e,h=r[8]*i,u=r[9]*i,p=r[10]*i,d=r[11]*i;for(const m of t){const t=[],e=[];for(const i of m){const n=i.x,a=i.y,m=r[0]*n+r[4]*a+r[12],f=r[1]*n+r[5]*a+r[13],g=r[2]*n+r[6]*a+r[14],_=r[3]*n+r[7]*a+r[15],y=g+l,x=_+c,v=m+h,b=f+u,w=g+p,T=_+d,E=new S((m+o)/x,(f+s)/x);E.z=y/x,t.push(E);const I=new S(v/T,b/T);I.z=w/T,e.push(I)}n.push(t),a.push(e)}return[n,a]}(r,h,c,s);return function(t,e,i){let r=1/0;Ja(i,e)&&(r=$s(i,e[0]));for(let n=0;n=3)for(let e=0;e{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(){delete this._channel,this._callback=()=>{}}}const Hc=6371008.8;class Wc{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Wc(o(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,r=t.lat*e,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((t.lng-this.lng)*e);return Hc*Math.acos(Math.min(n,1))}toBounds(t=0){const e=360*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return new Kc(new Wc(this.lng-i,this.lat-e),new Wc(this.lng+i,this.lat+e))}static convert(t){if(t instanceof Wc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Wc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Wc(Number("lng"in t?t.lng:t.lon),Number(t.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 [, ]")}}class Kc{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))}setNorthEast(t){return this._ne=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this}setSouthWest(t){return this._sw=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this}extend(t){const e=this._sw,i=this._ne;let r,n;if(t instanceof Wc)r=t,n=t;else{if(!(t instanceof Kc))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Kc.convert(t)):this.extend(Wc.convert(t)):this;if(r=t._sw,n=t._ne,!r||!n)return this}return e||i?(e.lng=Math.min(r.lng,e.lng),e.lat=Math.min(r.lat,e.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new Wc(r.lng,r.lat),this._ne=new Wc(n.lng,n.lat)),this}getCenter(){return new Wc((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 Wc(this.getWest(),this.getNorth())}getSouthEast(){return new Wc(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(t){const{lng:e,lat:i}=Wc.convert(t);let r=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(t){return t instanceof Kc?t:t?new Kc(t):t}}const Jc=2*Math.PI*Hc;function Yc(t){return Jc*Math.cos(t*Math.PI/180)}function Qc(t){return(180+t)/360}function th(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function eh(t,e){return t/Yc(e)}function ih(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class rh{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Wc.convert(t);return new rh(Qc(i.lng),th(i.lat),eh(e,i.lat))}toLngLat(){return new Wc(360*this.x-180,ih(this.y))}toAltitude(){return this.z*Yc(ih(this.y))}meterInMercatorCoordinateUnits(){return 1/Jc*(t=ih(this.y),1/Math.cos(t*Math.PI/180));var t}}function nh(t,e,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[t*r-2*Math.PI*6378137/2,e*r-2*Math.PI*6378137/2]}class ah{constructor(t,e,i){if(t<0||t>25||i<0||i>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${i}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=i,this.key=lh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,i){const r=(a=this.y,o=this.z,s=nh(256*(n=this.x),256*(a=Math.pow(2,o)-a-1),o),l=nh(256*(n+1),256*(a+1),o),s[0]+","+s[1]+","+l[0]+","+l[1]);var n,a,o,s,l;const c=function(t,e,i){let r,n="";for(let a=t;a>0;a--)r=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,r)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new S((t.x*e-this.x)*$a,(t.y*e-this.y)*$a)}toString(){return`${this.z}/${this.x}/${this.y}`}}class oh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=lh(t,e.z,e.z,e.x,e.y)}}class sh{constructor(t,e,i,r,n){if(t= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=e,this.canonical=new ah(i,+r,+n),this.key=lh(e,t,i,r,n)}clone(){return new sh(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new sh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new sh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const i=this.canonical.z-t;return t>this.canonical.z?lh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):lh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new sh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new sh(e,this.wrap,e,i,r),new sh(e,this.wrap,e,i+1,r),new sh(e,this.wrap,e,i,r+1),new sh(e,this.wrap,e,i+1,r+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=e),e=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}_unpackMapbox(t,e,i){return(256*t*256+256*e+i)/10-1e4}_unpackTerrarium(t,e,i){return 256*t+e+i/256-32768}getPixels(){return new ko({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let r=e*this.dim,n=e*this.dim+this.dim,a=i*this.dim,o=i*this.dim+this.dim;switch(e){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:a=o-1;break;case 1:o=a+1}const s=-e*this.dim,l=-i*this.dim;for(let c=a;c=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class uh{constructor(t,e,i,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=i,t._y=r,this.properties=t.properties,this.id=n}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t}}class ph{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Er($a,16,0),this.grid3D=new Er($a,16,0),this.featureIndexArray=new Yn,this.promoteId=e}insert(t,e,i,r,n,a){const o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n);const s=a?this.grid3D:this.grid;for(let l=0;l=0&&i[3]>=0&&s.insert(o,i[0],i[1],i[2],i[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ws.VectorTile(new cl(this.rawTileData)).layers,this.sourceLayerCoder=new hh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const n=t.params||{},a=$a/t.tileSize/t.scale,o=Hi(n.filter),s=t.queryGeometry,l=t.queryPadding*a,c=mh(s),h=this.grid.query(c.minX-l,c.minY-l,c.maxX+l,c.maxY+l),u=mh(t.cameraQueryGeometry),p=this.grid3D.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l,((e,i,r,n)=>function(t,e,i,r,n){for(const o of t)if(e<=o.x&&i<=o.y&&r>=o.x&&n>=o.y)return!0;const a=[new S(e,i),new S(e,n),new S(r,n),new S(r,i)];if(t.length>2)for(const o of a)if(no(t,o))return!0;for(let o=0;o(u||(u=Za(e)),i.queryIntersectsFeature(s,e,r,u,this.z,t.transform,a,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,i,r,n,a,o,l,c,h,u){const p=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let i=0;i=0)return!0;return!1}(a,p))return;const d=this.sourceLayerCoder.decode(i),m=this.vtLayers[d].feature(r);if(n.needGeometry){const t=ja(m,!0);if(!n.filter(new Yr(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new Yr(this.tileID.overscaledZ),m))return;const f=this.getId(m,d);for(let g=0;g{const o=e instanceof sn?e.get(a):null;return o&&o.evaluate?o.evaluate(i,r,n):o}))}function mh(t){let e=1/0,i=1/0,r=-1/0,n=-1/0;for(const a of t)e=Math.min(e,a.x),i=Math.min(i,a.y),r=Math.max(r,a.x),n=Math.max(n,a.y);return{minX:e,minY:i,maxX:r,maxY:n}}function fh(t,e){return e-t}var gh;Ir("FeatureIndex",ph,{omit:["rawTileData","sourceLayerCoder"]}),t.PerformanceMarkers=void 0,(gh=t.PerformanceMarkers||(t.PerformanceMarkers={})).create="create",gh.load="load",gh.fullLoad="fullLoad";let _h=null,yh=[];const xh=1e3/30,vh={mark(t){performance.mark(t)},frame(t){const e=t;null!=_h&&yh.push(e-_h),_h=e},clearMetrics(){_h=null,yh=[],performance.clearMeasures("loadTime"),performance.clearMeasures("fullLoadTime");for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e])},getPerformanceMetrics(){performance.measure("loadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure("fullLoadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName("loadTime")[0].duration,i=performance.getEntriesByName("fullLoadTime")[0].duration,r=yh.length,n=1/(yh.reduce(((t,e)=>t+e),0)/r/1e3),a=yh.filter((t=>t>xh)).reduce(((t,e)=>t+(e-xh)/xh),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:a/(r+a)*100}}};t.AJAXError=$,t.ARRAY_TYPE=po,t.Actor=class{constructor(t,e,i){this.target=t,this.parent=e,this.mapId=i,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},c(["receive","process"],this),this.invoker=new Xc(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=_()?t:window}send(t,e,i,r,n=!1){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(this.callbacks[a]=i);const o=w(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:Cr(e,o)},o),{cancel:()=>{i&&delete this.callbacks[a],this.target.postMessage({id:a,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(t){const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[i];const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t()}else _()||e.mustQueue?(this.tasks[i]=e,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,e)}process(){if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(Ar(e.error)):i(null,Ar(e.data)))}else{let i=!1;const r=w(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{i=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?Cr(e):null,data:Cr(n,r)},r)}:t=>{i=!0};let a=null;const o=Ar(e.data);if(this.parent[e.type])a=this.parent[e.type](e.sourceMapId,o,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");a=this.parent.getWorkerSource(e.sourceMapId,t[0],o.source)[t[1]](o,n)}else n(new Error(`Could not find function ${e.type}`));!i&&a&&a.cancel&&(this.cancelCallbacks[t]=a.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.AlphaImage=Ao,t.CanonicalTileID=ah,t.CollisionBoxArray=qn,t.CollisionCircleLayoutArray=class extends Pn{},t.Color=Lt,t.DEMData=ch,t.DataConstantProperty=ln,t.DictionaryCoder=hh,t.EXTENT=$a,t.ErrorEvent=et,t.EvaluationParameters=Yr,t.Event=tt,t.Evented=it,t.FeatureIndex=ph,t.FillBucket=gs,t.FillExtrusionBucket=Fs,t.GeoJSONFeature=uh,t.ImageAtlas=Fl,t.ImagePosition=Rl,t.LineBucket=Ks,t.LineStripIndexArray=class extends Nn{},t.LngLat=Wc,t.LngLatBounds=Kc,t.MercatorCoordinate=rh,t.ONE_EM=ll,t.OverscaledTileID=sh,t.PerformanceUtils=vh,t.PosArray=Qn,t.Properties=dn,t.QuadTriangleArray=class extends Ln{},t.RGBAImage=ko,t.RasterBoundsArray=class extends wn{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.ResourceType=N,t.SegmentVector=fa,t.SymbolBucket=Fc,t.Transitionable=en,t.TriangleIndexArray=ua,t.Uniform1f=Ca,t.Uniform1i=class extends za{constructor(t,e){super(t,e),this.current=0}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))}},t.Uniform2f=class extends za{constructor(t,e){super(t,e),this.current=[0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))}},t.Uniform3f=class extends za{constructor(t,e){super(t,e),this.current=[0,0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))}},t.Uniform4f=Aa,t.UniformColor=ka,t.UniformMatrix4f=class extends za{constructor(t,e){super(t,e),this.current=Ma}set(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=oh,t.ValidationError=nt,t.ZoomHistory=kr,t.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t},t.addDynamicAttributes=Dc,t.asyncAll=function(t,e,i){if(!t.length)return i(null,[]);let r=t.length;const n=new Array(t.length);let a=null;t.forEach(((t,o)=>{e(t,((t,e)=>{t&&(a=t),n[o]=e,0==--r&&i(a,n)}))}))},t.bezier=r,t.bindAll=c,t.cacheEntryPossiblyAdded=function(t){L++,L>P&&(t.getActor().send("enforceCacheSizeLimit",M),L=0)},t.clamp=a,t.clearTileCache=function(t){const e=caches.delete(C);t&&e.catch(t).then((()=>t()))},t.clipLine=hc,t.clone=function(t){var e=new po(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],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},t.clone$1=p,t.clone$2=function(t){var e=new po(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=al,t.config=z,t.copy=function(t,e){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},t.create=function(){var t=new po(16);return po!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=mo,t.createExpression=Li,t.createFilter=Hi,t.createLayout=xn,t.createStyleLayer=function(t){return"custom"===t.type?new Zc(t):new jc[t.type](t)},t.cross=function(t,e,i){var r=e[0],n=e[1],a=e[2],o=i[0],s=i[1],l=i[2];return t[0]=n*l-a*s,t[1]=a*o-r*l,t[2]=r*s-n*o,t},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=n,t.emitValidationErrors=Tr,t.enforceCacheSizeLimit=function(t){D(),A&&A.then((e=>{e.keys().then((i=>{for(let r=0;r{}}},t.identity=fo,t.invert=function(t,e){var i=e[0],r=e[1],n=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],h=e[8],u=e[9],p=e[10],d=e[11],m=e[12],f=e[13],g=e[14],_=e[15],y=i*s-r*o,x=i*l-n*o,v=i*c-a*o,b=r*l-n*s,w=r*c-a*s,T=n*c-a*l,E=h*f-u*m,S=h*g-p*m,I=h*_-d*m,z=u*g-p*f,C=u*_-d*f,A=p*_-d*g,k=y*A-x*C+v*z+b*I-w*S+T*E;return k?(t[0]=(s*A-l*C+c*z)*(k=1/k),t[1]=(n*C-r*A-a*z)*k,t[2]=(f*T-g*w+_*b)*k,t[3]=(p*w-u*T-d*b)*k,t[4]=(l*I-o*A-c*S)*k,t[5]=(i*A-n*I+a*S)*k,t[6]=(g*v-m*T-_*x)*k,t[7]=(h*T-p*v+d*x)*k,t[8]=(o*C-s*I+c*E)*k,t[9]=(r*I-i*C-a*E)*k,t[10]=(m*w-f*v+_*y)*k,t[11]=(u*v-h*w-d*y)*k,t[12]=(s*S-o*z-l*E)*k,t[13]=(i*z-r*S+n*E)*k,t[14]=(f*x-m*b-g*y)*k,t[15]=(h*b-u*x+p*y)*k,t):null},t.isImageBitmap=T,t.isSafari=w,t.isWorker=_,t.keysDifference=function(t,e){const i=[];for(const r in t)r in e||i.push(r);return i},t.lazyLoadRTLTextPlugin=function(){Jr.isLoading()||Jr.isLoaded()||"deferred"!==Wr()||Kr()},t.makeRequest=Z,t.mapObject=h,t.mercatorXfromLng=Qc,t.mercatorYfromLat=th,t.mercatorZfromAltitude=eh,t.mul=yo,t.mul$1=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t[3]=e[3]*i[3],t},t.multiply=go,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var i=e[0],r=e[1],n=e[2],a=i*i+r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Se,t.ortho=function(t,e,i,r,n,a,o){var s=1/(e-i),l=1/(r-n),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*s,t[13]=(n+r)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseCacheControl=y,t.parseGlyphPbf=function(t){return new cl(t).readFields(Pl,[])},t.pbf=cl,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=$a/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const i=e.bucket.layers[0].layout,r=e.bucket.layers[0]._unevaluatedLayout._values,n={layoutIconSize:r["icon-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),layoutTextSize:r["text-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),textMaxSize:r["text-size"].possiblyEvaluate(new Yr(18))};if("composite"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.textSizeData;n.compositeTextSizes=[r["text-size"].possiblyEvaluate(new Yr(t),e.canonical),r["text-size"].possiblyEvaluate(new Yr(i),e.canonical)]}if("composite"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.iconSizeData;n.compositeIconSizes=[r["icon-size"].possiblyEvaluate(new Yr(t),e.canonical),r["icon-size"].possiblyEvaluate(new Yr(i),e.canonical)]}const a=i.get("text-line-height")*ll,o="viewport"!==i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement"),s=i.get("text-keep-upright"),l=i.get("text-size");for(const c of e.bucket.features){const r=i.get("text-font").evaluate(c,{},e.canonical).join(","),h=l.evaluate(c,{},e.canonical),u=n.layoutTextSize.evaluate(c,{},e.canonical),p=n.layoutIconSize.evaluate(c,{},e.canonical),d={horizontal:{},vertical:void 0},f=c.text;let g,_=[0,0];if(f){const n=f.toString(),l=i.get("text-letter-spacing").evaluate(c,{},e.canonical)*ll,p=Dr(n)?l:0,m=i.get("text-anchor").evaluate(c,{},e.canonical),g=i.get("text-variable-anchor");if(!g){const t=i.get("text-radial-offset").evaluate(c,{},e.canonical);_=t?Tc(m,[t*ll,wc]):i.get("text-offset").evaluate(c,{},e.canonical).map((t=>t*ll))}let y=o?"center":i.get("text-justify").evaluate(c,{},e.canonical);const x=i.get("symbol-placement"),v="point"===x?i.get("text-max-width").evaluate(c,{},e.canonical)*ll:0,b=()=>{e.bucket.allowVerticalPlacement&&Pr(n)&&(d.vertical=Nl(f,e.glyphMap,e.glyphPositions,e.imagePositions,r,v,a,m,"left",p,_,t.WritingMode.vertical,!0,x,u,h))};if(!o&&g){const i="auto"===y?g.map((t=>Ec(t))):[y];let n=!1;for(let o=0;othis._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const a=i.sourceLayer||"_geojsonTileLayer";let o=n[a];o||(o=n[a]=[]),o.push(e)}}}class n{constructor(e){const i={},r=[];for(const t in e){const n=e[t],a=i[t]={};for(const t in n){const e=n[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const i={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};r.push(i),a[t]={rect:i,metrics:e.metrics}}}const{w:n,h:a}=t.potpack(r),o=new t.AlphaImage({width:n||1,height:a||1});for(const s in e){const r=e[s];for(const e in r){const n=r[+e];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const a=i[s][e].rect;t.AlphaImage.copy(n.bitmap,o,{x:0,y:0},{x:a.x+1,y:a.y+1},n.bitmap)}}this.image=o,this.positions=i}}t.register("GlyphAtlas",n);class a{constructor(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId}parse(e,i,r,a,s){this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;const l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},p=i.familiesBySource[this.source];for(const n in p){const i=e.layers[n];if(!i)continue;1===i.version&&t.warnOnce(`Vector tile source "${this.source}" layer "${n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const a=l.encode(n),s=[];for(let t=0;t=i.maxzoom||"none"!==i.visibility&&(o(e,this.zoom,r),(h[i.id]=i.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:a,sourceID:this.source})).populate(s,u,this.tileID.canonical),c.bucketLayerIDs.push(e.map((t=>t.id))))}}let d,m,f,g;const _=t.mapObject(u.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(_).length?a.send("getGlyphs",{uid:this.uid,stacks:_},((t,e)=>{d||(d=t,m=e,v.call(this))})):m={};const y=Object.keys(u.iconDependencies);y.length?a.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{d||(d=t,f=e,v.call(this))})):f={};const x=Object.keys(u.patternDependencies);function v(){if(d)return s(d);if(m&&f&&g){const e=new n(m),i=new t.ImageAtlas(f,g);for(const n in h){const a=h[n];a instanceof t.SymbolBucket?(o(a.layers,this.zoom,r),t.performSymbolLayout({bucket:a,glyphMap:m,glyphPositions:e.positions,imageMap:f,imagePositions:i.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):a.hasPattern&&(a instanceof t.LineBucket||a instanceof t.FillBucket||a instanceof t.FillExtrusionBucket)&&(o(a.layers,this.zoom,r),a.addFeatures(u,this.tileID.canonical,i.patternPositions))}this.status="done",s(null,{buckets:Object.values(h).filter((t=>!t.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:i,glyphMap:this.returnDependencies?m:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}x.length?a.send("getImages",{icons:x,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{d||(d=t,g=e,v.call(this))})):g={},v.call(this)}}function o(e,i,r){const n=new t.EvaluationParameters(i);for(const t of e)t.recalculate(n,r)}function s(e,i){const r=t.getArrayBuffer(e.request,((e,r,n,a)=>{e?i(e):r&&i(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(r)),rawData:r,cacheControl:n,expires:a})}));return()=>{r.cancel(),i()}}class l{constructor(t,e,i,r){this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||s,this.loading={},this.loaded={}}loadTile(e,i){const r=e.uid;this.loading||(this.loading={});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),o=this.loading[r]=new a(e);o.abort=this.loadVectorData(e,((e,a)=>{if(delete this.loading[r],e||!a)return o.status="done",this.loaded[r]=o,i(e);const s=a.rawData,l={};a.expires&&(l.expires=a.expires),a.cacheControl&&(l.cacheControl=a.cacheControl);const c={};if(n){const t=n.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}o.vectorTile=a.vectorTile,o.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,r)=>{if(e||!r)return i(e);i(null,t.extend({rawTileData:s.slice(0)},r,l,c))})),this.loaded=this.loaded||{},this.loaded[r]=o}))}reloadTile(t,e){const i=this.loaded,r=t.uid,n=this;if(i&&i[r]){const a=i[r];a.showCollisionBoxes=t.showCollisionBoxes;const o=(t,i)=>{const r=a.reloadCallback;r&&(delete a.reloadCallback,a.parse(a.vectorTile,n.layerIndex,this.availableImages,n.actor,r)),e(t,i)};"parsing"===a.status?a.reloadCallback=o:"done"===a.status&&(a.vectorTile?a.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,o):o())}}abortTile(t,e){const i=this.loading,r=t.uid;i&&i[r]&&i[r].abort&&(i[r].abort(),delete i[r]),e()}removeTile(t,e){const i=this.loaded,r=t.uid;i&&i[r]&&delete i[r],e()}}class c{constructor(){this.loaded={}}loadTile(e,i){const{uid:r,encoding:n,rawImageData:a}=e,o=t.isImageBitmap(a)?this.getImageData(a):a,s=new t.DEMData(r,o,n);this.loaded=this.loaded||{},this.loaded[r]=s,i(null,s)}getImageData(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),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(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:i.width,height:i.height},i.data)}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}var h=function t(e,i){var r,n=e&&e.type;if("FeatureCollection"===n)for(r=0;r=Math.abs(s)?i-l+s:s-l+i,i=l}i+r>=0!=!!e&&t.reverse()}const d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON;class m{constructor(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const i of this._feature.geometry)e.push([new t.pointGeometry(i[0],i[1])]);return e}{const e=[];for(const i of this._feature.geometry){const r=[];for(const e of i)r.push(new t.pointGeometry(e[0],e[1]));e.push(r)}return e}}toGeoJSON(t,e,i){return d.call(this,t,e,i)}}class f{constructor(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e}feature(t){return new m(this._features[t])}}var g={exports:{}},_=t.pointGeometry,y=t.vectorTile.VectorTileFeature,x=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function b(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new b(this.features[t],this.options.extent)},b.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function k(t,e){for(var i=t.loadGeometry(),r=t.type,n=0,a=0,o=i.length,s=0;s>1;D(t,e,o,r,n,a%2),P(t,e,i,r,o-1,a+1),P(t,e,i,o+1,n,a+1)}function D(t,e,i,r,n,a){for(;n>r;){if(n-r>600){const o=n-r+1,s=i-r+1,l=Math.log(o),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);D(t,e,i,Math.max(r,Math.floor(i-s*c/o+h)),Math.min(n,Math.floor(i+(o-s)*c/o+h)),a)}const o=e[2*i+a];let s=r,l=n;for(L(t,e,r,i),e[2*n+a]>o&&L(t,e,r,n);so;)l--}e[2*r+a]===o?L(t,e,r,l):(l++,L(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function L(t,e,i,r){B(t,i,r),B(e,2*i,2*r),B(e,2*i+1,2*r+1)}function B(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function R(t,e,i,r){const n=t-i,a=e-r;return n*n+a*a}g.exports=E,g.exports.fromVectorTileJs=E,g.exports.fromGeojsonVt=function(t,e){e=e||{};var i={};for(var r in t)i[r]=new T(t[r].features,e),i[r].name=r,i[r].version=e.version,i[r].extent=e.extent;return E({layers:i})},g.exports.GeoJSONWrapper=T;const F=t=>t[0],O=t=>t[1];class V{constructor(t,e=F,i=O,r=64,n=Float64Array){this.nodeSize=r,this.points=t;const a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new n(2*t.length);for(let l=0;l=i&&c<=n&&h>=r&&h<=a&&l.push(t[o]);continue}const m=Math.floor((d+p)/2);c=e[2*m],h=e[2*m+1],c>=i&&c<=n&&h>=r&&h<=a&&l.push(t[m]);const f=(u+1)%2;(0===u?i<=c:r<=h)&&(s.push(d),s.push(m-1),s.push(f)),(0===u?n>=c:a>=h)&&(s.push(m+1),s.push(p),s.push(f))}return l}(this.ids,this.coords,t,e,i,r,this.nodeSize)}within(t,e,i){return function(t,e,i,r,n,a){const o=[0,t.length-1,0],s=[],l=n*n;for(;o.length;){const c=o.pop(),h=o.pop(),u=o.pop();if(h-u<=a){for(let n=u;n<=h;n++)R(e[2*n],e[2*n+1],i,r)<=l&&s.push(t[n]);continue}const p=Math.floor((u+h)/2),d=e[2*p],m=e[2*p+1];R(d,m,i,r)<=l&&s.push(t[p]);const f=(c+1)%2;(0===c?i-n<=d:r-n<=m)&&(o.push(u),o.push(p-1),o.push(f)),(0===c?i+n>=d:r+n>=m)&&(o.push(p+1),o.push(h),o.push(f))}return s}(this.ids,this.coords,t,e,i,this.nodeSize)}}const U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},N=Math.fround||($=new Float32Array(1),t=>($[0]=+t,$[0]));var $;class G{constructor(t){this.options=J(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:i,maxZoom:r,nodeSize:n}=this.options;e&&console.time("total time");const a=`prepare ${t.length} points`;e&&console.time(a),this.points=t;let o=[];for(let s=0;s=i;s--){const t=+Date.now();o=this._cluster(o,s),this.trees[s]=new V(o,Y,Q,n,Float32Array),e&&console.log("z%d: %d clusters in %dms",s,o.length,+Date.now()-t)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,t[1]));let n=180===t[2]?180:((t[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,n=180;else if(i>n){const t=this.getClusters([i,r,180,a],e),o=this.getClusters([-180,r,n,a],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],s=o.range(H(i),W(a),H(n),W(r)),l=[];for(const c of s){const t=o.points[c];l.push(t.numPoints?j(t):this.points[t.index])}return l}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const a=n.points[e];if(!a)throw new Error(r);const o=this.options.radius/(this.options.extent*Math.pow(2,i-1)),s=n.within(a.x,a.y,o),l=[];for(const c of s){const e=n.points[c];e.parentId===t&&l.push(e.numPoints?j(e):this.points[e.index])}if(0===l.length)throw new Error(r);return l}getLeaves(t,e,i){const r=[];return this._appendLeaves(r,t,e=e||10,i=i||0,0),r}getTile(t,e,i){const r=this.trees[this._limitZoom(t)],n=Math.pow(2,t),{extent:a,radius:o}=this.options,s=o/a,l=(i-s)/n,c=(i+1+s)/n,h={features:[]};return this._addTileFeatures(r.range((e-s)/n,l,(e+1+s)/n,c),r.points,e,i,n,h),0===e&&this._addTileFeatures(r.range(1-s/n,l,1,c),r.points,n,i,n,h),e===n-1&&this._addTileFeatures(r.range(0,l,s/n,c),r.points,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,r,n){const a=this.getChildren(e);for(const o of a){const e=o.properties;if(e&&e.cluster?n+e.point_count<=r?n+=e.point_count:n=this._appendLeaves(t,e.cluster_id,i,r,n):ne&&(u+=i.numPoints||1)}if(u>h&&u>=o){let t=r.x*h,o=r.y*h,s=a&&h>1?this._map(r,!0):null;const p=(l<<5)+(e+1)+this.points.length;for(const i of c){const l=n.points[i];if(l.zoom<=e)continue;l.zoom=e;const c=l.numPoints||1;t+=l.x*c,o+=l.y*c,l.parentId=p,a&&(s||(s=this._map(r,!0)),a(s,this._map(l)))}r.parentId=p,i.push(q(t/u,o/u,p,u,s))}else if(i.push(r),u>1)for(const t of c){const r=n.points[t];r.zoom<=e||(r.zoom=e,i.push(r))}}return i}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?J({},t.properties):t.properties;const i=this.points[t.index].properties,r=this.options.map(i);return e&&r===i?J({},r):r}}function q(t,e,i,r,n){return{x:N(t),y:N(e),zoom:1/0,id:i,parentId:-1,numPoints:r,properties:n}}function Z(t,e){const[i,r]=t.geometry.coordinates;return{x:N(H(i)),y:N(W(r)),zoom:1/0,index:e,parentId:-1}}function j(t){return{type:"Feature",id:t.id,properties:X(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),K(t.y)]}};var e}function X(t){const e=t.numPoints,i=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return J(J({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:i})}function H(t){return t/360+.5}function W(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function K(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function J(t,e){for(const i in e)t[i]=e[i];return t}function Y(t){return t.x}function Q(t){return t.y}function tt(t,e,i,r){for(var n,a=r,o=i-e>>1,s=i-e,l=t[e],c=t[e+1],h=t[i],u=t[i+1],p=e+3;pa)n=p,a=d;else if(d===a){var m=Math.abs(p-o);mr&&(n-e>3&&tt(t,e,n,r),t[n+2]=a,i-n>3&&tt(t,n,i,r))}function et(t,e,i,r,n,a){var o=n-i,s=a-r;if(0!==o||0!==s){var l=((t-i)*o+(e-r)*s)/(o*o+s*s);l>1?(i=n,r=a):l>0&&(i+=o*l,r+=s*l)}return(o=t-i)*o+(s=e-r)*s}function it(t,e,i,r){var n={id:void 0===t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)rt(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var r=0;r0&&(o+=r?(n*c-l*a)/2:Math.sqrt(Math.pow(l-n,2)+Math.pow(c-a,2))),n=l,a=c}var h=e.length-3;e[2]=1,tt(e,0,h,i),e[h+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function st(t,e,i,r){for(var n=0;n1?1:i}function ht(t,e,i,r,n,a,o,s){if(r/=e,a>=(i/=e)&&o=r)return null;for(var l=[],c=0;c=i&&m=r)){var f=[];if("Point"===p||"MultiPoint"===p)ut(u,f,i,r,n);else if("LineString"===p)pt(u,f,i,r,n,!1,s.lineMetrics);else if("MultiLineString"===p)mt(u,f,i,r,n,!1);else if("Polygon"===p)mt(u,f,i,r,n,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&o<=r&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function pt(t,e,i,r,n,a,o){for(var s,l,c=dt(t),h=0===n?gt:_t,u=t.start,p=0;pi&&(l=h(c,d,m,g,_,i),o&&(c.start=u+s*l)):y>r?x=i&&(l=h(c,d,m,g,_,i),v=!0),x>r&&y<=r&&(l=h(c,d,m,g,_,r),v=!0),!a&&v&&(o&&(c.end=u+s*l),e.push(c),c=dt(t)),o&&(u+=s)}var b=t.length-3;d=t[b],m=t[b+1],f=t[b+2],(y=0===n?d:m)>=i&&y<=r&&ft(c,d,m,f),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function mt(t,e,i,r,n,a){for(var o=0;oo.maxX&&(o.maxX=h),u>o.maxY&&(o.maxY=u)}return o}function Tt(t,e,i,r){var n=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(n?o:r))i.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(i.numSimplified++,s.push(e[l]),s.push(e[l+1])),i.numPoints++;n&&function(t,e){for(var i=0,r=0,n=t.length,a=n-2;r0===e)for(r=0,n=t.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[u]=wt(t,e,i,r,l),this.tileCoords.push({z:e,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,n){if(e===l.maxZoom||e===n)continue;var m=1<1&&console.time("clipping");var f,g,_,y,x,v,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,E=1+b;f=g=_=y=null,x=ht(t,h,i-b,i+T,0,p.minX,p.maxX,l),v=ht(t,h,i+w,i+E,0,p.minX,p.maxX,l),t=null,x&&(f=ht(x,h,r-b,r+T,1,p.minY,p.maxY,l),g=ht(x,h,r+w,r+E,1,p.minY,p.maxY,l),x=null),v&&(_=ht(v,h,r-b,r+T,1,p.minY,p.maxY,l),y=ht(v,h,r+w,r+E,1,p.minY,p.maxY,l),v=null),c>1&&console.timeEnd("clipping"),s.push(f||[],e+1,2*i,2*r),s.push(g||[],e+1,2*i,2*r+1),s.push(_||[],e+1,2*i+1,2*r),s.push(y||[],e+1,2*i+1,2*r+1)}}},St.prototype.getTile=function(t,e,i){var r=this.options,n=r.extent,a=r.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,h=e,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[It(c,h,u)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,h,u),a>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,t,e,i),a>1&&console.timeEnd("drilling down"),this.tiles[s]?vt(this.tiles[s],n):null):null};class Ct extends l{constructor(t,e,i,r){super(t,e,i,zt),r&&(this.loadGeoJSON=r)}loadData(e,i){var r;null===(r=this._pendingRequest)||void 0===r||r.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request);this._pendingCallback=i,this._pendingRequest=this.loadGeoJSON(e,((r,a)=>{if(delete this._pendingCallback,delete this._pendingRequest,r||!a)return i(r);if("object"!=typeof a)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{h(a,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const r=a.features.filter((t=>i.value.evaluate({zoom:0},t)));a={type:"FeatureCollection",features:r}}this._geoJSONIndex=e.cluster?new G(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const r={},n={},a={accumulated:null,zoom:0},o={properties:null},s=Object.keys(i);for(const l of s){const[e,a]=i[l],o=t.createExpression(a),s=t.createExpression("string"==typeof e?[e,["accumulated"],["get",l]]:e);r[l]=o.value,n[l]=s.value}return e.map=t=>{o.properties=t;const e={};for(const i of s)e[i]=r[i].evaluate(a,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const i of s)a.accumulated=t[i],t[i]=n[i].evaluate(a,o)},e}(e)).load(a.features):function(t,e){return new St(t,e)}(a,e.geojsonVtOptions)}catch(r){return i(r)}this.loaded={};const o={};if(n){const t=n.finish();t&&(o.resourceTiming={},o.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}i(null,o)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}loadGeoJSON(e,i){if(e.request)return t.getJSON(e.request,i);if("string"==typeof e.data)try{i(null,JSON.parse(e.data))}catch(t){i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}else i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}}removeSource(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class At{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Ct},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}setReferrer(t,e){this.referrer=e}setImages(t,e,i){this.availableImages[t]=e;for(const r in this.workerSources[t]){const i=this.workerSources[t][r];for(const t in i)i[t].availableImages=e}i()}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).loadTile(e,i)}loadDEMTile(t,e,i){this.getDEMWorkerSource(t,e.source).loadTile(e,i)}reloadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).reloadTile(e,i)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeDEMTile(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const r=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==r.removeSource?r.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,r){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){r(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new r),e}getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const r={send:(e,i,r)=>{this.actor.send(e,i,r,t)}};this.workerSources[t][e][i]=new this.workerSourceTypes[e](r,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new c),this.demWorkerSources[t][e]}enforceCacheSizeLimit(e,i){t.enforceCacheSizeLimit(i)}}return t.isWorker()&&(self.worker=new At(self)),At})),r(["./shared"],(function(t){var e=i;function i(t){return!function(t){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,i=new Blob([""],{type:"text/javascript"}),r=URL.createObjectURL(i);try{e=new Worker(r),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(r),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return!1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===r[e=t&&t.failIfMajorPerformanceCaveat]&&(r[e]=function(t){var e,r=function(t){var e=document.createElement("canvas"),r=Object.create(i.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.getContext("webgl",r)||e.getContext("experimental-webgl",r)}(t);if(!r)return!1;try{e=r.createShader(r.VERTEX_SHADER)}catch(t){return!1}return!(!e||r.isContextLost())&&(r.shaderSource(e,"void main() {}"),r.compileShader(e),!0===r.getShaderParameter(e,r.COMPILE_STATUS))}(e)),r[e]?document.documentMode?"insufficient ECMAScript 6 support":void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var e}(t)}var r={};function n(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let i=0;i{window.removeEventListener("click",a.suppressClickInternal,!0)}),0)}static mousePos(e,i){const r=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-r.left-e.clientLeft,i.clientY-r.top-e.clientTop)}static touchPos(e,i){const r=e.getBoundingClientRect(),n=[];for(let a=0;a-1);l++,a[l]=s,o[l]=c,o[l+1]=u}for(let s=0,l=0;s{let r=this.entries[t];r||(r=this.entries[t]={glyphs:{},requests:{},ranges:{}});let n=r.glyphs[e];if(void 0!==n)return void i(null,{stack:t,id:e,glyph:n});if(n=this._tinySDF(r,t,e),n)return r.glyphs[e]=n,void i(null,{stack:t,id:e,glyph:n});const a=Math.floor(e/256);if(256*a>65535)return void i(new Error("glyphs > 65535 not supported"));if(r.ranges[a])return void i(null,{stack:t,id:e,glyph:n});let o=r.requests[a];o||(o=r.requests[a]=[],m.loadGlyphRange(t,a,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(r.glyphs[+t]=e[+t]);r.ranges[a]=!0}for(const i of o)i(t,e);delete r.requests[a]}))),o.push(((r,n)=>{r?i(r):n&&i(null,{stack:t,id:e,glyph:n[e]||null})}))}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:r,glyph:n}of e)(t[i]||(t[i]={}))[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics};i(null,t)}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(t.unicodeBlockLookup["CJK Unified Ideographs"](e)||t.unicodeBlockLookup["Hangul Syllables"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let a=e.tinySDF;if(!a){let t="400";/bold/i.test(i)?t="900":/medium/i.test(i)?t="500":/light/i.test(i)&&(t="200"),a=e.tinySDF=new m.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:n,fontWeight:t})}const o=a.draw(String.fromCharCode(r));return{id:r,bitmap:new t.AlphaImage({width:o.width||30,height:o.height||30},o.data),metrics:{width:o.glyphWidth||24,height:o.glyphHeight||24,left:o.glyphLeft||0,top:o.glyphTop-27||-8,advance:o.glyphAdvance||24}}}}m.loadGlyphRange=function(e,i,r,n,a){const o=256*i,s=o+255,l=n.transformRequest(r.replace("{fontstack}",e).replace("{range}",`${o}-${s}`),t.ResourceType.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)a(e);else if(i){const e={};for(const r of t.parseGlyphPbf(i))e[r.id]=r;a(null,e)}}))},m.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=e,this.cutoff=r,this.radius=i;const s=this.size=t+4*e,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${t}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:a}=this.ctx.measureText(t),o=Math.ceil(i),s=Math.min(this.size-this.buffer,Math.ceil(a-n)),l=Math.min(this.size-this.buffer,o+Math.ceil(r)),c=s+2*this.buffer,h=l+2*this.buffer,d=Math.max(c*h,0),m=new Uint8ClampedArray(d),f={data:m,width:c,height:h,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===s||0===l)return f;const{ctx:g,buffer:_,gridInner:y,gridOuter:x}=this;g.clearRect(_,_,s,l),g.fillText(t,_,_+o);const v=g.getImageData(_,_,s,l);x.fill(u,0,d),y.fill(0,0,d);for(let p=0;p0?t*t:0,y[i]=t<0?t*t:0}}p(x,0,0,c,h,c,this.f,this.v,this.z),p(y,_,_,s,l,c,this.f,this.v,this.z);for(let u=0;u1&&(o=t[++a]);const l=Math.abs(s-o.left),c=Math.abs(s-o.right),h=Math.min(l,c);let u;const p=n/i*(r+1);if(o.isDash){const t=r-Math.abs(p);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+p*p);this.data[e+s]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(t){for(let o=t.length-1;o>=0;--o){const e=t[o],i=t[o+1];e.zeroLength?t.splice(o,1):i&&i.isDash===e.isDash&&(i.left=e.left,t.splice(o,1))}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const r=this.width*this.nextRow;let n=0,a=t[n];for(let o=0;o1&&(a=t[++n]);const e=Math.abs(o-a.left),i=Math.abs(o-a.right),s=Math.min(e,i);this.data[r+o]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return t.warnOnce("LineAtlas out of space"),null;let a=0;for(let t=0;t{t.send(e,i,r)}),r=r||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove()})),this.actors=[],this.workerPool.release(this.id)}}function v(e,i,r){const n=function(i,n){if(i)return r(i);if(n){const i=t.pick(t.extend(n,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(i.vectorLayers=n.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),r(null,i)}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),n):t.exported.frame((()=>n(null,e)))}x.Actor=t.Actor;class b{constructor(e,i,r){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(e){const i=Math.pow(2,e.z),r=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),n=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=r&&e.x=n&&e.y{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:this.map._requestManager.transformRequest(r,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(r,n){return delete e.request,e.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}n.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",n,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",n,a.bind(this)))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class T extends t.Evented{constructor(e,i,r,n){super(),this.id=e,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=t.extend({type:"raster"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=v(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),((r,n,a)=>{if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(a);const r=this.map.painter.context,o=r.gl;e.texture=this.map.painter.getTileTexture(n.width),e.texture?e.texture.update(n,{useMipmap:!0}):(e.texture=new l(r,n,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),r.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,r.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,r.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(this.dispatcher),i(null)}}))}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}}let E;class S extends T{constructor(e,i,r,n){super(e,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}serialize(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function n(t,r){t&&(e.state="errored",i(t)),r&&(e.dem=r,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded",i(null))}e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),function(r,a){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;const i=t.isImageBitmap(a)&&(null==E&&(E="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),E)?a:t.exported.getImageData(a,1),r={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",r,n.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)}_getNeighboringTiles(e){const i=e.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,a=0===i.x?e.wrap-1:e.wrap,o=(i.x+1+r)%r,s=i.x+1===r?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,i.z,n,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,o,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,n,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,o,i.y-1).key]={backfilled:!1}),i.y+1{if(this._pendingLoads--,this._removed||r&&r.abandoned)return void this.fire(new t.Event("dataabort",{dataType:"source",sourceDataType:e}));let n=null;if(r&&r.resourceTiming&&r.resourceTiming[this.id]&&(n=r.resourceTiming[this.id].slice(0)),i)return void this.fire(new t.ErrorEvent(i));const a={dataType:"source",sourceDataType:e};this._collectResourceTiming&&n&&n.length>0&&t.extend(a,{resourceTiming:n}),this.fire(new t.Event("data",a))}))}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,r,((r,n)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):r?e(r):(t.loadVectorData(n,this.map.painter,"reloadTile"===i),e(null)))))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var z=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class C extends t.Evented{constructor(t,e,i,r){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=e}load(e,i){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),((r,n)=>{this._loaded=!0,r?this.fire(new t.ErrorEvent(r)):n&&(this.image=n,e&&(this.coordinates=e),i&&i(),this._finishLoading())}))}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,r=1/0,n=-1/0,a=-1/0;for(const t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),n=Math.max(n,t.x),a=Math.max(a,t.y);const o=Math.max(n-i,a-r),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,s);return new t.CanonicalTileID(s,Math.floor((i+n)/2*l),Math.floor((r+a)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const r=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class A extends C{constructor(t,e,i,r){super(t,e,i,r),this.roundZoom=!0,this.type="video",this.options=e}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,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(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.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=e}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,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 e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),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 l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class k extends C{constructor(e,i,r,n){super(e,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,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 t.ErrorEvent(new t.ValidationError(`sources.${e}`,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 HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.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(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,r=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new l(i,this.canvas,r.RGBA,{premultiply:!0});for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const M={vector:w,raster:T,"raster-dem":S,geojson:I,video:A,image:C,canvas:k};function P(e,i){const r=t.create();return t.translate(r,r,[1,1,0]),t.scale(r,r,[.5*e.width,.5*e.height,1]),t.multiply(r,r,e.calculatePosMatrix(i.toUnwrapped()))}function D(t,e,i,r,n,a){const o=function(t,e,i){if(t)for(const r of t){const t=e[r];if(t&&t.source===i&&"fill-extrusion"===t.type)return!0}else for(const r in e){const t=e[r];if(t.source===i&&"fill-extrusion"===t.type)return!0}return!1}(n&&n.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(r,s,o);l.sort(L);const c=[];for(const u of l)c.push({wrappedTileID:u.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(e,i,t._state,u.queryGeometry,u.cameraQueryGeometry,u.scale,n,a,s,P(t.transform,u.tileID))});const h=function(t){const e={},i={};for(const r of t){const t=r.queryResults,n=r.wrappedTileID,a=i[n]=i[n]||{};for(const i in t){const r=t[i],n=a[i]=a[i]||{},o=e[i]=e[i]||[];for(const t of r)n[t.featureIndex]||(n[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const u in h)h[u].forEach((e=>{const i=e.feature,r=t.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=r}));return h}function L(t,e){const i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}class B{constructor(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const i=e+this.timeAdded;it.saveTileTexture(e))),this.demTexture=null,this.textures=[],this.textureCoords={}}loadVectorData(e,i,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){const i={};if(!e)return i;for(const r of t){const t=r.layerIds.map((t=>e.getLayer(t))).filter(Boolean);if(0!==t.length){r.layers=t,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=r}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const i in this.buckets){const e=this.buckets[i];e.uploadPending()&&e.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,r,n,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),a=i?i.sourceLayer:"",o=n._geojsonTileLayer||n[a];if(!o)return;const s=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let p=0;pt)e=!1;else if(i)if(this.expirationTime{this.remove(t,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),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(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const r of this.data[i])t(r.value)||e.push(r);for(const i of e)this.remove(i.value.tileID,i)}}class F{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,i,r){const n=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][n]=this.stateChanges[e][n]||{},t.extend(this.stateChanges[e][n],r),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==n&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][n]){this.deletedStates[e][n]={};for(const t in this.state[e][n])r[t]||(this.deletedStates[e][n][t]=null)}else for(const t in r)this.deletedStates[e]&&this.deletedStates[e][n]&&null===this.deletedStates[e][n][t]&&delete this.deletedStates[e][n][t]}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=null}getState(e,i){const r=String(i),n=t.extend({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return{};for(const e in t)delete n[e]}return n}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(e,i){const r={};for(const n in this.stateChanges){this.state[n]=this.state[n]||{};const e={};for(const i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),t.extend(this.state[n][i],this.stateChanges[n][i]),e[i]=this.state[n][i];r[n]=e}for(const n in this.deletedStates){this.state[n]=this.state[n]||{};const e={};if(null===this.deletedStates[n])for(const t in this.state[n])e[t]={},this.state[n][t]={};else for(const t in this.deletedStates[n]){if(null===this.deletedStates[n][t])this.state[n][t]={};else for(const e of Object.keys(this.deletedStates[n][t]))delete this.state[n][t][e];e[t]=this.state[n][t]}r[n]=r[n]||{},t.extend(r[n],e)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const t in e)e[t].setFeatureState(r,i)}}class O extends t.Evented{constructor(e,i,r){super(),this.id=e,this.dispatcher=r,this.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain))})),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=function(e,i,r,n){const a=new M[i.type](e,i,r,n);if(a.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${a.id}`);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a}(e,i,r,this),this._tiles={},this._cache=new R(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new F}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(V).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const r=e.tileID,n=i.tileID,a=new t.pointGeometry(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),o=new t.pointGeometry(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||o.y-a.y||o.x-a.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(V).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(e,i,r,n){if(n)return e.state="errored",void(404!==n.status?this._source.fire(new t.ErrorEvent(n,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.now(),"expired"===r&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(t){const e=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)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,r){for(const n in this._tiles){let a=this._tiles[n];if(r[n]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>i)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>e+1;){const t=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[t.key],a&&a.hasData()&&(o=t)}let s=o;for(;s.overscaledZ>e;)if(s=s.scaledTo(s.overscaledZ-1),t[s.key]){r[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),r=this._getLoadedTile(e);if(r)return r}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,r=Math.floor(e*i*5),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t;for(const e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(const e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(r=r.filter((t=>this._source.hasTile(t))))):r=[];const n=e.coveringZoomLevel(this._source),a=Math.max(n-O.maxOverzooming,this._source.minzoom),o=Math.max(n+O.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of r)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const r=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[r.key]=r}r=r.concat(Object.values(t))}const s=this._updateRetainedTiles(r,n);if(U(this._source.type)){const e={},l={},c=Object.keys(s);for(const i of c){const r=s[i],n=this._tiles[i];if(!n||n.fadeEndTime&&n.fadeEndTime<=t.exported.now())continue;const o=this.findLoadedParent(r,a);o&&(this._addTile(o.tileID),e[o.tileID.key]=o.tileID),l[i]=r}this._retainLoadedChildren(l,n,o,s);for(const t in e)s[t]||(this._coveredTiles[t]=!0,s[t]=e[t]);if(i){const t={},e={};for(const i of r)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const r=e[i].children(this._source.maxzoom);this._tiles[r[0].key]&&this._tiles[r[1].key]&&this._tiles[r[2].key]&&this._tiles[r[3].key]&&(t[r[0].key]=s[r[0].key]=r[0],t[r[1].key]=s[r[1].key]=r[1],t[r[2].key]=s[r[2].key]=r[2],t[r[3].key]=s[r[3].key]=r[3],delete e[i])}for(const i in e){const r=this.findLoadedParent(e[i],this._source.minzoom);if(r){t[r.tileID.key]=s[r.tileID.key]=r.tileID;for(const e in t)t[e].isChildOf(r.tileID)&&delete t[e]}}for(const i in this._tiles)t[i]||(this._coveredTiles[i]=!0)}}for(const t in s)this._tiles[t].clearFadeHold();const l=t.keysDifference(this._tiles,s);for(const t of l){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){const i={},r={},n=Math.max(e-O.maxOverzooming,this._source.minzoom),a=Math.max(e+O.maxUnderzooming,this._source.minzoom),o={};for(const s of t){const t=this._addTile(s);i[s.key]=s,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else{const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let a=t.wasRequested();for(let e=s.overscaledZ-1;e>=n;--e){const n=s.scaledTo(e);if(r[n.key])break;if(r[n.key]=!0,t=this.getTile(n),!t&&a&&(t=this._addTile(n)),t&&(i[n.key]=n,a=t.wasRequested(),t.hasData()))break}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,r=this._tiles[t].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);const t=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;r=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));const r=i;return i||(i=new B(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,r||this._source.fire(new t.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(e,i,r){const n=[],a=this.transform;if(!a)return n;const o=r?a.getCameraQueryGeometry(e):e,s=e.map((t=>a.pointCoordinate(t,this.terrain))),l=o.map((t=>a.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,p=-1/0,d=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),p=Math.max(p,t.x),d=Math.max(d,t.y);for(let m=0;m=0&&g[1].y+f>=0){const t=s.map((t=>r.getTilePoint(t))),i=l.map((t=>r.getTilePoint(t)));n.push({tile:e,tileID:r,queryGeometry:t,cameraQueryGeometry:i,scale:o})}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const i of e)i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(U(this._source.type))for(const e in this._tiles){const i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const r=this._tiles[t];r&&r.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}}function V(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),r=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||r-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function U(t){return"raster"===t||"image"===t||"video"===t}O.maxOverzooming=10,O.maxUnderzooming=3;const N="mapboxgl_preloaded_worker_pool";class ${constructor(){this.active={}}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length<$.workerCount;)this.workers.push(new Worker(bn.workerUrl));return this.active[t]=!0,this.workers.slice()}release(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((t=>{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[N]}numActive(){return Object.keys(this.active).length}}const G=Math.floor(t.exported.hardwareConcurrency/2);let q;function Z(){return q||(q=new $),q}function j(e,i){const r={};for(const t in e)"ref"!==t&&(r[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(r[t]=i[t])})),r}function X(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(n-o)/s:0;return this.points[a].mult(1-l).add(this.points[i].mult(l))}}function rt(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class nt{constructor(t,e,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let a=0;athis.width||r<0||e>this.height)return[];const s=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=r){if(n)return[{key:null,x1:t,y1:e,x2:i,y2:r}];for(let t=0;t0}hitTestCircle(t,e,i,r,n){const a=t-i,o=t+i,s=e-i,l=e+i;if(o<0||a>this.width||l<0||s>this.height)return!1;const c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:r,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},n),c.length>0}_queryCell(t,e,i,r,n,a,o,s){const{seenUids:l,hitTest:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const n=this.bboxes;for(const o of u)if(!l.box[o]){l.box[o]=!0;const u=4*o,p=this.boxKeys[o];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!s||s(p))&&(!c||!rt(h,p.overlapMode))&&(a.push({key:p,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const p=this.circleCells[n];if(null!==p){const n=this.circles;for(const o of p)if(!l.circle[o]){l.circle[o]=!0;const u=3*o,p=this.circleKeys[o];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!s||s(p))&&(!c||!rt(h,p.overlapMode))){const t=n[u],e=n[u+1],i=n[u+2];if(a.push({key:p,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return!0}}}return!1}_queryCellCircle(t,e,i,r,n,a,o,s){const{circle:l,seenUids:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,r=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!s||s(r))&&!rt(h,r.overlapMode))return a.push(!0),!0}}const p=this.circleCells[n];if(null!==p){const t=this.circles;for(const e of p)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,r=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!s||s(r))&&!rt(h,r.overlapMode))return a.push(!0),!0}}}_forEachCell(t,e,i,r,n,a,o,s){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++)if(n.call(this,t,e,i,r,this.xCellCount*l+p,a,o,s))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,r,n,a){const o=r-t,s=n-e,l=i+a;return l*l>o*o+s*s}_circleAndRectCollide(t,e,i,r,n,a,o){const s=(a-r)/2,l=Math.abs(t-(r+s));if(l>s+i)return!1;const c=(o-n)/2,h=Math.abs(e-(n+c));if(h>c+i)return!1;if(l<=s||h<=c)return!0;const u=l-s,p=h-c;return u*u+p*p<=i*i}}function at(e,i,r,n,a){const o=t.create();return i?(t.scale(o,o,[1/a,1/a,1]),r||t.rotateZ(o,o,n.angle)):t.multiply(o,n.labelPlaneMatrix,e),o}function ot(e,i,r,n,a){if(i){const i=t.clone(e);return t.scale(i,i,[a,a,1]),r||t.rotateZ(i,i,-n.angle),i}return n.glCoordMatrix}function st(e,i,r){let n;r?(n=[e.x,e.y,r(e.x,e.y),1],t.transformMat4(n,n,i)):(n=[e.x,e.y,0,1],yt(n,n,i));const a=n[3];return{point:new t.pointGeometry(n[0]/a,n[1]/a),signedDistanceFromCamera:a}}function lt(t,e){return.5+t/e*.5}function ct(t,e){const i=t[0]/t[3],r=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&r>=-e[1]&&r<=e[1]}function ht(e,i,r,n,a,o,s,l,c,h){const u=n?e.textSizeData:e.iconSizeData,p=t.evaluateSizeForZoom(u,r.transform.zoom),d=[256/r.width*2+1,256/r.height*2+1],m=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const f=e.lineVertexArray,g=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,_=r.transform.width/r.transform.height;let y=!1;for(let x=0;xMath.abs(r.x-i.x)*n?{useVertical:!0}:(e===t.WritingMode.vertical?i.yr.x)?{needsFlipping:!0}:null}function dt(e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g){const _=i/24,y=e.lineOffsetX*_,x=e.lineOffsetY*_;let v;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,a=e.lineStartIndex+e.lineLength,h=ut(_,l,y,x,r,u,p,e,c,o,d,f,g);if(!h)return{notEnoughRoom:!0};const b=st(h.first.point,s,g).point,w=st(h.last.point,s,g).point;if(n&&!r){const t=pt(e.writingMode,b,w,m);if(t)return t}v=[h.first];for(let n=e.glyphStartIndex+1;n0?o.point:mt(p,n,i,1,a,g),l=pt(e.writingMode,i,s,m);if(l)return l}const i=ft(_*l.getoffsetX(e.glyphStartIndex),y,x,r,u,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,d,f,g);if(!i)return{notEnoughRoom:!0};v=[i]}for(const b of v)t.addDynamicAttributes(h,b.point,b.angle);return{}}function mt(t,e,i,r,n,a){const o=st(t.add(t.sub(e)._unit()),n,a).point,s=i.sub(o);return i.add(s._mult(r/s.mag()))}function ft(e,i,r,n,a,o,s,l,c,h,u,p,d,m){const f=n?e-i:e+i;let g=f>0?1:-1,_=0;n&&(g*=-1,_=Math.PI),g<0&&(_+=Math.PI);let y=g>0?l+s:l+s+1,x=a,v=a,b=0,w=0;const T=Math.abs(f),E=[];for(;b+w<=T;){if(y+=g,y=c)return null;if(v=x,E.push(x),x=p[y],void 0===x){const e=new t.pointGeometry(h.getx(y),h.gety(y)),i=st(e,u,m);if(i.signedDistanceFromCamera>0)x=p[y]=i.point;else{const i=y-g;x=mt(0===b?o:new t.pointGeometry(h.getx(i),h.gety(i)),e,v,T-b+1,u,m)}}b+=w,w=v.dist(x)}const S=(T-b)/w,I=x.sub(v),z=I.mult(S)._add(v);z._add(I._unit()._perp()._mult(r*g));const C=_+Math.atan2(x.y-v.y,x.x-v.x);return E.push(z),{point:z,angle:d?C:0,path:E}}const gt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function _t(t,e){for(let i=0;i=1;t--)h.push(o.path[t]);for(let t=1;tst(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let _=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=r.x&&i.x<=n.x&&e.y>=r.y&&i.y<=n.y?[h]:i.xn.x||i.yn.y?[]:t.clipLine([h],r.x,r.y,n.x,n.y)}for(const t of _){a.reset(t,.25*i);let r=0;r=a.length<=.5*i?1:Math.ceil(a.paddedLength/g)+1;for(let t=0;t=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function Ct(e,i,r,n,a){const{horizontalAlign:o,verticalAlign:s}=t.getAnchorAlignment(e),l=-(o-.5)*i,c=-(s-.5)*r,h=t.evaluateVariableOffset(e,n);return new t.pointGeometry(l+h[0]*a,c+h[1]*a)}function At(e,i,r,n,a,o){const{x1:s,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:p}=e,d=new t.pointGeometry(i,r);return n&&d._rotate(a?o:-o),{x1:s+d.x,y1:c+d.y,x2:l+d.x,y2:h+d.y,anchorPointX:u,anchorPointY:p}}class kt{constructor(t,e,i,r,n){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new vt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new zt(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,i,r,n){const a=r.getBucket(i),o=r.latestFeatureIndex;if(!a||!o||i.id!==a.layerIds[0])return;const s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),p="map"===l.get("text-pitch-alignment"),d="map"===l.get("text-rotation-alignment"),m=bt(r,1,this.transform.zoom),f=at(u,p,d,this.transform,m);let g=null;if(p){const e=ot(u,p,d,this.transform,m);g=t.multiply([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[a.bucketInstanceId]=new It(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID);const _={bucket:a,layout:l,posMatrix:u,textLabelPlaneMatrix:f,labelToScreenMatrix:g,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(n)for(const t of a.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=t;e.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:_})}attemptAnchorPlacement(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f){const g=[u.textOffset0,u.textOffset1],_=Ct(t,i,r,g,n),y=this.collisionIndex.placeCollisionBox(At(e,_.x,_.y,a,o,this.transform.angle),h,s,l,c.predicate,f);if((!m||0!==this.collisionIndex.placeCollisionBox(At(m,_.x,_.y,a,o,this.transform.angle),h,s,l,c.predicate,f).box.length)&&y.box.length>0){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(e=this.prevPlacement.variableOffsets[u.crossTileID].anchor),0===u.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[u.crossTileID]={textOffset:g,width:i,height:r,anchor:t,textBoxScale:n,prevAnchor:e},this.markUsedJustification(p,t,u,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,u),this.placedOrientations[u.crossTileID]=d),{shift:_,placedGlyphBoxes:y}}}placeLayerBucketPart(e,i,r){const{bucket:n,layout:a,posMatrix:o,textLabelPlaneMatrix:s,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:p,collisionGroup:d}=e.parameters,m=a.get("text-optional"),f=a.get("icon-optional"),g=t.getOverlapMode(a,"text-overlap","text-allow-overlap"),_="always"===g,y=t.getOverlapMode(a,"icon-overlap","icon-allow-overlap"),x="always"===y,v="map"===a.get("text-rotation-alignment"),b="map"===a.get("text-pitch-alignment"),w="none"!==a.get("icon-text-fit"),T="viewport-y"===a.get("symbol-z-order"),E=_&&(x||!n.hasIconData()||f),S=x&&(_||!n.hasTextData()||m);!n.collisionArrays&&u&&n.deserializeCollisionBoxes(u);const I=(e,u)=>{if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Et(!1,!1,!1));let x=!1,T=!1,I=!0,z=null,C={box:null,offscreen:null},A={box:null,offscreen:null},k=null,M=null,P=null,D=0,L=0,B=0;u.textFeatureIndex?D=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(D=e.featureIndex),u.verticalTextFeatureIndex&&(L=u.verticalTextFeatureIndex);const R=this.retainedQueryData[n.bucketInstanceId].tileID,F=this.terrain?(t,e)=>this.terrain.getElevation(R,t,e):null;for(const t of["textBox","verticalTextBox","iconBox","verticalIconBox"]){const e=u[t];e&&(e.elevation=F?F(e.anchorPointX,e.anchorPointY):0)}const O=u.textBox;if(O){const i=i=>{let r=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(n,r,e))}return r},r=(i,r)=>{if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of n.writingModes)if(e===t.WritingMode.vertical?(C=r(),A=C):C=i(),C&&C.box&&C.box.length)break}else C=i()};if(a.get("text-variable-anchor")){let s=a.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[e.crossTileID]){const t=this.prevPlacement.variableOffsets[e.crossTileID];s.indexOf(t.anchor)>0&&(s=s.filter((e=>e!==t.anchor)),s.unshift(t.anchor))}const l=(t,i,r)=>{const a=t.x2-t.x1,l=t.y2-t.y1,h=e.textBoxScale,u=w&&"never"===y?i:null;let p={box:[],offscreen:!1};const m="never"!==g?2*s.length:s.length;for(let f=0;f=s.length?g:"never",e,n,r,u,F);if(i&&(p=i.placedGlyphBoxes,p&&p.box&&p.box.length)){x=!0,z=i.shift;break}}return p};r((()=>l(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&!(C&&C.box&&C.box.length)&&e.numVerticalGlyphVertices>0&&i?l(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(x=C.box,I=C.offscreen);const h=i(C&&C.box);if(!x&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(n,t.anchor,e,h))}}else{const a=(t,i)=>{const r=this.collisionIndex.placeCollisionBox(t,g,c,o,d.predicate,F);return r&&r.box&&r.box.length&&(this.markUsedOrientation(n,i,e),this.placedOrientations[e.crossTileID]=i),r};r((()=>a(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?a(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(C&&C.box&&C.box.length)}}if(k=C,x=k&&k.box&&k.box.length>0,I=k&&k.offscreen,e.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(n.textSizeData,p,i),h=a.get("text-padding");M=this.collisionIndex.placeCollisionCircles(g,i,n.lineVertexArray,n.glyphOffsetArray,c,o,s,l,r,b,d.predicate,e.collisionCircleDiameter,h,F),M.circles.length&&M.collisionDetected&&!r&&t.warnOnce("Collisions detected, but collision boxes are not shown"),x=_||M.circles.length>0&&!M.collisionDetected,I=I&&M.offscreen}if(u.iconFeatureIndex&&(B=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&z?At(t,z.x,z.y,v,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,y,c,o,d.predicate,F)};A&&A.box&&A.box.length&&u.verticalIconBox?(P=t(u.verticalIconBox),T=P.box.length>0):(P=t(u.iconBox),T=P.box.length>0),I=I&&P.offscreen}const V=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,U=f||0===e.numIconVertices;if(V||U?U?V||(T=T&&x):x=T&&x:T=x=T&&x,x&&k&&k.box&&this.collisionIndex.insertCollisionBox(k.box,g,a.get("text-ignore-placement"),n.bucketInstanceId,A&&A.box&&L?L:D,d.ID),T&&P&&this.collisionIndex.insertCollisionBox(P.box,y,a.get("icon-ignore-placement"),n.bucketInstanceId,B,d.ID),M&&(x&&this.collisionIndex.insertCollisionCircles(M.circles,g,a.get("text-ignore-placement"),n.bucketInstanceId,D,d.ID),r)){const t=n.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new St);for(let i=0;i=0;--e){const i=t[e];I(n.symbolInstances.get(i),n.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:r.crossTileID)}markUsedOrientation(e,i,r){const n=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,a=i===t.WritingMode.vertical?i:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const t of o)e.text.placedSymbolArray.get(t).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const r=e?e.symbolFadeChange(t):1,n=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const s in this.placements){const t=this.placements[s],e=n[s];e?(this.opacities[s]=new Tt(e,r,t.text,t.icon),i=i||t.text!==e.text.placed||t.icon!==e.icon.placed):(this.opacities[s]=new Tt(null,r,t.text,t.icon,t.skipFade),i=i||t.text||t.icon)}for(const s in n){const t=n[s];if(!this.opacities[s]){const e=new Tt(t,r,!1,!1);e.isHidden()||(this.opacities[s]=e,i=i||t.text.placed||t.icon.placed)}}for(const s in a)this.variableOffsets[s]||!this.opacities[s]||this.opacities[s].isHidden()||(this.variableOffsets[s]=a[s]);for(const s in o)this.placedOrientations[s]||!this.opacities[s]||this.opacities[s].isHidden()||(this.placedOrientations[s]=o[s]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i={};for(const r of e){const e=r.getBucket(t);e&&r.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,r.collisionBoxArray)}}updateBucketOpacities(e,i,r){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const n=e.layers[0].layout,a=new Tt(null,0,!1,!1,!0),o=n.get("text-allow-overlap"),s=n.get("icon-allow-overlap"),l=n.get("text-variable-anchor"),c="map"===n.get("text-rotation-alignment"),h="map"===n.get("text-pitch-alignment"),u="none"!==n.get("icon-text-fit"),p=new Tt(null,0,o&&(s||!e.hasIconData()||n.get("icon-optional")),s&&(o||!e.hasTextData()||n.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);const d=(t,e,i)=>{for(let r=0;r0,_=this.placedOrientations[r.crossTileID],y=_===t.WritingMode.vertical,x=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(n>0||o>0){const t=Vt(f.text);d(e.text,n,y?Ut:t),d(e.text,o,x?Ut:t);const i=f.text.isHidden();[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||y?1:0)})),r.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).hidden=i||x?1:0);const a=this.variableOffsets[r.crossTileID];a&&this.markUsedJustification(e,a.anchor,r,_);const s=this.placedOrientations[r.crossTileID];s&&(this.markUsedJustification(e,"left",r,s),this.markUsedOrientation(e,s,r))}if(g){const t=Vt(f.icon),i=!(u&&r.verticalPlacedIconSymbolIndex&&y);r.placedIconSymbolIndex>=0&&(d(e.icon,r.numIconVertices,i?t:Ut),e.icon.placedSymbolArray.get(r.placedIconSymbolIndex).hidden=f.icon.isHidden()),r.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,r.numVerticalIconVertices,i?Ut:t),e.icon.placedSymbolArray.get(r.verticalPlacedIconSymbolIndex).hidden=f.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[m];if(i){let r=new t.pointGeometry(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(l){const e=this.variableOffsets[s];e?(r=Ct(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),c&&r._rotate(h?this.transform.angle:-this.transform.angle)):t=!1}i.textBox&&Mt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||y,r.x,r.y),i.verticalTextBox&&Mt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||x,r.x,r.y)}const n=Boolean(!x&&i.verticalIconBox);i.iconBox&&Mt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,n,u?r.x:0,u?r.y:0),i.verticalIconBox&&Mt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,!n,u?r.x:0,u?r.y:0)}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Mt(t,e,i,r,n){t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0)}const Pt=Math.pow(2,25),Dt=Math.pow(2,24),Lt=Math.pow(2,17),Bt=Math.pow(2,16),Rt=Math.pow(2,9),Ft=Math.pow(2,8),Ot=Math.pow(2,1);function Vt(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Pt+e*Dt+i*Lt+e*Bt+i*Rt+e*Ft+i*Ot+e}const Ut=0;class Nt{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,i,r,n){const a=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-n;return!this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],n=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=n)&&(!t.maxzoom||t.maxzoom>n)){if(this._inProgressLayer||(this._inProgressLayer=new Nt(t)),this._inProgressLayer.continuePlacement(r[t.source],this.placement,this._showCollisionBoxes,t,a))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const Gt=512/t.EXTENT/2;class qt{constructor(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let r=0;rt.overscaledZ)for(const n in i){const a=i[n];a.tileID.isChildOf(t)&&a.findMatches(e.symbolInstances,t,r)}else{const a=i[t.scaledTo(Number(n)).key];a&&a.findMatches(e.symbolInstances,t,r)}}for(let n=0;n{e[t]=!0}));for(const i in this.layerIndexes)e[i]||delete this.layerIndexes[i]}}var Ht=t.createLayout([{name:"a_pos",type:"Int16",components:2}]);class Wt extends t.Evented{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;for(const t in this._tiles){const e=this._tiles[t];e.textures.forEach((t=>t.destroy())),e.textures=[]}}update(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(const r of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))this._renderableTilesKeys.push(r.key),this._tiles[r.key]||(r.posMatrix=new Float64Array(16),t.ortho(r.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[r.key]=new B(r,this.tileSize))}removeOutdated(t){const e={};this.renderHistory=this.renderHistory.filter(((t,e)=>this.renderHistory.indexOf(t)===e)).slice(0,this.renderHistorySize);for(const i of this._renderableTilesKeys)e[i]=!0;for(const i of this.renderHistory)e[i]=!0;for(const i in this._tiles)e[i]||(this._tiles[i].clearTextures(t),delete this._tiles[i])}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(e){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(e.canonical)){const n=e.clone();n.posMatrix=new Float64Array(16),t.ortho(n.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[r]=n}else if(n.canonical.isChildOf(e.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16);const o=n.canonical.z-e.canonical.z,s=n.canonical.x-(n.canonical.x>>o<>o<>o;t.ortho(a.posMatrix,0,c,0,c,0,1),t.translate(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),i[r]=a}else if(e.canonical.isChildOf(n.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16);const o=e.canonical.z-n.canonical.z,s=e.canonical.x-(e.canonical.x>>o<>o<>o;t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(a.posMatrix,a.posMatrix,[s*c,l*c,0]),t.scale(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),i[r]=a}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let r=t.overscaledZ-this.deltaZoom;if(r>i.maxzoom&&(r=i.maxzoom),r=i.minzoom&&(!n||!n.dem);)n=this.sourceCache.getTileByID(t.scaledTo(r--).key);return n}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeLoaded>=t))}}class Kt{constructor(t,e,i){this.style=t,this.sourceCache=new Wt(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset="number"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache()}getDEMElevation(e,i,r,n=t.EXTENT){if(!(i>=0&&i=0&&re.canonical.z&&(e.canonical.z>=r?n=e.canonical.z-r:t.warnOnce("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const a=e.canonical.x-(e.canonical.x>>n<>n<>8<<4|t>>8,i[a+3]=0;const r=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new l(e,r,e.gl.RGBA,{premultiply:!1});return n.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(e){const i=new Uint8Array(4),r=this.style.map.painter,n=r.context,a=n.gl;n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),a.readPixels(e.x,r.height/devicePixelRatio-e.y-1,1,1,a.RGBA,a.UNSIGNED_BYTE,i),n.bindFramebuffer.set(null);const o=i[0]+(i[2]>>4<<8),s=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;const h=this._coordsTextureSize,u=(1<t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),Yt=t.pick(H,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Qt=t.pick(H,["setCenter","setZoom","setBearing","setPitch"]),te=function(){const e={},i=t.spec.$version;for(const r in t.spec.$root){const n=t.spec.$root[r];if(n.required){let t=null;t="version"===r?i:"array"===n.type?[]:{},null!=t&&(e[r]=t)}}return e}();class ee extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new x(Z(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new m(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new y(256,512),this.crossTileSymbolIndex=new Xt,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());const r=this;this._rtlTextPluginCallback=ee.registerForPluginStateChange((e=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in r.sourceCaches)r.sourceCaches[t].reload()}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const r in this._layers){const t=this._layers[r];t.source===i.id&&this._validateLayer(t)}}))}loadURL(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"}));const r="boolean"!=typeof i.validate||i.validate,n=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(n,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,r)}))}loadJSON(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(te,!1)}_load(e,i){if(i&&Jt(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=e;for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);const r=X(this.stylesheet.layers);this._order=r.map((t=>t.id)),this._layers={},this._serializedLayers={};for(let n of r)n=t.createStyleLayer(n),n.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=n,this._serializedLayers[n.id]=n.serialize();this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new _(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}_loadSprite(e){this._spriteRequest=function(e,i,r,n){let a,o,s;const l=r>1?"@2x":"";let c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,".json"),t.ResourceType.SpriteJSON),((t,e)=>{c=null,s||(s=t,a=e,u())})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,".png"),t.ResourceType.SpriteImage),((t,e)=>{h=null,s||(s=t,o=e,u())}));function u(){if(s)n(s);else if(a&&o){const e=t.exported.getImageData(o),i={};for(const r in a){const{width:n,height:o,x:s,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:p,content:d}=a[r],m=new t.RGBAImage({width:n,height:o});t.RGBAImage.copy(e,m,{x:s,y:l},{x:0,y:0},{width:n,height:o}),i[r]={data:m,pixelRatio:h,sdf:c,stretchX:u,stretchY:p,content:d}}n(null,i)}}return{cancel(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null)}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}))}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const r=e.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];"custom"!==t.type&&e.push(t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const e in this._updatedSources){const t=this._updatedSources[e];if("reload"===t)this._reloadSource(e);else{if("clear"!==t)throw new Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages();for(const r in this._updatedPaintProps)this._layers[r].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const n in r){const e=this.sourceCaches[n];r[n]!==e.used&&e.fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:n}))}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setTerrain(e){if(this._checkLoaded(),this._terrainDataCallback&&this.off("data",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off("freezeElevation",this._terrainfreezeElevationCallback),e){const t=this.sourceCaches[e.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain=new Kt(this,t,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=t=>{t.freeze?this.map.transform.freezeElevation=!0:(this.map.transform.freezeElevation=!1,this.map.transform.recalculateZoom(this.terrain))},this._terrainDataCallback=t=>{t.tile&&(t.sourceId===e.source?(this.map.transform.updateElevation(this.terrain),this.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):"geojson"===t.source.type&&this.terrain.rememberForRerender(t.sourceId,t.tile.tileID))},this.on("data",this._terrainDataCallback),this.map.on("freezeElevation",this._terrainfreezeElevationCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event("terrain",{terrain:e}))}setState(e){if(this._checkLoaded(),Jt(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=X(e.layers);const i=function(t,e){if(!t)return[{command:H.setStyle,args:[e]}];let i=[];try{if(!n(t.version,e.version))return[{command:H.setStyle,args:[e]}];n(t.center,e.center)||i.push({command:H.setCenter,args:[e.center]}),n(t.zoom,e.zoom)||i.push({command:H.setZoom,args:[e.zoom]}),n(t.bearing,e.bearing)||i.push({command:H.setBearing,args:[e.bearing]}),n(t.pitch,e.pitch)||i.push({command:H.setPitch,args:[e.pitch]}),n(t.sprite,e.sprite)||i.push({command:H.setSprite,args:[e.sprite]}),n(t.glyphs,e.glyphs)||i.push({command:H.setGlyphs,args:[e.glyphs]}),n(t.transition,e.transition)||i.push({command:H.setTransition,args:[e.transition]}),n(t.light,e.light)||i.push({command:H.setLight,args:[e.light]});const r={},a=[];!function(t,e,i,r){let a;for(a in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,a)&&(Object.prototype.hasOwnProperty.call(e,a)||K(a,i,r));for(a in e)Object.prototype.hasOwnProperty.call(e,a)&&(Object.prototype.hasOwnProperty.call(t,a)?n(t[a],e[a])||("geojson"===t[a].type&&"geojson"===e[a].type&&Y(t,e,a)?i.push({command:H.setGeoJSONSourceData,args:[a,e[a].data]}):J(a,e,i,r)):W(a,e,i))}(t.sources,e.sources,a,r);const o=[];t.layers&&t.layers.forEach((t=>{r[t.source]?i.push({command:H.removeLayer,args:[t.id]}):o.push(t)})),i=i.concat(a),function(t,e,i){e=e||[];const r=(t=t||[]).map(tt),a=e.map(tt),o=t.reduce(et,{}),s=e.reduce(et,{}),l=r.slice(),c=Object.create(null);let h,u,p,d,m,f,g;for(h=0,u=0;h!(t.command in Qt)));if(0===i.length)return!1;const r=i.filter((t=>!(t.command in Yt)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((t=>t.command)).join(", ")}.`);return i.forEach((t=>{"setTransition"!==t.command&&this[t.command].apply(this,t.args)})),this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);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(t.validateStyle.source,`sources.${e}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[e]=new O(e,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:this.loaded(),source:n.serialize(),sourceId:e}))),n.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(const r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while layer "${r}" is using it.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if("geojson"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(e,i,r={}){this._checkLoaded();const n=e.id;if(this.getLayer(n))return void this.fire(new t.ErrorEvent(new Error(`Layer "${n}" already exists on this map.`)));let a;if("custom"===e.type){if(Jt(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(n,e.source),e=t.clone$1(e),e=t.extend(e,{source:n})),this._validate(t.validateStyle.layer,`layers.${n}`,e,{arrayIndex:-1},r))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[a.id]=a.serialize()}const o=i?this._order.indexOf(i):this._order.length;if(i&&-1===o)this.fire(new t.ErrorEvent(new Error(`Cannot add layer "${n}" before non-existing layer "${i}".`)));else{if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source&&"custom"!==a.type){const t=this._removedLayers[n];delete this._removedLayers[n],t.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const r=this._order.indexOf(e);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new t.ErrorEvent(new Error(`Cannot move layer "${e}" before non-existing layer "${i}".`))):(this._order.splice(n,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer "${e}".`)));i.setEventedParent(null);const r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map)}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,r){this._checkLoaded();const n=this.getLayer(e);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,i,r={}){this._checkLoaded();const a=this.getLayer(e);if(a){if(!n(a.filter,i))return null==i?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,`layers.${a.id}.filter`,i,null,r)||(a.filter=t.clone$1(i),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,r,a={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getLayoutProperty(i),r)||(o.setLayoutProperty(i,r,a),this._updateLayer(o)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,i){const r=this.getLayer(e);if(r)return r.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,i,r,a={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getPaintProperty(i),r)||(o.setPaintProperty(i,r,a)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const r=e.source,n=e.sourceLayer,a=this.sourceCaches[r];if(void 0===a)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const o=a.getSource().type;"geojson"===o&&n?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||n?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(n,e.id,i)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,i){this._checkLoaded();const r=e.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const a=n.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?i&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):n.removeFeatureState(o,e.id,i):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const i=e.source,r=e.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,e.id)):void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,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,sources:t.mapObject(this.sourceCaches,(t=>t.serialize())),layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},r=[];for(let a=this._order.length-1;a>=0;a--){const n=this._order[a];if(e(n)){i[n]=a;for(const e of t){const t=e[n];if(t)for(const e of t)r.push(e)}}}r.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const n=[];for(let a=this._order.length-1;a>=0;a--){const o=this._order[a];if(e(o))for(let t=r.length-1;t>=0;t--){const e=r[t].feature;if(i[e.layer.id]{const i=h.featureSortOrder;if(i){const r=i.indexOf(t.featureIndex);return i.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(const t of r)e.push(t)}}for(const h in s)s[h].forEach((e=>{const r=e.feature,n=i[t[h].source].getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return s}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[e];return r?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),r=[],n={};for(let a=0;at.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);o=o||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new $t(e,this.terrain,this._order,a,i,r,n,this.placement),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(t.exported.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,e.icons)}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i)}getResource(e,i,r){return t.makeRequest(i,r)}}ee.getSourceType=function(t){return M[t]},ee.setSourceType=function(t,e){M[t]=e},ee.registerForPluginStateChange=t.registerForPluginStateChange;var ie="attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}";const re={prelude:ne("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\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(unpack_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;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ne("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:ne("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:ne("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(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;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(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);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:ne("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:ne("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 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;varying 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;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:ne("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}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:ne("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;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_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ne("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;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;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-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(0.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:ne("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;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:ne("#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_FragColor=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);}"),fillOutline:ne("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);gl_FragColor=outline_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;}"),fillOutlinePattern:ne("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*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 vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*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 vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:ne("varying vec4 v_color;void main() {gl_FragColor=v_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;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\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\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:ne("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\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 vec3 u_scale;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 vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:ne("#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,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);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((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.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:ne("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;\n#define PI 3.141592653589793\nvoid 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 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;}"),line:ne("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\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);gl_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;uniform mat4 u_matrix;uniform mediump float u_ratio;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 float v_linesofar;\n#pragma mapbox: define highp vec4 color\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 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;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ne("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\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);vec4 color=texture2D(u_image,v_uv);gl_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_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\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 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;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_width2=vec2(outset,inset);}"),linePattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;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_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.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_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;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_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ne("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\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);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\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\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\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\n#pragma mapbox: initialize lowp float floorwidth\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:ne("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(dot(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);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*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 float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:ne("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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform 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 highp float u_pitch;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;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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];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;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.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(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp 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);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_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;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ne("#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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform 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 highp float u_pitch;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;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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];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;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.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(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp 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);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ne("#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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform 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 highp float u_pitch;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 vec2 u_texsize_icon;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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];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;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.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(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp 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);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:ne("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",ie),terrainDepth:ne("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",ie),terrainCoords:ne("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",ie)};function ne(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=e.match(/attribute ([\w]+) ([\w]+)/g),n=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(n):n,s={};return{fragmentSource:t=t.replace(i,((t,e,i,r,n)=>(s[n]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,r,n)=>{const a="float"===r?"vec2":"vec4",o=n.match(/color/)?"color":a;return s[n]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${a} a_${n};\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${a} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class ae{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,i,r,n,a,o,s,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==r.length;for(let h=0;!c&&h({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,w),this.binderUniforms=n?n.getUniforms(e,w):[]}draw(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_){const y=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(r),t.setColorMode(n),t.setCullFace(a),s){t.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,s.depthTexture),t.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,s.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(s[t])}for(const v in this.fixedUniforms)this.fixedUniforms[v].set(o[v]);m&&m.setUniforms(t,this.binderUniforms,p,{zoom:d});let x=0;switch(e){case y.LINES:x=2;break;case y.TRIANGLES:x=3;break;case y.LINE_STRIP:x=1}for(const v of u.get()){const i=v.vaos||(v.vaos={});(i[l]||(i[l]=new ae)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,v.vertexOffset,f,g,_),y.drawElements(e,v.primitiveLength*x,y.UNSIGNED_SHORT,v.primitiveOffset*x*2)}}}function le(t,e,i){const r=1/bt(i,1,e.transform.tileZoom),n=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/n,o=a*(i.tileID.canonical.x+i.tileID.wrap*n),s=a*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[r,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const ce=(e,i,r,n)=>{const a=i.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(s,s,l);const c=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},he=(e,i,r,n,a,o,s)=>t.extend(ce(e,i,r,n),le(o,i,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),ue=t=>({u_matrix:t}),pe=(e,i,r,n)=>t.extend(ue(e),le(r,i,n)),de=(t,e)=>({u_matrix:t,u_world:e}),me=(e,i,r,n,a)=>t.extend(pe(e,i,r,n),{u_world:a}),fe=(t,e,i,r)=>{const n=t.transform;let a,o;if("map"===r.paint.get("circle-pitch-alignment")){const t=bt(i,1,n.zoom);a=!0,o=[t,t]}else a=!1,o=n.pixelsToGLUnits;return{u_camera_to_center_distance:n.cameraToCenterDistance,u_scale_with_map:+("map"===r.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,i,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},ge=(t,e,i)=>{const r=bt(i,1,e.zoom),n=Math.pow(2,e.zoom-i.tileID.overscaledZ),a=i.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[e.pixelsToGLUnits[0]/(r*n),e.pixelsToGLUnits[1]/(r*n)],u_overscale_factor:a}},_e=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ye=t=>({u_matrix:t}),xe=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:bt(e,1,i),u_intensity:r});function ve(e,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new t.MercatorCoordinate(0,n/r).toLngLat().lat,new t.MercatorCoordinate(0,(n+1)/r).toLngLat().lat]}const be=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Ie(t,e,i,r),u_ratio:1/bt(e,1,n.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]]}},we=(e,i,r,n,a)=>t.extend(be(e,i,r,a),{u_image:0,u_image_height:n}),Te=(t,e,i,r,n)=>{const a=t.transform,o=Se(e,a);return{u_matrix:Ie(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_ratio:1/bt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ee=(e,i,r,n,a,o)=>{const s=e.lineAtlas,l=Se(i,e.transform),c="round"===r.layout.get("line-cap"),h=s.getDash(n.from,c),u=s.getDash(n.to,c),p=h.width*a.fromScale,d=u.width*a.toScale;return t.extend(be(e,i,r,o),{u_patternscale_a:[l/p,-h.height/2],u_patternscale_b:[l/d,-u.height/2],u_sdfgamma:s.width/(256*Math.min(p,d)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:a.t})};function Se(t,e){return 1/bt(t,1,e.tileZoom)}function Ie(t,e,i,r){return t.translatePosMatrix(r?r.posMatrix:e.tileID.posMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const ze=(t,e,i,r,n)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,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:(o=n.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=n.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Ce(n.paint.get("raster-hue-rotate"))};var a,o};function Ce(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return[(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const Ae=(t,e,i,r,n,a,o,s,l,c)=>{const h=n.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+r,u_texsize:c,u_texture:0}},ke=(e,i,r,n,a,o,s,l,c,h,u)=>{const p=a.transform;return t.extend(Ae(e,i,r,n,a,o,s,l,c,h),{u_gamma_scale:n?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:a.pixelRatio,u_is_halo:+u})},Me=(e,i,r,n,a,o,s,l,c,h)=>t.extend(ke(e,i,r,n,a,o,s,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Pe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),De=(e,i,r,n,a,o)=>t.extend(function(t,e,i,r){const n=i.imageManager.getPattern(t.from.toString()),a=i.imageManager.getPattern(t.to.toString()),{width:o,height:s}=i.imageManager.getPixelSize(),l=Math.pow(2,r.tileID.overscaledZ),c=r.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(r.tileID.canonical.x+r.tileID.wrap*l),u=c*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:n.tl,u_pattern_br_a:n.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:e.t,u_pattern_size_a:n.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/bt(r,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(n,o,r,a),{u_matrix:e,u_opacity:i}),Le={fillExtrusion:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fillExtrusionPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fill:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),fillOutline:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),circle:(e,i)=>({u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),collisionBox:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}),collisionCircle:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}),debug:(e,i)=>({u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}),clippingMask:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmapTexture:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}),hillshade:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}),hillshadePrepare:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}),line:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}),lineGradient:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}),linePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),lineSDF:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}),raster:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}),symbolIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}),symbolSDF:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),symbolTextAndIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),background:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}),backgroundPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)})};class Be{constructor(t,e,i){this.context=t;const r=t.gl;this.buffer=r.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Re={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Fe{constructor(t,e,i,r){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.context=t;const n=t.gl;this.buffer=n.createBuffer(),t.bindVertexBuffer.set(this.buffer),n.bufferData(n.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let i=0;i0){const i=t.create(),r=_;t.mul(i,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,g.placementViewportMatrix),u.push({circleArray:x,circleOffset:d,transform:r,invTransform:i,coord:m}),p+=x.length/4,d=p}y&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Si.disabled,ge(_,e.transform,f),e.style.terrain&&e.style.terrain.getTerrainData(m),r.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer)}if(!s||!u.length)return;const m=e.useProgram("collisionCircle"),f=new t.CollisionCircleLayoutArray;f.resize(4*p),f._trim();let g=0;for(const t of u)for(let e=0;e=0&&(f[m.associatedIconIndex]={shiftedAnchor:S,angle:I})}else _t(m.numGlyphs,d)}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.terrain.getElevation(S,t,i):null,i="map"===r.layout.get("text-rotation-alignment");ht(l,S.posMatrix,e,a,R,F,_,h,i,t)}const U=e.translatePosMatrix(S.posMatrix,n,o,s),N=y||a&&T||V?Ci:R,$=e.translatePosMatrix(F,n,o,s,!0),G=p&&0!==r.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);let q;q=p?l.iconsInText?Me(d.kind,z,x,_,e,U,N,$,A,D):ke(d.kind,z,x,_,e,U,N,$,a,A,!0):Ae(d.kind,z,x,_,e,U,N,$,a,A);const Z={program:I,buffers:c,uniformValues:q,atlasTexture:k,atlasTextureIcon:L,atlasInterpolation:M,atlasInterpolationIcon:P,isSDF:p,hasHalo:G};if(v&&l.canOverlap){b=!0;const e=c.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:Z,terrainData:C})}else E.push({segments:c.segments,sortKey:0,state:Z,terrainData:C})}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(d.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,Di(i.buffers,t.segments,r,e,i.program,w,u,p,n,t.terrainData)),n.u_is_halo=0}Di(i.buffers,t.segments,r,e,i.program,w,u,p,i.uniformValues,t.terrainData)}}function Di(t,e,i,r,n,a,o,s,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,a,o,s,Si.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,r.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Li(t,e,i,r,n,a,o){const s=t.context.gl,l=i.paint.get("fill-pattern"),c=l&&l.constantOr(1),h=i.getCrossfadeParameters();let u,p,d,m,f;o?(p=c&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",u=s.LINES):(p=c?"fillPattern":"fill",u=s.TRIANGLES);for(const g of r){const r=e.getTile(g);if(c&&!r.patternsLoaded())continue;const _=r.getBucket(i);if(!_)continue;const y=_.programConfigurations.get(i.id),x=t.useProgram(p,y),v=t.style.terrain&&t.style.terrain.getTerrainData(g);c&&(t.context.activeTexture.set(s.TEXTURE0),r.imageAtlasTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),y.updatePaintBuffers(h));const b=l.constantOr(null);if(b&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[b.to.toString()],i=t.patternPositions[b.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const w=v?g:null,T=t.translatePosMatrix(w?w.posMatrix:g.posMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(o){m=_.indexBuffer2,f=_.segments2;const e=[s.drawingBufferWidth,s.drawingBufferHeight];d="fillOutlinePattern"===p&&c?me(T,t,h,r,e):de(T,e)}else m=_.indexBuffer,f=_.segments,d=c?pe(T,t,h,r):ue(T);x.draw(t.context,u,n,t.stencilModeForClipping(g),a,Si.disabled,d,v,i.id,_.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,y)}}function Bi(t,e,i,r,n,a,o){const s=t.context,l=s.gl,c=i.paint.get("fill-extrusion-pattern"),h=c.constantOr(1),u=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity");for(const d of r){const r=e.getTile(d),m=r.getBucket(i);if(!m)continue;const f=t.style.terrain&&t.style.terrain.getTerrainData(d),g=m.programConfigurations.get(i.id),_=t.useProgram(h?"fillExtrusionPattern":"fillExtrusion",g);h&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(u));const y=c.constantOr(null);if(y&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[y.to.toString()],i=t.patternPositions[y.from.toString()];e&&i&&g.setConstantPatternPositions(e,i)}const x=t.translatePosMatrix(d.posMatrix,r,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),v=i.paint.get("fill-extrusion-vertical-gradient"),b=h?he(x,t,v,p,d,u,r):ce(x,t,v,p);_.draw(s,s.gl.TRIANGLES,n,a,o,Si.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.terrain&&m.centroidVertexBuffer)}}function Ri(t,e,i,r,n,a,o){const s=t.context,l=s.gl,c=i.fbo;if(!c)return;const h=t.useProgram("hillshade"),u=t.style.terrain&&t.style.terrain.getTerrainData(e);s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(s,l.TRIANGLES,n,a,o,Si.disabled,((t,e,i,r)=>{const n=i.paint.get("hillshade-shadow-color"),a=i.paint.get("hillshade-highlight-color"),o=i.paint.get("hillshade-accent-color");let s=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(s-=t.transform.angle);const l=!t.options.moving;return{u_matrix:r?r.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ve(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),s],u_shadow:n,u_highlight:a,u_accent:o}})(t,i,r,u?e:null),u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}function Fi(e,i,r,n,a,o){const s=e.context,c=s.gl,h=i.dem;if(h&&h.data){const u=h.dim,p=h.stride,d=h.getPixels();if(s.activeTexture.set(c.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(p),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else i.demTexture=new l(s,d,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);s.activeTexture.set(c.TEXTURE0);let m=i.fbo;if(!m){const t=new l(s,{width:u,height:u,data:null},c.RGBA);t.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=i.fbo=s.createFramebuffer(u,u,!0),m.colorAttachment.set(t.texture)}s.bindFramebuffer.set(m.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(s,c.TRIANGLES,n,a,o,Si.disabled,((e,i)=>{const r=i.stride,n=t.create();return t.ortho(n,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(n,n,[0,-t.EXTENT,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function Oi(e,i,r,n,a,o){const s=n.paint.get("raster-fade-duration");if(!o&&s>0){const n=t.exported.now(),o=(n-e.timeAdded)/s,l=i?(n-i.timeAdded)/s:-1,c=r.getSource(),h=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=u&&e.refreshedUponExpiration?1:t.clamp(u?o:1-l,0,1);return e.refreshedUponExpiration&&o>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const Vi=new t.Color(1,0,0,1),Ui=new t.Color(0,1,0,1),Ni=new t.Color(0,0,1,1),$i=new t.Color(1,0,1,1),Gi=new t.Color(0,1,1,1);function qi(t,e,i,r){ji(t,0,e+i/2,t.transform.width,i,r)}function Zi(t,e,i,r){ji(t,e-i/2,0,i,t.transform.height,r)}function ji(t,e,i,r,n,a){const o=t.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function Xi(e,i,r){const n=e.context,a=n.gl,o=r.posMatrix,s=e.useProgram("debug"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u="$debug",p=e.style.terrain&&e.style.terrain.getTerrainData(r);n.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const d=i.getTileByID(r.key).latestRawTileData,m=Math.floor((d&&d.byteLength||0)/1024),f=i.getTile(r).tileSize,g=512/Math.min(f,512)*(r.overscaledZ/e.transform.zoom)*.5;let _=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(_+=` => ${r.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,r=t.context.gl,n=t.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(e,5,5),n.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${_} ${m}kB`),s.draw(n,a.TRIANGLES,l,c,vi.alphaBlended,Si.disabled,_e(o,t.Color.transparent,g),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(n,a.LINE_STRIP,l,c,h,Si.disabled,_e(o,t.Color.red),p,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function Hi(t,e,i){const r=t.context,n=r.gl,a=t.colorModeForRenderPass(),o=new wi(n.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),s=t.useProgram("terrain"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]),r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());const h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());s.draw(r,n.TRIANGLES,o,Ei.disabled,a,Si.backCCW,{u_matrix:h,u_texture:0},c,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}function Wi(t,e,i,r){const n=t.context,a=i.tileSize*e.qualityFactor;i.textures[r]||(i.textures[r]=t.getTileTexture(a)||new l(n,{width:a,height:a,data:null},n.gl.RGBA),i.textures[r].bind(n.gl.LINEAR,n.gl.CLAMP_TO_EDGE),0===r&&e.sourceCache.renderHistory.unshift(i.tileID.key));const o=e.getRTTFramebuffer();o.colorAttachment.set(i.textures[r].texture),n.bindFramebuffer.set(o.framebuffer),n.viewport.set([0,0,a,a])}class Ki{constructor(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init()}_init(){const t=this.painter.style,e=t.terrain;for(const i in t.sourceCaches){this._coordsDescendingInv[i]={};const r=t.sourceCaches[i].getVisibleCoordinates();for(const t of r){const r=e.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[i][t]||(this._coordsDescendingInv[i][t]=[]),this._coordsDescendingInv[i][t].push(r[t])}}for(const i of t._order){const e=t._layers[i],r=e.source;if(this._renderToTexture[e.type]&&!this._coordsDescendingInvStr[r]){this._coordsDescendingInvStr[r]={};for(const t in this._coordsDescendingInv[r])this._coordsDescendingInvStr[r][t]=this._coordsDescendingInv[r][t].map((t=>t.key)).sort().join()}}return this._renderableTiles.forEach((t=>{for(const i in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[i][t.tileID.key];r&&r!==t.textureCoords[i]&&t.clearTextures(this.painter),e.needsRerender(i,t.tileID)&&t.clearTextures(this.painter)}this._rerender[t.tileID.key]=!t.textures.length})),e.clearRerenderCache(),e.sourceCache.removeOutdated(this.painter),this}renderLayer(e){const i=e.type,r=this.painter,n=r.style._order,a=r.currentLayer,o=a+1===n.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(n[a]),!o))return!0;if(this._renderToTexture[this._prevType]||"hillshade"===i||this._renderToTexture[i]&&o){this._prevType=i;const o=this._stacks.length-1,s=this._stacks[o]||[];for(const e of this._renderableTiles){if(Wi(r,r.style.terrain,e,o),this._rerender[e.tileID.key]){r.context.clear({color:t.Color.transparent});for(let t=0;ti.style.terrain.getElevation(u,t,e):null)}}}(n,e,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),a),0!==r.paint.get("icon-opacity").constantOr(1)&&Pi(e,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"),o,s),0!==r.paint.get("text-opacity").constantOr(1)&&Pi(e,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"),o,s),i.map.showCollisionBoxes&&(zi(e,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),zi(e,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(e,i,r,n){if("translucent"!==e.renderPass)return;const a=r.paint.get("circle-opacity"),o=r.paint.get("circle-stroke-width"),s=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),p=Ei.disabled,d=e.colorModeForRenderPass(),m=[];for(let f=0;ft.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:n,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=t.state;n.draw(c,h.TRIANGLES,u,p,d,Si.disabled,s,l,r.id,a,o,t.segments,r.paint,e.transform.zoom,i)}},heatmap:function(e,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const a=e.context,o=a.gl,s=Ei.disabled,l=new vi([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let n=i.heatmapFbo;if(n)r.bindTexture(r.TEXTURE_2D,n.colorAttachment.get()),t.bindFramebuffer.set(n.framebuffer);else{const a=r.createTexture();r.bindTexture(r.TEXTURE_2D,a),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),n=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,r){const n=t.gl;n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e.width/4,e.height/4,0,n.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:n.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(t,e,a,n)}}(a,e,r),a.clear({color:t.Color.transparent});for(let t=0;t{const a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);const o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,r))},line:function(e,i,r,n){if("translucent"!==e.renderPass)return;const a=r.paint.get("line-opacity"),o=r.paint.get("line-width");if(0===a.constantOr(1)||0===o.constantOr(1))return;const s=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=r.paint.get("line-dasharray"),u=r.paint.get("line-pattern"),p=u.constantOr(1),d=r.paint.get("line-gradient"),m=r.getCrossfadeParameters(),f=p?"linePattern":h?"lineSDF":d?"lineGradient":"line",g=e.context,_=g.gl;let y=!0;for(const x of n){const n=i.getTile(x);if(p&&!n.patternsLoaded())continue;const a=n.getBucket(r);if(!a)continue;const o=a.programConfigurations.get(r.id),v=e.context.program.get(),b=e.useProgram(f,o),w=y||b.program!==v,T=e.style.terrain&&e.style.terrain.getTerrainData(x),E=u.constantOr(null);if(E&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&o.setConstantPatternPositions(e,i)}const S=T?x:null,I=p?Te(e,n,r,m,S):h?Ee(e,n,r,h,m,S):d?we(e,n,r,a.lineClipsArray.length,S):be(e,n,r,S);if(p)g.activeTexture.set(_.TEXTURE0),n.imageAtlasTexture.bind(_.LINEAR,_.CLAMP_TO_EDGE),o.updatePaintBuffers(m);else if(h&&(w||e.lineAtlas.dirty))g.activeTexture.set(_.TEXTURE0),e.lineAtlas.bind(g);else if(d){const n=a.gradients[r.id];let o=n.texture;if(r.gradientVersion!==n.version){let s=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=x.canonical.z===r?Math.ceil(1<256&&this.clearStencil(),i.setColorMode(vi.disabled),i.setDepthMode(wi.disabled);const n=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const a of e){const t=this._tileClippingMaskIDs[a.key]=this.nextStencilID++,e=this.style.terrain&&this.style.terrain.getTerrainData(a);n.draw(i,r.TRIANGLES,wi.disabled,new Ei({func:r.ALWAYS,mask:0},t,255,r.KEEP,r.KEEP,r.REPLACE),vi.disabled,Si.disabled,ye(a.posMatrix),e,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=o[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer{i.source&&!i.isHidden(this.transform.zoom)&&(i.source!==(e&&e.id)&&(e=this.style.sourceCaches[i.source]),(!t||t.getSource().maxzoom0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return!e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new se(this.context,t,re[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}}class Qi{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(e,i,r){const n=Math.pow(2,r),a=[[-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((r=>{const a=1/(r=t.transformMat4([],r,e))[3]/i*n;return t.mul$1(r,r,[a,a,1/r[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const i=t.sub([],a[e[0]],a[e[1]]),r=t.sub([],a[e[2]],a[e[1]]),n=t.normalize([],t.cross([],i,r)),o=-t.dot(n,a[e[1]]);return n.concat(o)}));return new Qi(a,o)}}class tr{constructor(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5)}quadrant(e){const i=[e%2==0,e<2],r=t.clone$2(this.min),n=t.clone$2(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==i.length&&(r=!1)}if(r)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[t]-this.min[t])return 0}return 1}}class er{constructor(t=0,e=0,i=0,r=0){if(isNaN(t)||t<0||isNaN(e)||e<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=t,this.bottom=e,this.left=i,this.right=r}interpolate(e,i,r){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,r)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,r)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,r)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,r)),this}getCenter(e,i){const r=t.clamp((this.left+e-this.right)/2,0,e),n=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new er(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class ir{constructor(e,i,r,n,a){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new er,this._posMatrixCache={},this._alignedPosMatrixCache={}}clone(){const t=new ir(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t._elevation=this._elevation,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.pointGeometry(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;var r;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(r=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0),r[0]=1,r[3]=1,r),function(t,e,i){var r=e[0],n=e[1],a=e[2],o=e[3],s=Math.sin(i),l=Math.cos(i);t[0]=r*l+a*s,t[1]=n*l+o*s,t[2]=r*-s+a*l,t[3]=n*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const r=this.pointCoordinate(new t.pointGeometry(0,0)),n=this.pointCoordinate(new t.pointGeometry(this.width,0)),a=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),o=this.pointCoordinate(new t.pointGeometry(0,this.height)),s=Math.floor(Math.min(r.x,n.x,a.x,o.x)),l=Math.floor(Math.max(r.x,n.x,a.x,o.x)),c=1;for(let h=s-c;h<=l+c;h++)0!==h&&i.push(new t.UnwrappedTileID(h,e))}return i}coveringTiles(e){var i,r;let n=this.coveringZoomLevel(e);const a=n;if(void 0!==e.minzoom&&ne.maxzoom&&(n=e.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),s=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,n),c=[l*o.x,l*o.y,0],h=[l*s.x,l*s.y,0],u=Qi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,n);let p=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(p=n);const d=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new tr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),f=[],g=[],_=n,y=e.reparseOverscaled?a:n;if(this._renderWorldCopies)for(let t=1;t<=3;t++)f.push(m(-t)),f.push(m(t));for(f.push(m(0));f.length>0;){const n=f.pop(),a=n.x,o=n.y;let s=n.fullyVisible;if(!s){const t=n.aabb.intersects(u);if(0===t)continue;s=2===t}const l=e.terrain?c:h,m=n.aabb.distanceX(l),x=n.aabb.distanceY(l),v=Math.max(Math.abs(m),Math.abs(x)),b=d+(1<<_-n.zoom)-2;if(n.zoom===_||v>b&&n.zoom>=p){const e=_-n.zoom,i=c[0]-.5-(a<>1),u=n.zoom+1;let p=n.aabb.quadrant(c);if(e.terrain){const a=new t.OverscaledTileID(u,n.wrap,u,l,h),o=e.terrain.getMinMaxElevation(a),s=null!==(i=o.minElevation)&&void 0!==i?i:this.elevation,c=null!==(r=o.maxElevation)&&void 0!==r?r:this.elevation;p=new tr([p.min[0],p.min[1],s],[p.max[0],p.max[1],c])}f.push({aabb:p,zoom:u,x:l,y:h,wrap:n.wrap,fullyVisible:s})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}updateElevation(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0)}getElevation(e,i){const r=t.MercatorCoordinate.fromLngLat(e),n=(1<o&&(n=o-e)}if(this.lngRange){const e=(s+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),n=c.x/2;i-nl&&(r=l-n)}void 0===r&&void 0===n||(this.center=this.unproject(new t.pointGeometry(void 0!==r?r:u.x,void 0!==n?n:u.y)).wrap()),this._unmodified=h,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let n=t.identity(new Float64Array(16));t.scale(n,n,[this.width/2,-this.height/2,1]),t.translate(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=t.identity(new Float64Array(16)),t.scale(n,n,[1,-1,1]),t.translate(n,n,[-1,-1,0]),t.scale(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);const a=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),s=Math.sin(o)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-a-o,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-a-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*s+this.cameraToSeaLevelDistance,p=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,d=1.01*Math.min(u,p),m=this.height/50;n=new Float64Array(16),t.perspective(n,this._fov,this.width/this.height,m,d),n[8]=2*-e.x/this.width,n[9]=2*e.y/this.height,t.scale(n,n,[1,-1,1]),t.translate(n,n,[0,0,-this.cameraToCenterDistance]),t.rotateX(n,n,this._pitch),t.rotateZ(n,n,this.angle),t.translate(n,n,[-i,-r,0]),this.mercatorMatrix=t.scale([],n,[this.worldSize,this.worldSize,this.worldSize]),t.scale(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n),t.translate(n,n,[0,0,-this.elevation]),this.projMatrix=n,this.invProjMatrix=t.invert([],n),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n);const f=this.width%2/2,g=this.height%2/2,_=Math.cos(this.angle),y=Math.sin(this.angle),x=i-Math.round(i)+_*f+y*g,v=r-Math.round(r)+_*g+y*f,b=new Float64Array(n);if(t.translate(b,b,[x>.5?x-1:x,v>.5?v-1:v,0]),this.alignedProjMatrix=b,n=t.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return[e[0],i];{let r=i.x,n=i.y,a=i.x,o=i.y;for(const t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);return[new t.pointGeometry(r,n),new t.pointGeometry(a,n),new t.pointGeometry(a,o),new t.pointGeometry(r,o),new t.pointGeometry(r,n)]}}}class rr{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=function(t,e){let i=!1,r=null;const n=()=>{r=null,i&&(t(),r=setTimeout(n,300),i=!1)};return()=>(i=!0,r||n(),r)}(this._updateHashUnthrottled.bind(this))}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,r=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),a=Math.round(e.lng*n)/n,o=Math.round(e.lat*n)/n,s=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${a}/${o}/${i}`:`${i}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split("&").map((i=>{const r=i.split("=")[0];return r===t?(e=!0,`${r}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join("&")}`}return`#${c}`}_getCurrentHash(){const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")}_onHashChange(){const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1}_updateHashUnthrottled(){const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t)}catch(t){}}}const nr={linearity:.3,easing:t.bezier(0,0,.3,1)},ar=t.extend({deceleration:2500,maxSpeed:1400},nr),or=t.extend({deceleration:20,maxSpeed:1400},nr),sr=t.extend({deceleration:1e3,maxSpeed:360},nr),lr=t.extend({deceleration:1e3,maxSpeed:90},nr);class cr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const a=ur(i.pan.mag(),r,t.extend({},ar,e||{}));n.offset=i.pan.mult(a.amount/i.pan.mag()),n.center=this._map.transform.center,hr(n,a)}if(i.zoom){const t=ur(i.zoom,r,or);n.zoom=this._map.transform.zoom+t.amount,hr(n,t)}if(i.bearing){const e=ur(i.bearing,r,sr);n.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),hr(n,e)}if(i.pitch){const t=ur(i.pitch,r,lr);n.pitch=this._map.transform.pitch+t.amount,hr(n,t)}if(n.zoom||n.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;n.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),t.extend(n,{noMoveStart:!0})}}function hr(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new t.pointGeometry(0,0));super(e,{points:o,point:l,lngLats:s,lngLat:i.unproject(l),originalEvent:r}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class mr extends t.Event{constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class fr{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new mr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new pr(t.type,this._map,t))}mouseup(t){this._map.fire(new pr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new pr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new pr(t.type,this._map,t))}mouseover(t){this._map.fire(new pr(t.type,this._map,t))}mouseout(t){this._map.fire(new pr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new dr(t.type,this._map,t))}touchmove(t){this._map.fire(new dr(t.type,this._map,t))}touchend(t){this._map.fire(new dr(t.type,this._map,t))}touchcancel(t){this._map.fire(new dr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new pr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new pr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new pr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _r{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(a.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair","mapboxgl-crosshair"),this._box&&(a.remove(this._box),this._box=null),a.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function yr(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){const i=new t.pointGeometry(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=yr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=yr(i,e);for(const n in this.touches){const t=this.touches[n],e=r[n];(!e||e.dist(t)>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class vr{constructor(t){this.singleTap=new xr(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const r=this.singleTap.touchend(t,e,i);if(r){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class br{constructor(){this._zoomIn=new vr({numTouches:1,numTaps:2}),this._zoomOut=new vr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const r=this._zoomIn.touchend(t,e,i),n=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}):n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(n)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const wr={0:1,2:2};class Tr{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1}reset(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton}_correctButton(t,e){return!1}_move(t,e){return{}}mousedown(t,e){if(this._lastPoint)return;const i=a.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i)}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){const i=wr[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i){this._cancelCooperativeMessage=!1}),200)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const n=yr(r,i),a=new t.pointGeometry(0,0),o=new t.pointGeometry(0,0);let s=0;for(const t in n){const e=n[t],i=this._touches[t];i&&(a._add(e),o._add(e.sub(i)),s++,n[t]=e)}if(this._touches=n,sMath.abs(t.x)}class Br extends Cr{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length}_start(t){this._lastPoints=t,Lr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const r=t[0].sub(this._lastPoints[0]),n=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,n,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+n.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const r=t.mag()>=2,n=e.mag()>=2;if(!r&&!n)return;if(!r||!n)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const a=t.y>0==e.y>0;return Lr(t)&&Lr(e)&&a}}const Rr={panStep:100,bearingStep:15,pitchStep:10};class Fr{constructor(){const t=Rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,r=0,n=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),n=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),n=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:o=>{const s=o.getZoom();o.easeTo({duration:300,easeId:"keyboardHandler",easing:Or,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+i*this._bearingStep,pitch:o.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-a*this._panStep],center:o.getCenter()},{originalEvent:t})}}}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 Or(t){return t*(2-t)}const Vr=4.000244140625;class Ur{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault()}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const r=t.exported.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Vr==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,e)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault()}_onTimeout(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)}_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 i=a.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Vr?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:e.zoom,r=this._startZoom,n=this._easing;let a,o=!1;if("wheel"===this._type&&r&&n){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),s=n(e);a=t.number(r,i,s),e<1?this._frameId||(this._frameId=!0):o=!0}else a=i,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,r=(t.exported.now()-e.start)/e.duration,n=e.easing(r+.01)-e.easing(r),a=.27/Math.sqrt(n*n+1e-4)*.01,o=Math.sqrt(.0729-a*a);i=t.bezier(a,o,.25,1)}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}reset(){this._active=!1}}class Nr{constructor(t,e){this._clickZoom=t,this._tapZoom=e}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 $r{constructor(){this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Gr{constructor(){this._tap=new vr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()}touchstart(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i))}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=e[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,t.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class qr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Zr{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,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 jr{constructor(t,e,i,r){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate","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 Xr=t=>t.zoom||t.drag||t.pitch||t.rotate;class Hr extends t.Event{}function Wr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Kr{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new cr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.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],[document,"mousemove",{capture:!0}],[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],[window,"blur",void 0]];for(const[t,n,o]of this._listeners)a.addEventListener(t,n,t===document?this.handleWindowEvent:this.handleEvent,o)}destroy(){for(const[t,e,i]of this._listeners)a.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new fr(e,t));const r=e.boxZoom=new _r(e,t);this._add("boxZoom",r);const n=new br,a=new $r;e.doubleClickZoom=new Nr(a,n),this._add("tapZoom",n),this._add("clickZoom",a);const o=new Gr;this._add("tapDragZoom",o);const s=e.touchPitch=new Br(e);this._add("touchPitch",s);const l=new Sr(t),c=new Ir(t);e.dragRotate=new Zr(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new Er(t),u=new zr(t,e);e.dragPan=new qr(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const p=new Dr,d=new Mr;e.touchZoomRotate=new jr(i,d,p,o),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]);const m=e.scrollZoom=new Ur(e,this);this._add("scrollZoom",m,["mousePan"]);const f=e.keyboard=new Fr;this._add("keyboard",f),this._add("blockableMapEvent",new gr(e));for(const g of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])t.interactive&&t[g]&&e[g].enable(t[g])}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(Xr(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const r in t)if(r!==i&&(!e||e.indexOf(r)<0))return!0;return!1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`)}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i="renderFrame"===t.type?void 0:t,r={needsRenderFrame:!1},n={},o={},s=t.touches,l=s?this._getMapTouches(s):void 0,c=l?a.touchPos(this._el,l):a.mousePos(this._el,t);for(const{handlerName:a,handler:p,allowed:d}of this._handlers){if(!p.isEnabled())continue;let s;this._blockedByActive(o,d,a)?p.reset():p[e||t.type]&&(s=p[e||t.type](t,c,l),this.mergeHandlerResult(r,n,s,a,i),s&&s.needsRenderFrame&&this._triggerRenderFrame()),(s||p.isActive())&&(o[a]=p)}const h={};for(const a in this._previousActiveHandlers)o[a]||(h[a]=i);this._previousActiveHandlers=o,(Object.keys(h).length||Wr(r))&&(this._changes.push([r,n,h]),this._triggerRenderFrame()),(Object.keys(o).length||Wr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))}mergeHandlerResult(e,i,r,n,a){if(!r)return;t.extend(e,r);const o={handlerName:n,originalEvent:r.originalEvent||a};void 0!==r.zoomDelta&&(i.zoom=o),void 0!==r.panDelta&&(i.drag=o),void 0!==r.pitchDelta&&(i.pitch=o),void 0!==r.bearingDelta&&(i.rotate=o)}_applyChanges(){const e={},i={},r={};for(const[n,a,o]of this._changes)n.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(n.panDelta)),n.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(e.around=n.around),void 0!==n.pinchAround&&(e.pinchAround=n.pinchAround),n.noInertia&&(e.noInertia=n.noInertia),t.extend(i,a),t.extend(r,o);this._updateMapTransform(e,i,r),this._changes=[]}_updateMapTransform(e,i,r){const n=this._map,a=n.transform,o=n.style&&n.style.terrain;if(!(Wr(e)||o&&this._drag))return this._fireEvents(i,r,!0);let{panDelta:s,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,pinchAround:p}=e;void 0!==p&&(u=p),n._stop(!0),u=u||n.transform.centerPoint;const d=a.pointLocation(s?u.sub(s):u);c&&(a.bearing+=c),h&&(a.pitch+=h),l&&(a.zoom+=l),o?i.drag&&!this._drag?(this._drag={center:a.centerPoint,lngLat:a.pointLocation(u),point:u,handlerName:i.drag.handlerName},n.fire(new t.Event("freezeElevation",{freeze:!0}))):this._drag&&r[this._drag.handlerName]?(n.fire(new t.Event("freezeElevation",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(a.center=a.pointLocation(a.centerPoint.sub(s))):a.setLocationAtPoint(d,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,r,!0)}_fireEvents(e,i,r){const n=Xr(this._eventsInProgress),a=Xr(e),o={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(o[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!n&&a&&this._fireEvent("movestart",a.originalEvent);for(const t in o)this._fireEvent(t,o[t]);a&&this._fireEvent("move",a.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const s={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||r,s[`${t}end`]=l)}for(const t in s)this._fireEvent(t,s[t]);const c=Xr(this._eventsInProgress);if(r&&(n||a)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Hr("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Jr={extend:(e,...i)=>t.extend(e,...i),run(t){t()},logToElement(t,e=!1,i="log"){const r=window.document.getElementById(i);r&&(e&&(r.innerHTML=""),r.innerHTML+=`
${t}`)}};class Yr extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,r){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),r)}panTo(e,i,r){return this.easeTo(t.extend({center:e},i),r)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,r){return this.easeTo(t.extend({zoom:e},i),r)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,r){return this.easeTo(t.extend({bearing:e},i),r)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(r.zoom=t.number(n,l,e)),this._rotating&&(r.bearing=t.number(a,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(s,u,e),d=r.centerPoint.add(p)),x)r.setLocationAtPoint(x,v);else{const t=r.zoomScale(r.zoom-n),i=l>n?Math.min(2,y):Math.max(.5,y),a=Math.pow(i,1-e),o=r.unproject(g.add(_.mult(e*a)).mult(t));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,d)}this._fireMoveEvents(i)}),(t=>{this._afterEase(i,t)}),e),this}_prepareEase(e,i,r={}){this._moving=!0,this.fire(new t.Event("freezeElevation",{freeze:!0})),i||r.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!r.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!r.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!r.pitching&&this.fire(new t.Event("pitchstart",e))}_fireMoveEvents(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId,this.fire(new t.Event("freezeElevation",{freeze:!1}));const r=this._zooming,n=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(!e.essential&&t.exported.prefersReducedMotion){const r=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const r=this.transform,n=this.getZoom(),a=this.getBearing(),o=this.getPitch(),s=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,r.minZoom,r.maxZoom):n,c="bearing"in e?this._normalizeBearing(e.bearing,a):a,h="pitch"in e?+e.pitch:o,u="padding"in e?e.padding:r.padding,p=r.zoomScale(l-n),d=t.pointGeometry.convert(e.offset);let m=r.centerPoint.add(d);const f=r.pointLocation(m),g=t.LngLat.convert(e.center||f);this._normalizeCenter(g);const _=r.project(f),y=r.project(g).sub(_);let x=e.curve;const v=Math.max(r.width,r.height),b=v/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,n,l),r.minZoom,r.maxZoom),a=v/r.zoomScale(i-n);x=Math.sqrt(a/w*2)}const T=x*x;function E(t){const e=(b*b-v*v+(t?-1:1)*T*T*w*w)/(2*(t?b:v)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function I(t){return(Math.exp(t)+Math.exp(-t))/2}const z=E(0);let C=function(t){return I(z)/I(z+x*t)},A=function(t){return v*((I(z)*(S(e=z+x*t)/I(e))-S(z))/T)/w;var e},k=(E(1)-z)/x;if(Math.abs(w)<1e-6||!isFinite(k)){if(Math.abs(v-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=a!==c,this._pitching=h!==o,this._padding=!r.isPaddingEqual(u),this._prepareEase(i,!1),this._ease((e=>{const p=e*k,f=1/C(p);r.zoom=1===e?l:n+r.scaleZoom(f),this._rotating&&(r.bearing=t.number(a,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(s,u,e),m=r.centerPoint.add(d));const x=1===e?g:r.unproject(_.add(y.mult(A(p))).mult(f));r.setLocationAtPoint(r.renderWorldCopies?x.wrap():x,m),this._fireMoveEvents(i)}),(()=>this._afterEase(i)),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,r){!1===r.animate||0===r.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const r=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}}class Qr{constructor(e={}){this.options=e,t.bindAll(["_toggleAttribution","_updateData","_updateCompact","_updateCompactMinimize"],this)}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("details","maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=a.create("summary","maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=a.create("div","maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){a.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}_toggleAttribution(){this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")):(this._container.classList.add("maplibregl-compact-show","mapboxgl-compact-show"),this._container.removeAttribute("open")))}_updateData(t){!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions()}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const r in e){const i=e[r];if(i.used||i.usedForTerrain){const e=i.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let r=i+1;r=0)return!1;return!0}));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("maplibregl-attrib-empty","mapboxgl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty","mapboxgl-attrib-empty"),this._updateCompact(),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","mapboxgl-compact","maplibregl-compact-show","mapboxgl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show","mapboxgl-compact","mapboxgl-compact-show"))}_updateCompactMinimize(){this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")}}class tn{constructor(e={}){this.options=e,t.bindAll(["_updateCompact"],this)}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("div","maplibregl-ctrl mapboxgl-ctrl");const e=a.create("a","maplibregl-ctrl-logo mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){a.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact","mapboxgl-compact"):e.classList.remove("maplibregl-compact","mapboxgl-compact")}}}class en{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const r of i)if(r.id===t)return void(r.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}const rn={"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","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"},nn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},an={showCompass:!0,showZoom:!0,visualizePitch:!1};class on{constructor(e,i,r=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new Sr({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ir({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),a.addEventListener(i,"mousedown",this.mousedown),a.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),a.addEventListener(i,"touchmove",this.touchmove),a.addEventListener(i,"touchend",this.touchend),a.addEventListener(i,"touchcancel",this.reset)}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),a.disableDrag()}move(t,e){const i=this.map,r=this.mouseRotate.mousemoveWindow(t,e);if(r&&r.bearingDelta&&i.setBearing(i.getBearing()+r.bearingDelta),this.mousePitch){const r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta)}}off(){const t=this.element;a.removeEventListener(t,"mousedown",this.mousedown),a.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),a.removeEventListener(t,"touchmove",this.touchmove),a.removeEventListener(t,"touchend",this.touchend),a.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){a.enableDrag(),a.removeEventListener(window,"mousemove",this.mousemove),a.removeEventListener(window,"mouseup",this.mouseup)}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),a.mousePos(this.element,e)),a.addEventListener(window,"mousemove",this.mousemove),a.addEventListener(window,"mouseup",this.mouseup)}mousemove(t){this.move(t,a.mousePos(this.element,t))}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos))}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos))}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)180;){const t=r.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e}const ln={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%)"};function cn(t,e,i){const r=t.classList;for(const n in ln)r.remove(`maplibregl-${i}-anchor-${n}`,`mapboxgl-${i}-anchor-${n}`);r.add(`maplibregl-${i}-anchor-${e}`,`mapboxgl-${i}-anchor-${e}`)}class hn extends t.Evented{constructor(e,i){if(super(),(e instanceof HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.pointGeometry.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=a.create("div"),this._element.setAttribute("aria-label","Map marker");const i=a.createNS("http://www.w3.org/2000/svg","svg"),r=41,n=27;i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height",`${r}px`),i.setAttributeNS(null,"width",`${n}px`),i.setAttributeNS(null,"viewBox",`0 0 ${n} ${r}`);const o=a.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");const s=a.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");const l=a.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const t of c){const e=a.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const h=a.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=a.createNS("http://www.w3.org/2000/svg","path");u.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),h.appendChild(u);const p=a.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"fill","#000000");const d=a.createNS("http://www.w3.org/2000/svg","path");d.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),p.appendChild(d);const m=a.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");const f=a.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=a.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const _=a.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),f.appendChild(g),f.appendChild(_),s.appendChild(l),s.appendChild(h),s.appendChild(p),s.appendChild(m),s.appendChild(f),i.appendChild(s),i.setAttributeNS(null,"height",r*this._scale+"px"),i.setAttributeNS(null,"width",n*this._scale+"px"),this._element.appendChild(i),this._offset=t.pointGeometry.convert(e&&e.offset||[0,-14])}this._element.classList.add("maplibregl-marker","mapboxgl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),cn(this._element,this._anchor,"marker"),this._popup=null}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),a.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[r,-1*(e-i+r)],"bottom-right":[-r,-1*(e-i+r)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}_update(t){if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=sn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),t&&"moveend"!==t.type||(this._pos=this._pos.round()),a.setTransform(this._element,`${ln[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${e}`),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?"0.2":"1.0",this._opacityTimeout=null}),100))}getOffset(){return this._offset}setOffset(e){return this._offset=t.pointGeometry.convert(e),this._update(),this}_onMove(e){if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))}_onUp(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"}_addDragHandler(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const un={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let pn,dn=0,mn=!1;const fn={maxWidth:100,unit:"metric"};function gn(t,e,i){const r=i&&i.maxWidth||100,n=t._container.clientHeight/2,a=t.unproject([0,n]),o=t.unproject([r,n]),s=a.distanceTo(o);if(i&&"imperial"===i.unit){const i=3.2808*s;i>5280?_n(e,r,i/5280,t._getUIString("ScaleControl.Miles")):_n(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?_n(e,r,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?_n(e,r,s/1e3,t._getUIString("ScaleControl.Kilometers")):_n(e,r,s,t._getUIString("ScaleControl.Meters"))}function _n(t,e,i,r){const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(n/i)+"px",t.innerHTML=`${n} ${r}`}const yn={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},xn=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function vn(e){if(e){if("number"==typeof e){const i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),"top-left":new t.pointGeometry(i,i),"top-right":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),"bottom-left":new t.pointGeometry(i,-i),"bottom-right":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){const i=t.pointGeometry.convert(e);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),"top-left":t.pointGeometry.convert(e["top-left"]||[0,0]),"top-right":t.pointGeometry.convert(e["top-right"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),"bottom-left":t.pointGeometry.convert(e["bottom-left"]||[0,0]),"bottom-right":t.pointGeometry.convert(e["bottom-right"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return vn(new t.pointGeometry(0,0))}const bn={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:class extends Yr{constructor(e){var i;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},nn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new ir(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new en,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},rn,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(i=e.pixelRatio)&&void 0!==i?i:devicePixelRatio,this._requestManager=new o(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_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))),this.on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),"undefined"!=typeof window&&(addEventListener("online",this._onWindowOnline,!1),addEventListener("resize",this._onWindowResize,!1),addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Kr(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new rr("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Qr({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new tn,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.Event("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=e.onAdd(this);this._controls.push(e);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,r){return null==r&&this.style.terrain&&(r=this.transform.getElevation(i,this.style.terrain)),super.calculateCameraOptionsFromTo(t,e,i,r)}resize(e){const i=this._containerDimensions(),r=i[0],n=i[1];this._resizeCanvas(r,n,this.getPixelRatio()),this.transform.resize(r,n),this.painter.resize(r,n,this.getPixelRatio());const a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this}getPixelRatio(){return this._pixelRatio}setPixelRatio(t){const[e,i]=this._containerDimensions();this._pixelRatio=t,this._resizeCanvas(e,i,t),this.painter.resize(e,i,t)}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),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;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;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)}unproject(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)}isMoving(){return this._moving||this.handlers.isMoving()}isZooming(){return this._zooming||this.handlers.isZooming()}isRotating(){return this._rotating||this.handlers.isRotating()}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let r=!1;const n=n=>{const a=this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[];a.length?r||(r=!0,i.call(this,new pr(t,this,n.originalEvent,{features:a}))):r=!1};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:()=>{r=!1}}}}if("mouseleave"===t||"mouseout"===t){let r=!1;const n=n=>{(this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?r=!0:r&&(r=!1,i.call(this,new pr(t,this,n.originalEvent)))},a=e=>{r&&(r=!1,i.call(this,new pr(t,this,e.originalEvent)))};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:a}}}{const r=t=>{const r=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layer:e,listener:i,delegates:{[t]:r}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const r=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r);for(const n in r.delegates)this.on(n,r.delegates[n]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const r=this._createDelegatedListener(t,e,i);for(const n in r.delegates)this.once(n,r.delegates[n]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(r=>{const n=this._delegatedListeners[t];for(let t=0;t{e?this.fire(new t.ErrorEvent(e)):r&&this._updateDiff(r,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0)}catch(r){t.warnOnce(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`)))}setTerrain(t){return this.style.setTerrain(t),this}getTerrain(){return this.style.terrain&&this.style.terrain.options}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:r=1,sdf:n=!1,stretchX:a,stretchY:o,content:s}={}){if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){const{width:l,height:c,data:h}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},h),pixelRatio:r,stretchX:a,stretchY:o,content:s,sdf:n,version:0})}else{if(void 0===i.width||void 0===i.height)return this.fire(new t.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`")));{const{width:l,height:c,data:h}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(h)),pixelRatio:r,stretchX:a,stretchY:o,content:s,sdf:n,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}}}updateImage(e,i){const r=this.style.getImage(e);if(!r)return this.fire(new t.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 HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,{width:a,height:o,data:s}=n;if(void 0===a||void 0===o)return this.fire(new t.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`")));if(a!==r.data.width||o!==r.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));r.data.replace(s,l),this.style.updateImage(e,r)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,r={}){return this.style.setPaintProperty(t,e,i,r),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,r={}){return this.style.setLayoutProperty(t,e,i,r),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map","mapboxgl-map");const e=this._canvasContainer=a.create("div","maplibregl-canvas-container mapboxgl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive","mapboxgl-interactive"),this._canvas=a.create("canvas","maplibregl-canvas mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");const i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());const r=this._controlContainer=a.create("div","maplibregl-control-container mapboxgl-control-container",t),n=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{n[t]=a.create("div",`maplibregl-ctrl-${t} mapboxgl-ctrl-${t}`,r)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_setupCooperativeGestures(){const t=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=a.create("div","maplibregl-cooperative-gesture-screen",t);let e="Control",i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";0===navigator.platform.indexOf("Mac")&&(i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use \u2318 + scroll to zoom the map",e="Meta"),this._cooperativeGesturesScreen.innerHTML=`\n
${i}
\n
${"boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map"}
\n `,document.addEventListener("keydown",(t=>{t.key===e&&(this._metaPress=!0)})),document.addEventListener("keyup",(t=>{t.key===e&&(this._metaPress=!1)})),this._canvasContainer.addEventListener("wheel",(t=>{this._onCooperativeGesture(t,this._metaPress,1)}),!1),this._canvasContainer.classList.remove("mapboxgl-touch-drag-pan","maplibregl-touch-drag-pan")}_resizeCanvas(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl",i)||this._canvas.getContext("experimental-webgl",i);r?(this.painter=new Yi(r,this.transform),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}_onCooperativeGesture(t,e,i){return!e&&i<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove("maplibregl-show")}),100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(e){let i,r=0;const n=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(i=n.createQueryEXT(),n.beginQueryEXT(n.TIME_ELAPSED_EXT,i),r=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=t.exported.now();this.style.zoomHistory.update(e,i);const r=new t.EvaluationParameters(e,{now:i,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(a=!0,this._crossFadingFactor=n),this.style.update(r)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){const e=t.exported.now()-r;n.endQueryEXT(n.TIME_ELAPSED_EXT,i),setTimeout((()=>{const r=n.getQueryObjectEXT(i,n.QUERY_RESULT_EXT)/1e6;n.deleteQueryEXT(i),this.fire(new t.Event("gpu-timing-frame",{cpuTime:e,gpuTime:r}))}),50)}if(this.listens("gpu-timing-layer")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event("gpu-timing-layer",{layerTimes:i}))}),50)}const o=this._sourcesDirty||this._styleDirty||this._placementDirty;return o||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),!this._loaded||this._fullyLoaded||o||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&(removeEventListener("resize",this._onWindowResize,!1),removeEventListener("orientationchange",this._onWindowResize,!1),removeEventListener("online",this._onWindowOnline,!1));const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),a.remove(this._canvasContainer),a.remove(this._controlContainer),this._cooperativeGestures&&a.remove(this._cooperativeGesturesScreen),this._container.classList.remove("maplibregl-map","mapboxgl-map"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event("remove"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.exported.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e)})))}_onWindowOnline(){this._update()}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update()}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}_setCacheLimits(e,i){t.setCacheLimits(e,i)}get version(){return"2.4.0"}},NavigationControl:class{constructor(e){this.options=t.extend({},an,e),this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("maplibregl-ctrl-compass mapboxgl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",i.toString())}_rotateCompassArrow(){const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new on(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){a.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const i=a.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}_setButtonTitle(t,e){const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({},un,e),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}onAdd(t){var e;return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),e=this._setupUI,void 0!==pn?e(pn):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then((t=>{pn="denied"!==t.state,e(pn)})):(pn=!!window.navigator.geolocation,e(pn)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),a.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,dn=0,mn=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_onSuccess(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,n=this._map.getBearing(),a=t.extend({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),a,{geolocateSource:!0})}_updateMarker(e){if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),r=e.distanceTo(i),n=Math.ceil(2*this._accuracy/r);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&mn)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(e){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=a.create("button","maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate",this._container),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","maplibregl-user-location-dot mapboxgl-user-location-dot"),this._userLocationDotMarker=new hn(this._dotElement),this._circleElement=a.create("div","maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new hn({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",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}trigger(){if(!this._setup)return t.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 t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":dn--,mn=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),dn++,dn>1?(t={maximumAge:6e5,timeout:0},mn=!0):(t=this.options.positionOptions,mn=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Qr,LogoControl:tn,ScaleControl:class{constructor(e){this.options=t.extend({},fn,e),t.bindAll(["_onMove","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_onMove(){gn(this._map,this._container,this.options)}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}setUnit(t){this.options.unit=t,gn(this._map,this._container,this.options)}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){a.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=a.create("button","maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen",this._controlContainer);a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},TerrainControl:class{constructor(e){this.options=e,t.bindAll(["_toggleTerrain","_updateTerrainIcon"],this)}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._terrainButton=a.create("button","maplibregl-ctrl-terrain mapboxgl-ctrl-terrain",this._container),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){a.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}_toggleTerrain(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()}_updateTerrainIcon(){this._terrainButton.classList.remove("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._map.style.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"))}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(yn),e),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}remove(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer","mapboxgl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=t;r=i.firstChild,r;)e.appendChild(r);return this.setDOMContent(e)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=a.create("div","maplibregl-popup-content mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t)}removeClassName(t){this._container&&this._container.classList.remove(t)}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=a.create("button","maplibregl-popup-close-button mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_onMouseUp(t){this._update(t.point)}_onMouseMove(t){this._update(t.point)}_onDrag(t){this._update(t.point)}_update(t){if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(this._container||(this._container=a.create("div","maplibregl-popup mapboxgl-popup",this._map.getContainer()),this._tip=a.create("div","maplibregl-popup-tip mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((t=>this._container.classList.add(t))),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=sn(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let i=this.options.anchor;const r=vn(this.options.offset);if(!i){const t=this._container.offsetWidth,n=this._container.offsetHeight;let a;a=e.y+r.bottom.ythis._map.transform.height-n?["bottom"]:[],e.xthis._map.transform.width-t/2&&a.push("right"),i=0===a.length?"bottom":a.join("-")}const n=e.add(r[i]).round();a.setTransform(this._container,`${ln[i]} translate(${n.x}px,${n.y}px)`),cn(this._container,i,"popup")}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(xn);t&&t.focus()}_onClose(){this.remove()}},Marker:hn,Style:ee,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:k,GeoJSONSource:I,ImageSource:C,RasterDEMTileSource:S,RasterTileSource:T,VectorTileSource:w,VideoSource:A,prewarm:function(){Z().acquire(N)},clearPrewarmedResources:function(){const t=q;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(N),q=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 version(){return"2.4.0"},get workerCount(){return $.workerCount},set workerCount(t){$.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage(e){t.clearTileCache(e)},workerUrl:"",addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i},removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e]}};return Jr.extend(bn,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),bn})),i}()}}]); \ No newline at end of file diff --git a/build/build/index.html b/build/build/index.html new file mode 100644 index 0000000..5fe837a --- /dev/null +++ b/build/build/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/index.html b/build/index.html new file mode 100644 index 0000000..53f18fd --- /dev/null +++ b/build/index.html @@ -0,0 +1,4 @@ +Local Services Lookup

Please turn on javascript to use this feature. Thanks!

+ + + \ No newline at end of file diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 0000000..874d0d8 --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,18 @@ +const { defineConfig } = require('cypress') + +module.exports = defineConfig({ + defaultCommandTimeout: 100000, + projectId: 'local-services-lookup', + pageLoadTimeout: 100000, + video: false, + includeShadowDom: true, + e2e: { + // We've imported your old cypress plugins here. + // You may want to clean this up later by importing these. + setupNodeEvents(on, config) { + return require('./cypress/plugins/index.js')(on, config) + }, + baseUrl: 'http://localhost:3000', + specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}', + }, +}) diff --git a/cypress/e2e/test.js b/cypress/e2e/test.js new file mode 100644 index 0000000..79803e8 --- /dev/null +++ b/cypress/e2e/test.js @@ -0,0 +1,99 @@ +describe('Basic test for address result', () => { + it('successfully loads', () => { + cy.visit('/') + cy.get('my-home-info') + .contains('It’s all here. All in one place.') + }) + + it('Test address and panel switch', () => { + cy.visit('/') + cy.get('my-home-info') + .get('#geocoder input').type('1104 military{enter}') + cy.wait(3000) + cy.get('my-home-info') + .contains('1104 Military St, Detroit, MI, 48209') + cy.get('my-home-info') + .get('cod-button[data-nav-value="special areas and zones"]').click() + cy.wait(3000) + cy.get('my-home-info') + .contains('SPECIAL AREAS AND ZONES') + }) + + + it('Test invalid address', () => { + cy.visit('/') + cy.get('my-home-info') + .get('#geocoder input').type('3213 sdfasf{enter}') + cy.wait(3000) + cy.get('my-home-info') + .contains('No Information found on this address. Please close and try again.') + }) + + it('Test printing functionality', () => { + cy.visit('/') + cy.get('my-home-info') + .get('#geocoder input').type('1104 military{enter}') + cy.wait(3000) + cy.get('my-home-info') + .contains('1104 Military St, Detroit, MI, 48209') + cy.get('my-home-info') + .get('cod-button[data-nav-value="print"]').click() + }) + + it('Test map feature', () => { + cy.visit('/') + cy.get('my-home-info') + .get('#geocoder input').type('1104 military{enter}') + cy.wait(3000) + cy.get('my-home-info') + .contains('1104 Military St, Detroit, MI, 48209') + cy.get('my-home-info') + .get('cod-button[data-nav-value="things nearby"]').click() + cy.wait(3000) + cy.get('my-home-info') + .contains('THINGS NEARBY') + cy.get('my-home-info') + .contains('View Map') + cy.get('my-home-info') + .get('cod-button[data-map-active-data="schools"]') + .click() + }) + + it('Check geospatial sorting', () => { + cy.visit('/') + cy.get('my-home-info') + .get('#geocoder input').type('1104 military{enter}') + cy.wait(3000) + cy.get('my-home-info') + .contains('1104 Military St, Detroit, MI, 48209') + cy.get('my-home-info') + .get('cod-button[data-nav-value="things nearby"]').click() + cy.wait(3000) + cy.get('my-home-info') + .contains('THINGS NEARBY') + cy.get('my-home-info') + .contains('Real Parks Help') + }) + + it('Test pagination', () => { + cy.visit('/') + cy.get('my-home-info') + .get('#geocoder input').type('1104 military{enter}') + cy.wait(3000) + cy.get('my-home-info') + .contains('1104 Military St, Detroit, MI, 48209') + cy.get('my-home-info') + .get('cod-button[data-nav-value="things nearby"]').click() + cy.wait(3000) + cy.get('my-home-info') + .contains('THINGS NEARBY') + cy.get('my-home-info') + .contains('View Map') + cy.get('my-home-info') + .get('cod-button[data-label="Load More +"]') + .first() + .click() + cy.get('my-home-info') + .contains('Cesar Chavez High School') + }) +}) \ No newline at end of file diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js new file mode 100644 index 0000000..59b2bab --- /dev/null +++ b/cypress/plugins/index.js @@ -0,0 +1,22 @@ +/// +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +/** + * @type {Cypress.PluginConfig} + */ +// eslint-disable-next-line no-unused-vars +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config +} diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 0000000..119ab03 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js new file mode 100644 index 0000000..6134b90 --- /dev/null +++ b/cypress/support/e2e.js @@ -0,0 +1,25 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') +Cypress.on('uncaught:exception', (err, runnable) => { + // returning false here prevents Cypress from + // failing the test + return false + }) \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..bc8f834 --- /dev/null +++ b/package.json @@ -0,0 +1,80 @@ +{ + "name": "d6-business-directory", + "version": "0.0.1", + "description": "D6 business directory map", + "main": "main.js", + "repository": { + "type": "git", + "url": "https://github.com/CityOfDetroit/d6-business-directory.git" + }, + "keywords": [ + "Parcel", + "Geospatial", + "Parcel", + "JS", + "Services" + ], + "engines": { + "npm": ">=10.0.0", + "node": ">=18.0.0 <19.0.0" + }, + "bugs": { + "url": "https://github.com/CityOfDetroit/d6-business-directory/issues" + }, + "homepage": "https://github.com/CityOfDetroit/d6-business-directory#readme", + "scripts": { + "build": "webpack --mode production", + "start": "webpack-dev-server --mode development", + "cy:run": "./node_modules/.bin/cypress run --headed", + "test": "start-server-and-test start http://localhost:3000 cy:run", + "logs": "auto changelog" + }, + "author": "Edgar Montes", + "license": "MIT", + "dependencies": { + "@sentry/browser": "^7.64.0", + "@turf/simplify": "^5.1.5", + "@turf/turf": "^5.1.6", + "terraformer-arcgis-parser": "^1.1.0" + }, + "devDependencies": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-react-constant-elements": "^7.23.3", + "@babel/plugin-transform-react-inline-elements": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.16.0", + "@babel/preset-react": "^7.23.3", + "@babel/runtime": "^7.15.4", + "@sentry/webpack-plugin": "^2.7.0", + "@svgr/webpack": "^8.1.0", + "@turf/bearing": "^6.5.0", + "@turf/centroid": "^6.5.0", + "@turf/distance": "^6.5.0", + "@turf/helpers": "^6.5.0", + "auto": "^11.0.4", + "babel-loader": "^8.2.3", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24", + "concurrently": "^7.0.0", + "css-loader": "^6.5.0", + "css-minimizer-webpack-plugin": "^3.4.1", + "cypress": "^13.6.1", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.5.0", + "lodash.sortby": "^4.7.0", + "lodash.uniqby": "^4.7.0", + "mini-css-extract-plugin": "^2.5.3", + "raw-loader": "^4.0.2", + "sass": "^1.43.4", + "sass-loader": "^12.3.0", + "start-server-and-test": "^2.0.3", + "style-loader": "^3.3.1", + "terser-webpack-plugin": "^5.2.4", + "url-loader": "^4.1.1", + "webpack": "^5.61.0", + "webpack-cli": "^4.9.1", + "webpack-dev-server": "^4.4.0" + }, + "browserslist": "> 0.25%, not dead" +} diff --git a/public/build/assets/js/main.js b/public/build/assets/js/main.js new file mode 100644 index 0000000..001461c --- /dev/null +++ b/public/build/assets/js/main.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcod_design_system=self.webpackChunkcod_design_system||[]).push([[179],{730:function(t,n,e){var o="@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;700&display=swap');\n:host {\n --color-1: #004445;\n --color-2: #9fd5b3;\n --color-3: #feb70d;\n --color-4: #b3393b;\n --color-5: #e6e6e6;\n --color-light: #fff;\n --color-dark: #000;\n --font-family: 'Montserrat', sans-serif;\n}\n",a="@charset \"UTF-8\";\n/**\n * GENERATED CSS. DO NOT MODIFY.\n * This file is generated from source SASS in src/scss/themed-bootstrap.scss. If you'd like to make\n * changes please change the source file or the code generation script at scripts/compile_bootstrap.sh.\n */\n@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap');\n/*!\n * Bootstrap v5.3.0-alpha3 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme='light'] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #004445;\n --bs-secondary: #e6e6e6;\n --bs-success: #9fd5b3;\n --bs-info: #004445;\n --bs-warning: #feb70d;\n --bs-danger: #b3393b;\n --bs-light: #fff;\n --bs-dark: #000;\n --bs-primary-rgb: 0, 68, 69;\n --bs-secondary-rgb: 230, 230, 230;\n --bs-success-rgb: 159, 213, 179;\n --bs-info-rgb: 0, 68, 69;\n --bs-warning-rgb: 254, 183, 13;\n --bs-danger-rgb: 179, 57, 59;\n --bs-light-rgb: 255, 255, 255;\n --bs-dark-rgb: 0, 0, 0;\n --bs-primary-text-emphasis: #001b1c;\n --bs-secondary-text-emphasis: #5c5c5c;\n --bs-success-text-emphasis: #405548;\n --bs-info-text-emphasis: #001b1c;\n --bs-warning-text-emphasis: #664905;\n --bs-danger-text-emphasis: #481718;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #ccdada;\n --bs-secondary-bg-subtle: #fafafa;\n --bs-success-bg-subtle: #ecf7f0;\n --bs-info-bg-subtle: #ccdada;\n --bs-warning-bg-subtle: #fff1cf;\n --bs-danger-bg-subtle: #f0d7d8;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #99b4b5;\n --bs-secondary-border-subtle: whitesmoke;\n --bs-success-border-subtle: #d9eee1;\n --bs-info-border-subtle: #99b4b5;\n --bs-warning-border-subtle: #ffe29e;\n --bs-danger-border-subtle: #e1b0b1;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: 'Montserrat', sans-serif;\n --bs-font-monospace: 'Montserrat', sans-serif;\n --bs-gradient: linear-gradient(\n 180deg,\n rgba(255, 255, 255, 0.15),\n rgba(255, 255, 255, 0)\n );\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1em;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-link-color: #004445;\n --bs-link-color-rgb: 0, 68, 69;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #003637;\n --bs-link-hover-color-rgb: 0, 54, 55;\n --bs-code-color: #d63384;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0;\n --bs-border-radius-sm: 0;\n --bs-border-radius-lg: 0;\n --bs-border-radius-xl: 0;\n --bs-border-radius-xxl: 0;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50em;\n --bs-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1em 3em rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25em;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(0, 68, 69, 0.25);\n --bs-form-valid-color: #9fd5b3;\n --bs-form-valid-border-color: #9fd5b3;\n --bs-form-invalid-color: #b3393b;\n --bs-form-invalid-border-color: #b3393b;\n}\n\n[data-bs-theme='dark'] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #668f8f;\n --bs-secondary-text-emphasis: #f0f0f0;\n --bs-success-text-emphasis: #c5e6d1;\n --bs-info-text-emphasis: #668f8f;\n --bs-warning-text-emphasis: #fed46e;\n --bs-danger-text-emphasis: #d18889;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #000e0e;\n --bs-secondary-bg-subtle: #2e2e2e;\n --bs-success-bg-subtle: #202b24;\n --bs-info-bg-subtle: #000e0e;\n --bs-warning-bg-subtle: #332503;\n --bs-danger-bg-subtle: #240b0c;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #002929;\n --bs-secondary-border-subtle: #8a8a8a;\n --bs-success-border-subtle: #5f806b;\n --bs-info-border-subtle: #002929;\n --bs-warning-border-subtle: #986e08;\n --bs-danger-border-subtle: #6b2223;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-link-color: #668f8f;\n --bs-link-hover-color: #85a5a5;\n --bs-link-color-rgb: 102, 143, 143;\n --bs-link-hover-color-rgb: 133, 165, 165;\n --bs-code-color: #e685b5;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1em 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6,\n.h6,\nh5,\n.h5,\nh4,\n.h4,\nh3,\n.h3,\nh2,\n.h2,\nh1,\n.h1 {\n margin-top: 0;\n margin-bottom: 0.5em;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color, inherit);\n}\n\nh1,\n.h1 {\n font-size: calc(1.375em + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1,\n .h1 {\n font-size: 2.5em;\n }\n}\n\nh2,\n.h2 {\n font-size: calc(1.325em + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2,\n .h2 {\n font-size: 2em;\n }\n}\n\nh3,\n.h3 {\n font-size: calc(1.3em + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3,\n .h3 {\n font-size: 1.75em;\n }\n}\n\nh4,\n.h4 {\n font-size: calc(1.275em + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4,\n .h4 {\n font-size: 1.5em;\n }\n}\n\nh5,\n.h5 {\n font-size: 1.25em;\n}\n\nh6,\n.h6 {\n font-size: 1em;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1em;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2em;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5em;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1em;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall,\n.small {\n font-size: 0.875em;\n}\n\nmark,\n.mark {\n padding: 0.1875em;\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]),\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1em;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875em 0.375em;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1em;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role='button'] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type='date']):not([type='datetime-local']):not([type='month']):not(\n [type='week']\n ):not([type='time'])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type='button']:not(:disabled),\n[type='reset']:not(:disabled),\n[type='submit']:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5em;\n font-size: calc(1.275em + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5em;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type='search'] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25em;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625em + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5em;\n }\n}\n\n.display-2 {\n font-size: calc(1.575em + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5em;\n }\n}\n\n.display-3 {\n font-size: calc(1.525em + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4em;\n }\n}\n\n.display-4 {\n font-size: calc(1.475em + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5em;\n }\n}\n\n.display-5 {\n font-size: calc(1.425em + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3em;\n }\n}\n\n.display-6 {\n font-size: calc(1.375em + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5em;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5em;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1em;\n font-size: 1.25em;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1em;\n margin-bottom: 1em;\n font-size: 0.875em;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: '\u2014\xa0';\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25em;\n background-color: var(--bs-body-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5em;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5em;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm,\n .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md,\n .container-sm,\n .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg,\n .container-md,\n .container-sm,\n .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm,\n .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm,\n .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5em;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25em;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25em;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5em;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5em;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1em;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1em;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5em;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5em;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3em;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3em;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1em;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1em;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3em;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1em;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1em;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3em;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1em;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1em;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3em;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1em;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1em;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3em;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3em;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25em;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25em;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5em;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5em;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1em;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1em;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5em;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5em;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3em;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3em;\n }\n}\n.table {\n --bs-table-color: var(--bs-body-color);\n --bs-table-bg: transparent;\n --bs-table-border-color: var(--bs-border-color);\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: var(--bs-body-color);\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: var(--bs-body-color);\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: var(--bs-body-color);\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1em;\n color: var(--bs-table-color);\n vertical-align: top;\n border-color: var(--bs-table-border-color);\n}\n.table > :not(caption) > * > * {\n padding: 0.5em 0.5em;\n background-color: var(--bs-table-bg);\n border-bottom-width: var(--bs-border-width);\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: calc(var(--bs-border-width) * 2) solid currentcolor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25em 0.25em;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: var(--bs-border-width) 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover > * {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-color: #000;\n --bs-table-bg: #ccdada;\n --bs-table-border-color: #b8c4c4;\n --bs-table-striped-bg: #c2cfcf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #b8c4c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bdcaca;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-secondary {\n --bs-table-color: #000;\n --bs-table-bg: #fafafa;\n --bs-table-border-color: #e1e1e1;\n --bs-table-striped-bg: #eeeeee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e1e1e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e7e7e7;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-success {\n --bs-table-color: #000;\n --bs-table-bg: #ecf7f0;\n --bs-table-border-color: #d4ded8;\n --bs-table-striped-bg: #e0ebe4;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #d4ded8;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #dae4de;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-info {\n --bs-table-color: #000;\n --bs-table-bg: #ccdada;\n --bs-table-border-color: #b8c4c4;\n --bs-table-striped-bg: #c2cfcf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #b8c4c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bdcaca;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-warning {\n --bs-table-color: #000;\n --bs-table-bg: #fff1cf;\n --bs-table-border-color: #e6d9ba;\n --bs-table-striped-bg: #f2e5c5;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6d9ba;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ecdfbf;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-danger {\n --bs-table-color: #000;\n --bs-table-bg: #f0d7d8;\n --bs-table-border-color: #d8c2c2;\n --bs-table-striped-bg: #e4cccd;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #d8c2c2;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #dec7c8;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-light {\n --bs-table-color: #000;\n --bs-table-bg: #fff;\n --bs-table-border-color: #e6e6e6;\n --bs-table-striped-bg: #f2f2f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6e6e6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ececec;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-dark {\n --bs-table-color: #fff;\n --bs-table-bg: #000;\n --bs-table-border-color: #1a1a1a;\n --bs-table-striped-bg: #0d0d0d;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #1a1a1a;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #131313;\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5em;\n}\n\n.col-form-label {\n padding-top: calc(0.375em + var(--bs-border-width));\n padding-bottom: calc(0.375em + var(--bs-border-width));\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5em + var(--bs-border-width));\n padding-bottom: calc(0.5em + var(--bs-border-width));\n font-size: 1.25em;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25em + var(--bs-border-width));\n padding-bottom: calc(0.25em + var(--bs-border-width));\n font-size: 0.875em;\n}\n\n.form-text {\n margin-top: 0.25em;\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375em 0.75em;\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n background-clip: padding-box;\n border: var(--bs-border-width) solid var(--bs-border-color);\n appearance: none;\n border-radius: var(--bs-border-radius);\n transition:\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type='file'] {\n overflow: hidden;\n}\n.form-control[type='file']:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n border-color: #80a2a2;\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n min-width: 85px;\n height: 1.5em;\n margin: 0;\n}\n.form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.form-control::placeholder {\n color: var(--bs-secondary-color);\n opacity: 1;\n}\n.form-control:disabled {\n background-color: var(--bs-secondary-bg);\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375em 0.75em;\n margin: -0.375em -0.75em;\n margin-inline-end: 0.75em;\n color: var(--bs-body-color);\n background-color: var(--bs-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--bs-border-width);\n border-radius: 0;\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--bs-secondary-bg);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375em 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--bs-border-width) 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm,\n.form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5em + calc(var(--bs-border-width) * 2));\n padding: 0.25em 0.5em;\n font-size: 0.875em;\n border-radius: var(--bs-border-radius-sm);\n}\n.form-control-sm::file-selector-button {\n padding: 0.25em 0.5em;\n margin: -0.25em -0.5em;\n margin-inline-end: 0.5em;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1em + calc(var(--bs-border-width) * 2));\n padding: 0.5em 1em;\n font-size: 1.25em;\n border-radius: var(--bs-border-radius-lg);\n}\n.form-control-lg::file-selector-button {\n padding: 0.5em 1em;\n margin: -0.5em -1em;\n margin-inline-end: 1em;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75em + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5em + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1em + calc(var(--bs-border-width) * 2));\n}\n\n.form-control-color {\n width: 3em;\n height: calc(1.5em + 0.75em + calc(var(--bs-border-width) * 2));\n padding: 0.375em;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color.form-control-sm {\n height: calc(1.5em + 0.5em + calc(var(--bs-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n height: calc(1.5em + 1em + calc(var(--bs-border-width) * 2));\n}\n\n.form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: 0.375em 2.25em 0.375em 0.75em;\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n background-image: var(--bs-form-select-bg-img),\n var(--bs-form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: right 0.75em center;\n background-size: 16px 12px;\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n transition:\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select:focus {\n border-color: #80a2a2;\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-select[multiple],\n.form-select[size]:not([size='1']) {\n padding-right: 0.75em;\n background-image: none;\n}\n.form-select:disabled {\n background-color: var(--bs-secondary-bg);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--bs-body-color);\n}\n\n.form-select-sm {\n padding-top: 0.25em;\n padding-bottom: 0.25em;\n padding-left: 0.5em;\n font-size: 0.875em;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n padding-left: 1em;\n font-size: 1.25em;\n border-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme='dark'] .form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check {\n display: block;\n min-height: 1.5em;\n padding-left: 1.5em;\n margin-bottom: 0.125em;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-check-input {\n --bs-form-check-bg: var(--bs-body-bg);\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: var(--bs-form-check-bg);\n background-image: var(--bs-form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--bs-border-width) solid var(--bs-border-color);\n appearance: none;\n print-color-adjust: exact;\n}\n.form-check-input[type='checkbox'] {\n border-radius: 0.25em;\n}\n.form-check-input[type='radio'] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #80a2a2;\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-check-input:checked {\n background-color: #004445;\n border-color: #004445;\n}\n.form-check-input:checked[type='checkbox'] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type='radio'] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type='checkbox']:indeterminate {\n background-color: #004445;\n border-color: #004445;\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n width: 2em;\n margin-left: -2.5em;\n background-image: var(--bs-form-switch-bg);\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a2a2'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-switch.form-check-reverse {\n padding-right: 2.5em;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -2.5em;\n margin-left: 0;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1em;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn,\n.btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n[data-bs-theme='dark']\n .form-switch\n .form-check-input:not(:checked):not(:focus) {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\");\n}\n\n.form-range {\n width: 100%;\n height: 1.5em;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow:\n 0 0 0 1px #fff,\n 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow:\n 0 0 0 1px #fff,\n 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1em;\n height: 1em;\n margin-top: -0.25em;\n background-color: #004445;\n border: 0;\n border-radius: 1em;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #b3c7c7;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5em;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-tertiary-bg);\n border-color: transparent;\n border-radius: 1em;\n}\n.form-range::-moz-range-thumb {\n width: 1em;\n height: 1em;\n background-color: #004445;\n border: 0;\n border-radius: 1em;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #b3c7c7;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5em;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-tertiary-bg);\n border-color: transparent;\n border-radius: 1em;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--bs-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--bs-secondary-color);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5em + calc(var(--bs-border-width) * 2));\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n height: 100%;\n padding: 1em 0.75em;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--bs-border-width) solid transparent;\n transform-origin: 0 0;\n transition:\n opacity 0.1s ease-in-out,\n transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1em 0.75em;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus,\n.form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625em;\n padding-bottom: 0.625em;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625em;\n padding-bottom: 0.625em;\n}\n.form-floating > .form-select {\n padding-top: 1.625em;\n padding-bottom: 0.625em;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5em) translateX(0.15em);\n}\n.form-floating > .form-control:focus ~ label::after,\n.form-floating > .form-control:not(:placeholder-shown) ~ label::after,\n.form-floating > .form-control-plaintext ~ label::after,\n.form-floating > .form-select ~ label::after {\n position: absolute;\n inset: 1em 0.375em;\n z-index: -1;\n height: 1.5em;\n content: '';\n background-color: var(--bs-body-bg);\n border-radius: var(--bs-border-radius);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5em) translateX(0.15em);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: var(--bs-border-width) 0;\n}\n.form-floating > :disabled ~ label {\n color: #6c757d;\n}\n.form-floating > :disabled ~ label::after {\n background-color: var(--bs-secondary-bg);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375em 0.75em;\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-tertiary-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5em 1em;\n font-size: 1.25em;\n border-radius: var(--bs-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25em 0.5em;\n font-size: 0.875em;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 3em;\n}\n\n.input-group:not(.has-validation)\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(\n .form-floating\n ),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3),\n.input-group:not(.has-validation)\n > .form-floating:not(:last-child)\n > .form-control,\n.input-group:not(.has-validation)\n > .form-floating:not(:last-child)\n > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(\n .form-floating\n ),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4),\n.input-group.has-validation\n > .form-floating:nth-last-child(n + 3)\n > .form-control,\n.input-group.has-validation\n > .form-floating:nth-last-child(n + 3)\n > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group\n > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(\n .valid-feedback\n ):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: calc(var(--bs-border-width) * -1);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25em;\n font-size: 0.875em;\n color: var(--bs-form-valid-color);\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25em 0.5em;\n margin-top: 0.1em;\n font-size: 0.875em;\n color: #fff;\n background-color: var(--bs-success);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid,\n.form-control.is-valid {\n border-color: var(--bs-form-valid-border-color);\n padding-right: calc(1.5em + 0.75em);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%239fd5b3' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875em) center;\n background-size: calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-control:valid:focus,\n.form-control.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:valid,\ntextarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75em);\n background-position: top calc(0.375em + 0.1875em) right\n calc(0.375em + 0.1875em);\n}\n\n.was-validated .form-select:valid,\n.form-select.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-select:valid:not([multiple]):not([size]),\n.was-validated .form-select:valid:not([multiple])[size='1'],\n.form-select.is-valid:not([multiple]):not([size]),\n.form-select.is-valid:not([multiple])[size='1'] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%239fd5b3' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n padding-right: 4.125em;\n background-position:\n right 0.75em center,\n center right 2.25em;\n background-size:\n 16px 12px,\n calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-select:valid:focus,\n.form-select.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated .form-control-color:valid,\n.form-control-color.is-valid {\n width: calc(3em + calc(1.5em + 0.75em));\n}\n\n.was-validated .form-check-input:valid,\n.form-check-input.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked,\n.form-check-input.is-valid:checked {\n background-color: var(--bs-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus,\n.form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25em rgba(var(--bs-success-rgb), 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label,\n.form-check-input.is-valid ~ .form-check-label {\n color: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid,\n.input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25em;\n font-size: 0.875em;\n color: var(--bs-form-invalid-color);\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25em 0.5em;\n margin-top: 0.1em;\n font-size: 0.875em;\n color: #fff;\n background-color: var(--bs-danger);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid,\n.form-control.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n padding-right: calc(1.5em + 0.75em);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23b3393b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23b3393b' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875em) center;\n background-size: calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-control:invalid:focus,\n.form-control.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:invalid,\ntextarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75em);\n background-position: top calc(0.375em + 0.1875em) right\n calc(0.375em + 0.1875em);\n}\n\n.was-validated .form-select:invalid,\n.form-select.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]),\n.was-validated .form-select:invalid:not([multiple])[size='1'],\n.form-select.is-invalid:not([multiple]):not([size]),\n.form-select.is-invalid:not([multiple])[size='1'] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23b3393b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23b3393b' stroke='none'/%3e%3c/svg%3e\");\n padding-right: 4.125em;\n background-position:\n right 0.75em center,\n center right 2.25em;\n background-size:\n 16px 12px,\n calc(0.75em + 0.375em) calc(0.75em + 0.375em);\n}\n.was-validated .form-select:invalid:focus,\n.form-select.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated .form-control-color:invalid,\n.form-control-color.is-invalid {\n width: calc(3em + calc(1.5em + 0.75em));\n}\n\n.was-validated .form-check-input:invalid,\n.form-check-input.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked,\n.form-check-input.is-invalid:checked {\n background-color: var(--bs-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus,\n.form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25em rgba(var(--bs-danger-rgb), 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label,\n.form-check-input.is-invalid ~ .form-check-label {\n color: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid,\n.input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --bs-btn-padding-x: 0.75em;\n --bs-btn-padding-y: 0.375em;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1em;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25em\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--bs-btn-color);\n background-color: var(--bs-btn-bg);\n border-color: var(--bs-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn,\n:not(.btn-check) + .btn:active,\n.btn:first-child:active,\n.btn.active,\n.btn.show {\n color: var(--bs-btn-active-color);\n background-color: var(--bs-btn-active-bg);\n border-color: var(--bs-btn-active-border-color);\n}\n.btn-check:checked + .btn:focus-visible,\n:not(.btn-check) + .btn:active:focus-visible,\n.btn:first-child:active:focus-visible,\n.btn.active:focus-visible,\n.btn.show:focus-visible {\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn:disabled,\n.btn.disabled,\nfieldset:disabled .btn {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n}\n\n.btn-primary {\n --bs-btn-color: #fff;\n --bs-btn-bg: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #003a3b;\n --bs-btn-hover-border-color: #003637;\n --bs-btn-focus-shadow-rgb: 38, 96, 97;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #003637;\n --bs-btn-active-border-color: #003334;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #004445;\n --bs-btn-disabled-border-color: #004445;\n}\n\n.btn-secondary {\n --bs-btn-color: #000;\n --bs-btn-bg: #e6e6e6;\n --bs-btn-border-color: #e6e6e6;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #eaeaea;\n --bs-btn-hover-border-color: #e9e9e9;\n --bs-btn-focus-shadow-rgb: 196, 196, 196;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #ebebeb;\n --bs-btn-active-border-color: #e9e9e9;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #e6e6e6;\n --bs-btn-disabled-border-color: #e6e6e6;\n}\n\n.btn-success {\n --bs-btn-color: #000;\n --bs-btn-bg: #9fd5b3;\n --bs-btn-border-color: #9fd5b3;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #addbbe;\n --bs-btn-hover-border-color: #a9d9bb;\n --bs-btn-focus-shadow-rgb: 135, 181, 152;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #b2ddc2;\n --bs-btn-active-border-color: #a9d9bb;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #9fd5b3;\n --bs-btn-disabled-border-color: #9fd5b3;\n}\n\n.btn-info {\n --bs-btn-color: #fff;\n --bs-btn-bg: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #003a3b;\n --bs-btn-hover-border-color: #003637;\n --bs-btn-focus-shadow-rgb: 38, 96, 97;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #003637;\n --bs-btn-active-border-color: #003334;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #004445;\n --bs-btn-disabled-border-color: #004445;\n}\n\n.btn-warning {\n --bs-btn-color: #000;\n --bs-btn-bg: #feb70d;\n --bs-btn-border-color: #feb70d;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #fec231;\n --bs-btn-hover-border-color: #febe25;\n --bs-btn-focus-shadow-rgb: 216, 156, 11;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #fec53d;\n --bs-btn-active-border-color: #febe25;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #feb70d;\n --bs-btn-disabled-border-color: #feb70d;\n}\n\n.btn-danger {\n --bs-btn-color: #fff;\n --bs-btn-bg: #b3393b;\n --bs-btn-border-color: #b3393b;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #983032;\n --bs-btn-hover-border-color: #8f2e2f;\n --bs-btn-focus-shadow-rgb: 190, 87, 88;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #8f2e2f;\n --bs-btn-active-border-color: #862b2c;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #b3393b;\n --bs-btn-disabled-border-color: #b3393b;\n}\n\n.btn-light {\n --bs-btn-color: #000;\n --bs-btn-bg: #fff;\n --bs-btn-border-color: #fff;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #d9d9d9;\n --bs-btn-hover-border-color: #cccccc;\n --bs-btn-focus-shadow-rgb: 217, 217, 217;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #cccccc;\n --bs-btn-active-border-color: #bfbfbf;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #fff;\n --bs-btn-disabled-border-color: #fff;\n}\n\n.btn-dark {\n --bs-btn-color: #fff;\n --bs-btn-bg: #000;\n --bs-btn-border-color: #000;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #262626;\n --bs-btn-hover-border-color: #1a1a1a;\n --bs-btn-focus-shadow-rgb: 38, 38, 38;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #333333;\n --bs-btn-active-border-color: #1a1a1a;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #000;\n --bs-btn-disabled-border-color: #000;\n}\n\n.btn-outline-primary {\n --bs-btn-color: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #004445;\n --bs-btn-hover-border-color: #004445;\n --bs-btn-focus-shadow-rgb: 0, 68, 69;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #004445;\n --bs-btn-active-border-color: #004445;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #004445;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #004445;\n --bs-gradient: none;\n}\n\n.btn-outline-secondary {\n --bs-btn-color: #e6e6e6;\n --bs-btn-border-color: #e6e6e6;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #e6e6e6;\n --bs-btn-hover-border-color: #e6e6e6;\n --bs-btn-focus-shadow-rgb: 230, 230, 230;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #e6e6e6;\n --bs-btn-active-border-color: #e6e6e6;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #e6e6e6;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #e6e6e6;\n --bs-gradient: none;\n}\n\n.btn-outline-success {\n --bs-btn-color: #9fd5b3;\n --bs-btn-border-color: #9fd5b3;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #9fd5b3;\n --bs-btn-hover-border-color: #9fd5b3;\n --bs-btn-focus-shadow-rgb: 159, 213, 179;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #9fd5b3;\n --bs-btn-active-border-color: #9fd5b3;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #9fd5b3;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #9fd5b3;\n --bs-gradient: none;\n}\n\n.btn-outline-info {\n --bs-btn-color: #004445;\n --bs-btn-border-color: #004445;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #004445;\n --bs-btn-hover-border-color: #004445;\n --bs-btn-focus-shadow-rgb: 0, 68, 69;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #004445;\n --bs-btn-active-border-color: #004445;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #004445;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #004445;\n --bs-gradient: none;\n}\n\n.btn-outline-warning {\n --bs-btn-color: #feb70d;\n --bs-btn-border-color: #feb70d;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #feb70d;\n --bs-btn-hover-border-color: #feb70d;\n --bs-btn-focus-shadow-rgb: 254, 183, 13;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #feb70d;\n --bs-btn-active-border-color: #feb70d;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #feb70d;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #feb70d;\n --bs-gradient: none;\n}\n\n.btn-outline-danger {\n --bs-btn-color: #b3393b;\n --bs-btn-border-color: #b3393b;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #b3393b;\n --bs-btn-hover-border-color: #b3393b;\n --bs-btn-focus-shadow-rgb: 179, 57, 59;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #b3393b;\n --bs-btn-active-border-color: #b3393b;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #b3393b;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #b3393b;\n --bs-gradient: none;\n}\n\n.btn-outline-light {\n --bs-btn-color: #fff;\n --bs-btn-border-color: #fff;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #fff;\n --bs-btn-hover-border-color: #fff;\n --bs-btn-focus-shadow-rgb: 255, 255, 255;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #fff;\n --bs-btn-active-border-color: #fff;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #fff;\n --bs-gradient: none;\n}\n\n.btn-outline-dark {\n --bs-btn-color: #000;\n --bs-btn-border-color: #000;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #000;\n --bs-btn-hover-border-color: #000;\n --bs-btn-focus-shadow-rgb: 0, 0, 0;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #000;\n --bs-btn-active-border-color: #000;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #000;\n --bs-gradient: none;\n}\n\n.btn-link {\n --bs-btn-font-weight: 400;\n --bs-btn-color: var(--bs-link-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-color: transparent;\n --bs-btn-hover-color: var(--bs-link-hover-color);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-active-color: var(--bs-link-hover-color);\n --bs-btn-active-border-color: transparent;\n --bs-btn-disabled-color: #6c757d;\n --bs-btn-disabled-border-color: transparent;\n --bs-btn-box-shadow: 0 0 0 #000;\n --bs-btn-focus-shadow-rgb: 38, 96, 97;\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--bs-btn-color);\n}\n.btn-link:hover {\n color: var(--bs-btn-hover-color);\n}\n\n.btn-lg,\n.btn-group-lg > .btn {\n --bs-btn-padding-y: 0.5em;\n --bs-btn-padding-x: 1em;\n --bs-btn-font-size: 1.25em;\n --bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n.btn-sm,\n.btn-group-sm > .btn {\n --bs-btn-padding-y: 0.25em;\n --bs-btn-padding-x: 0.5em;\n --bs-btn-font-size: 0.875em;\n --bs-btn-border-radius: var(--bs-border-radius-sm);\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n --bs-dropdown-zindex: 1000;\n --bs-dropdown-min-width: 10em;\n --bs-dropdown-padding-x: 0;\n --bs-dropdown-padding-y: 0.5em;\n --bs-dropdown-spacer: 0.125em;\n --bs-dropdown-font-size: 1em;\n --bs-dropdown-color: var(--bs-body-color);\n --bs-dropdown-bg: var(--bs-body-bg);\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\n --bs-dropdown-border-radius: var(--bs-border-radius);\n --bs-dropdown-border-width: var(--bs-border-width);\n --bs-dropdown-inner-border-radius: calc(\n var(--bs-border-radius) - var(--bs-border-width)\n );\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n --bs-dropdown-divider-margin-y: 0.5em;\n --bs-dropdown-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-dropdown-link-color: var(--bs-body-color);\n --bs-dropdown-link-hover-color: var(--bs-body-color);\n --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #004445;\n --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n --bs-dropdown-item-padding-x: 1em;\n --bs-dropdown-item-padding-y: 0.25em;\n --bs-dropdown-header-color: #6c757d;\n --bs-dropdown-header-padding-x: 1em;\n --bs-dropdown-header-padding-y: 0.5em;\n position: absolute;\n z-index: var(--bs-dropdown-zindex);\n display: none;\n min-width: var(--bs-dropdown-min-width);\n padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n margin: 0;\n font-size: var(--bs-dropdown-font-size);\n color: var(--bs-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--bs-dropdown-bg);\n background-clip: padding-box;\n border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n border-radius: var(--bs-dropdown-border-radius);\n}\n.dropdown-menu[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --bs-position: start;\n }\n .dropdown-menu-sm-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --bs-position: end;\n }\n .dropdown-menu-sm-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --bs-position: start;\n }\n .dropdown-menu-md-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --bs-position: end;\n }\n .dropdown-menu-md-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --bs-position: start;\n }\n .dropdown-menu-lg-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --bs-position: end;\n }\n .dropdown-menu-lg-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --bs-position: start;\n }\n .dropdown-menu-xl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --bs-position: end;\n }\n .dropdown-menu-xl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --bs-position: start;\n }\n .dropdown-menu-xxl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --bs-position: end;\n }\n .dropdown-menu-xxl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--bs-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--bs-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--bs-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: '';\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: '';\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--bs-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--bs-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--bs-dropdown-link-color);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n border-radius: var(--bs-dropdown-item-border-radius, 0);\n}\n.dropdown-item:hover,\n.dropdown-item:focus {\n color: var(--bs-dropdown-link-hover-color);\n background-color: var(--bs-dropdown-link-hover-bg);\n}\n.dropdown-item.active,\n.dropdown-item:active {\n color: var(--bs-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--bs-dropdown-link-active-bg);\n}\n.dropdown-item.disabled,\n.dropdown-item:disabled {\n color: var(--bs-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--bs-dropdown-header-padding-y)\n var(--bs-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.875em;\n color: var(--bs-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n color: var(--bs-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --bs-dropdown-color: #dee2e6;\n --bs-dropdown-bg: #343a40;\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\n --bs-dropdown-box-shadow: ;\n --bs-dropdown-link-color: #dee2e6;\n --bs-dropdown-link-hover-color: #fff;\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #004445;\n --bs-dropdown-link-disabled-color: #adb5bd;\n --bs-dropdown-header-color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: var(--bs-border-radius);\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n + 3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625em;\n padding-left: 0.5625em;\n}\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split,\n.btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375em;\n padding-left: 0.375em;\n}\n\n.btn-lg + .dropdown-toggle-split,\n.btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75em;\n padding-left: 0.75em;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(var(--bs-border-width) * -1);\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --bs-nav-link-padding-x: 1em;\n --bs-nav-link-padding-y: 0.5em;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-link-color);\n --bs-nav-link-hover-color: var(--bs-link-hover-color);\n --bs-nav-link-disabled-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n color: var(--bs-nav-link-color);\n text-decoration: none;\n background: none;\n border: 0;\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover,\n.nav-link:focus {\n color: var(--bs-nav-link-hover-color);\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n}\n.nav-link.disabled {\n color: var(--bs-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --bs-nav-tabs-border-width: var(--bs-border-width);\n --bs-nav-tabs-border-color: var(--bs-border-color);\n --bs-nav-tabs-border-radius: var(--bs-border-radius);\n --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg)\n var(--bs-secondary-bg) var(--bs-border-color);\n --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n --bs-nav-tabs-link-active-bg: var(--bs-body-bg);\n --bs-nav-tabs-link-active-border-color: var(--bs-border-color)\n var(--bs-border-color) var(--bs-body-bg);\n border-bottom: var(--bs-nav-tabs-border-width) solid\n var(--bs-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n border: var(--bs-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--bs-nav-tabs-border-radius);\n border-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover,\n.nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.disabled,\n.nav-tabs .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--bs-nav-tabs-link-active-color);\n background-color: var(--bs-nav-tabs-link-active-bg);\n border-color: var(--bs-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --bs-nav-pills-border-radius: var(--bs-border-radius);\n --bs-nav-pills-link-active-color: #fff;\n --bs-nav-pills-link-active-bg: #004445;\n}\n.nav-pills .nav-link {\n border-radius: var(--bs-nav-pills-border-radius);\n}\n.nav-pills .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--bs-nav-pills-link-active-color);\n background-color: var(--bs-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --bs-nav-underline-gap: 1em;\n --bs-nav-underline-border-width: 0.125em;\n --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n gap: var(--bs-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover,\n.nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--bs-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --bs-navbar-padding-x: 0;\n --bs-navbar-padding-y: 0.5em;\n --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);\n --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);\n --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);\n --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-padding-y: 0.3125em;\n --bs-navbar-brand-margin-end: 1em;\n --bs-navbar-brand-font-size: 1.25em;\n --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-nav-link-padding-x: 0.5em;\n --bs-navbar-toggler-padding-y: 0.25em;\n --bs-navbar-toggler-padding-x: 0.75em;\n --bs-navbar-toggler-font-size: 1.25em;\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n --bs-navbar-toggler-focus-width: 0.25em;\n --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--bs-navbar-brand-padding-y);\n padding-bottom: var(--bs-navbar-brand-padding-y);\n margin-right: var(--bs-navbar-brand-margin-end);\n font-size: var(--bs-navbar-brand-font-size);\n color: var(--bs-navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n color: var(--bs-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n --bs-nav-link-padding-x: 0;\n --bs-nav-link-padding-y: 0.5em;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-navbar-color);\n --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link.active,\n.navbar-nav .nav-link.show {\n color: var(--bs-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5em;\n padding-bottom: 0.5em;\n color: var(--bs-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n font-size: var(--bs-navbar-toggler-font-size);\n line-height: 1;\n color: var(--bs-navbar-color);\n background-color: transparent;\n border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n border-radius: var(--bs-navbar-toggler-border-radius);\n transition: var(--bs-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--bs-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--bs-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark {\n --bs-navbar-color: rgba(255, 255, 255, 0.55);\n --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n --bs-navbar-active-color: #fff;\n --bs-navbar-brand-color: #fff;\n --bs-navbar-brand-hover-color: #fff;\n --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme='dark'] .navbar-toggler-icon {\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n --bs-card-spacer-y: 1em;\n --bs-card-spacer-x: 1em;\n --bs-card-title-spacer-y: 0.5em;\n --bs-card-title-color: ;\n --bs-card-subtitle-color: ;\n --bs-card-border-width: var(--bs-border-width);\n --bs-card-border-color: var(--bs-border-color-translucent);\n --bs-card-border-radius: var(--bs-border-radius);\n --bs-card-box-shadow: ;\n --bs-card-inner-border-radius: calc(\n var(--bs-border-radius) - (var(--bs-border-width))\n );\n --bs-card-cap-padding-y: 0.5em;\n --bs-card-cap-padding-x: 1em;\n --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n --bs-card-cap-color: ;\n --bs-card-height: ;\n --bs-card-color: ;\n --bs-card-bg: var(--bs-body-bg);\n --bs-card-img-overlay-padding: 1em;\n --bs-card-group-margin: 0.75em;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--bs-card-height);\n color: var(--bs-body-color);\n word-wrap: break-word;\n background-color: var(--bs-card-bg);\n background-clip: border-box;\n border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n border-radius: var(--bs-card-border-radius);\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n color: var(--bs-card-color);\n}\n\n.card-title {\n margin-bottom: var(--bs-card-title-spacer-y);\n color: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n margin-bottom: 0;\n color: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link + .card-link {\n margin-left: var(--bs-card-spacer-x);\n}\n\n.card-header {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--bs-card-inner-border-radius)\n var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--bs-card-inner-border-radius)\n var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--bs-card-bg);\n border-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--bs-card-img-overlay-padding);\n border-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--bs-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n --bs-accordion-color: var(--bs-body-color);\n --bs-accordion-bg: var(--bs-body-bg);\n --bs-accordion-transition: color 0.15s ease-in-out,\n background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out, border-radius 0.15s ease;\n --bs-accordion-border-color: var(--bs-border-color);\n --bs-accordion-border-width: var(--bs-border-width);\n --bs-accordion-border-radius: var(--bs-border-radius);\n --bs-accordion-inner-border-radius: calc(\n var(--bs-border-radius) - (var(--bs-border-width))\n );\n --bs-accordion-btn-padding-x: 1.25em;\n --bs-accordion-btn-padding-y: 1em;\n --bs-accordion-btn-color: var(--bs-body-color);\n --bs-accordion-btn-bg: var(--bs-accordion-bg);\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-icon-width: 1.25em;\n --bs-accordion-btn-icon-transform: rotate(-180deg);\n --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23001b1c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-focus-border-color: #80a2a2;\n --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n --bs-accordion-body-padding-x: 1.25em;\n --bs-accordion-body-padding-y: 1em;\n --bs-accordion-active-color: var(--bs-primary-text-emphasis);\n --bs-accordion-active-bg: var(--bs-primary-bg-subtle);\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n font-size: 1em;\n color: var(--bs-accordion-btn-color);\n text-align: left;\n background-color: var(--bs-accordion-btn-bg);\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: var(--bs-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: var(--bs-accordion-active-color);\n background-color: var(--bs-accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0\n var(--bs-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: var(--bs-accordion-btn-active-icon);\n transform: var(--bs-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: var(--bs-accordion-btn-icon-width);\n height: var(--bs-accordion-btn-icon-width);\n margin-left: auto;\n content: '';\n background-image: var(--bs-accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--bs-accordion-btn-icon-width);\n transition: var(--bs-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: var(--bs-accordion-btn-focus-border-color);\n outline: 0;\n box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--bs-accordion-color);\n background-color: var(--bs-accordion-bg);\n border: var(--bs-accordion-border-width) solid\n var(--bs-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--bs-accordion-border-radius);\n border-top-right-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: var(--bs-accordion-inner-border-radius);\n border-top-right-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n border-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush .accordion-item .accordion-button,\n.accordion-flush .accordion-item .accordion-button.collapsed {\n border-radius: 0;\n}\n\n[data-bs-theme='dark'] .accordion-button::after {\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23668f8f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23668f8f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.breadcrumb {\n --bs-breadcrumb-padding-x: 0;\n --bs-breadcrumb-padding-y: 0;\n --bs-breadcrumb-margin-bottom: 1em;\n --bs-breadcrumb-bg: ;\n --bs-breadcrumb-border-radius: ;\n --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n --bs-breadcrumb-item-padding-x: 0.5em;\n --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n margin-bottom: var(--bs-breadcrumb-margin-bottom);\n font-size: var(--bs-breadcrumb-font-size);\n list-style: none;\n background-color: var(--bs-breadcrumb-bg);\n border-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: var(--bs-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: var(--bs-breadcrumb-item-padding-x);\n color: var(--bs-breadcrumb-divider-color);\n content: var(--bs-breadcrumb-divider, '/')\n /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n.breadcrumb-item.active {\n color: var(--bs-breadcrumb-item-active-color);\n}\n\n.pagination {\n --bs-pagination-padding-x: 0.75em;\n --bs-pagination-padding-y: 0.375em;\n --bs-pagination-font-size: 1em;\n --bs-pagination-color: var(--bs-link-color);\n --bs-pagination-bg: var(--bs-body-bg);\n --bs-pagination-border-width: var(--bs-border-width);\n --bs-pagination-border-color: var(--bs-border-color);\n --bs-pagination-border-radius: var(--bs-border-radius);\n --bs-pagination-hover-color: var(--bs-link-hover-color);\n --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n --bs-pagination-hover-border-color: var(--bs-border-color);\n --bs-pagination-focus-color: var(--bs-link-hover-color);\n --bs-pagination-focus-bg: var(--bs-secondary-bg);\n --bs-pagination-focus-box-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n --bs-pagination-active-color: #fff;\n --bs-pagination-active-bg: #004445;\n --bs-pagination-active-border-color: #004445;\n --bs-pagination-disabled-color: var(--bs-secondary-color);\n --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n --bs-pagination-disabled-border-color: var(--bs-border-color);\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n font-size: var(--bs-pagination-font-size);\n color: var(--bs-pagination-color);\n text-decoration: none;\n background-color: var(--bs-pagination-bg);\n border: var(--bs-pagination-border-width) solid\n var(--bs-pagination-border-color);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--bs-pagination-hover-color);\n background-color: var(--bs-pagination-hover-bg);\n border-color: var(--bs-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--bs-pagination-focus-color);\n background-color: var(--bs-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--bs-pagination-focus-box-shadow);\n}\n.page-link.active,\n.active > .page-link {\n z-index: 3;\n color: var(--bs-pagination-active-color);\n background-color: var(--bs-pagination-active-bg);\n border-color: var(--bs-pagination-active-border-color);\n}\n.page-link.disabled,\n.disabled > .page-link {\n color: var(--bs-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--bs-pagination-disabled-bg);\n border-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.page-item:first-child .page-link {\n border-top-left-radius: var(--bs-pagination-border-radius);\n border-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n border-top-right-radius: var(--bs-pagination-border-radius);\n border-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n --bs-pagination-padding-x: 1.5em;\n --bs-pagination-padding-y: 0.75em;\n --bs-pagination-font-size: 1.25em;\n --bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n --bs-pagination-padding-x: 0.5em;\n --bs-pagination-padding-y: 0.25em;\n --bs-pagination-font-size: 0.875em;\n --bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n.badge {\n --bs-badge-padding-x: 0.65em;\n --bs-badge-padding-y: 0.35em;\n --bs-badge-font-size: 0.75em;\n --bs-badge-font-weight: 700;\n --bs-badge-color: #fff;\n --bs-badge-border-radius: var(--bs-border-radius);\n display: inline-block;\n padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n font-size: var(--bs-badge-font-size);\n font-weight: var(--bs-badge-font-weight);\n line-height: 1;\n color: var(--bs-badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--bs-badge-border-radius);\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n --bs-alert-bg: transparent;\n --bs-alert-padding-x: 1em;\n --bs-alert-padding-y: 1em;\n --bs-alert-margin-bottom: 1em;\n --bs-alert-color: inherit;\n --bs-alert-border-color: transparent;\n --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n --bs-alert-border-radius: var(--bs-border-radius);\n --bs-alert-link-color: inherit;\n position: relative;\n padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n margin-bottom: var(--bs-alert-margin-bottom);\n color: var(--bs-alert-color);\n background-color: var(--bs-alert-bg);\n border: var(--bs-alert-border);\n border-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n color: var(--bs-alert-link-color);\n}\n\n.alert-dismissible {\n padding-right: 3em;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25em 1em;\n}\n\n.alert-primary {\n --bs-alert-color: var(--bs-primary-text-emphasis);\n --bs-alert-bg: var(--bs-primary-bg-subtle);\n --bs-alert-border-color: var(--bs-primary-border-subtle);\n --bs-alert-link-color: var(--bs-primary-text-emphasis);\n}\n\n.alert-secondary {\n --bs-alert-color: var(--bs-secondary-text-emphasis);\n --bs-alert-bg: var(--bs-secondary-bg-subtle);\n --bs-alert-border-color: var(--bs-secondary-border-subtle);\n --bs-alert-link-color: var(--bs-secondary-text-emphasis);\n}\n\n.alert-success {\n --bs-alert-color: var(--bs-success-text-emphasis);\n --bs-alert-bg: var(--bs-success-bg-subtle);\n --bs-alert-border-color: var(--bs-success-border-subtle);\n --bs-alert-link-color: var(--bs-success-text-emphasis);\n}\n\n.alert-info {\n --bs-alert-color: var(--bs-info-text-emphasis);\n --bs-alert-bg: var(--bs-info-bg-subtle);\n --bs-alert-border-color: var(--bs-info-border-subtle);\n --bs-alert-link-color: var(--bs-info-text-emphasis);\n}\n\n.alert-warning {\n --bs-alert-color: var(--bs-warning-text-emphasis);\n --bs-alert-bg: var(--bs-warning-bg-subtle);\n --bs-alert-border-color: var(--bs-warning-border-subtle);\n --bs-alert-link-color: var(--bs-warning-text-emphasis);\n}\n\n.alert-danger {\n --bs-alert-color: var(--bs-danger-text-emphasis);\n --bs-alert-bg: var(--bs-danger-bg-subtle);\n --bs-alert-border-color: var(--bs-danger-border-subtle);\n --bs-alert-link-color: var(--bs-danger-text-emphasis);\n}\n\n.alert-light {\n --bs-alert-color: var(--bs-light-text-emphasis);\n --bs-alert-bg: var(--bs-light-bg-subtle);\n --bs-alert-border-color: var(--bs-light-border-subtle);\n --bs-alert-link-color: var(--bs-light-text-emphasis);\n}\n\n.alert-dark {\n --bs-alert-color: var(--bs-dark-text-emphasis);\n --bs-alert-bg: var(--bs-dark-bg-subtle);\n --bs-alert-border-color: var(--bs-dark-border-subtle);\n --bs-alert-link-color: var(--bs-dark-text-emphasis);\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1em;\n }\n}\n.progress,\n.progress-stacked {\n --bs-progress-height: 1em;\n --bs-progress-font-size: 0.75em;\n --bs-progress-bg: var(--bs-secondary-bg);\n --bs-progress-border-radius: var(--bs-border-radius);\n --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n --bs-progress-bar-color: #fff;\n --bs-progress-bar-bg: #004445;\n --bs-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--bs-progress-height);\n overflow: hidden;\n font-size: var(--bs-progress-font-size);\n background-color: var(--bs-progress-bg);\n border-radius: var(--bs-progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--bs-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-progress-bar-bg);\n transition: var(--bs-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: var(--bs-progress-height) var(--bs-progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n --bs-list-group-color: var(--bs-body-color);\n --bs-list-group-bg: var(--bs-body-bg);\n --bs-list-group-border-color: var(--bs-border-color);\n --bs-list-group-border-width: var(--bs-border-width);\n --bs-list-group-border-radius: var(--bs-border-radius);\n --bs-list-group-item-padding-x: 1em;\n --bs-list-group-item-padding-y: 0.5em;\n --bs-list-group-action-color: var(--bs-secondary-color);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n --bs-list-group-action-active-color: var(--bs-body-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n --bs-list-group-disabled-color: var(--bs-secondary-color);\n --bs-list-group-disabled-bg: var(--bs-body-bg);\n --bs-list-group-active-color: #fff;\n --bs-list-group-active-bg: #004445;\n --bs-list-group-active-border-color: #004445;\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: var(--bs-list-group-border-radius);\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, '.') '. ';\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--bs-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:hover,\n.list-group-item-action:focus {\n z-index: 1;\n color: var(--bs-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--bs-list-group-action-hover-bg);\n}\n.list-group-item-action:active {\n color: var(--bs-list-group-action-active-color);\n background-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--bs-list-group-item-padding-y)\n var(--bs-list-group-item-padding-x);\n color: var(--bs-list-group-color);\n text-decoration: none;\n background-color: var(--bs-list-group-bg);\n border: var(--bs-list-group-border-width) solid\n var(--bs-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled,\n.list-group-item:disabled {\n color: var(--bs-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--bs-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--bs-list-group-active-color);\n background-color: var(--bs-list-group-active-bg);\n border-color: var(--bs-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--bs-list-group-border-width));\n border-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--bs-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --bs-list-group-color: var(--bs-primary-text-emphasis);\n --bs-list-group-bg: var(--bs-primary-bg-subtle);\n --bs-list-group-border-color: var(--bs-primary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);\n --bs-list-group-active-color: var(--bs-primary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-primary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n --bs-list-group-color: var(--bs-secondary-text-emphasis);\n --bs-list-group-bg: var(--bs-secondary-bg-subtle);\n --bs-list-group-border-color: var(--bs-secondary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-active-color: var(--bs-secondary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n --bs-list-group-color: var(--bs-success-text-emphasis);\n --bs-list-group-bg: var(--bs-success-bg-subtle);\n --bs-list-group-border-color: var(--bs-success-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-success-border-subtle);\n --bs-list-group-active-color: var(--bs-success-bg-subtle);\n --bs-list-group-active-bg: var(--bs-success-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-success-text-emphasis);\n}\n\n.list-group-item-info {\n --bs-list-group-color: var(--bs-info-text-emphasis);\n --bs-list-group-bg: var(--bs-info-bg-subtle);\n --bs-list-group-border-color: var(--bs-info-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-info-border-subtle);\n --bs-list-group-active-color: var(--bs-info-bg-subtle);\n --bs-list-group-active-bg: var(--bs-info-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-info-text-emphasis);\n}\n\n.list-group-item-warning {\n --bs-list-group-color: var(--bs-warning-text-emphasis);\n --bs-list-group-bg: var(--bs-warning-bg-subtle);\n --bs-list-group-border-color: var(--bs-warning-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);\n --bs-list-group-active-color: var(--bs-warning-bg-subtle);\n --bs-list-group-active-bg: var(--bs-warning-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n --bs-list-group-color: var(--bs-danger-text-emphasis);\n --bs-list-group-bg: var(--bs-danger-bg-subtle);\n --bs-list-group-border-color: var(--bs-danger-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);\n --bs-list-group-active-color: var(--bs-danger-bg-subtle);\n --bs-list-group-active-bg: var(--bs-danger-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);\n}\n\n.list-group-item-light {\n --bs-list-group-color: var(--bs-light-text-emphasis);\n --bs-list-group-bg: var(--bs-light-bg-subtle);\n --bs-list-group-border-color: var(--bs-light-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-light-border-subtle);\n --bs-list-group-active-color: var(--bs-light-bg-subtle);\n --bs-list-group-active-bg: var(--bs-light-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-light-text-emphasis);\n}\n\n.list-group-item-dark {\n --bs-list-group-color: var(--bs-dark-text-emphasis);\n --bs-list-group-bg: var(--bs-dark-bg-subtle);\n --bs-list-group-border-color: var(--bs-dark-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);\n --bs-list-group-active-color: var(--bs-dark-bg-subtle);\n --bs-list-group-active-bg: var(--bs-dark-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);\n}\n\n.btn-close {\n --bs-btn-close-color: #000;\n --bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");\n --bs-btn-close-opacity: 0.5;\n --bs-btn-close-hover-opacity: 0.75;\n --bs-btn-close-focus-shadow: 0 0 0 0.25em rgba(0, 68, 69, 0.25);\n --bs-btn-close-focus-opacity: 1;\n --bs-btn-close-disabled-opacity: 0.25;\n --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: var(--bs-btn-close-color);\n background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n border: 0;\n border-radius: 0;\n opacity: var(--bs-btn-close-opacity);\n}\n.btn-close:hover {\n color: var(--bs-btn-close-color);\n text-decoration: none;\n opacity: var(--bs-btn-close-hover-opacity);\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: var(--bs-btn-close-focus-shadow);\n opacity: var(--bs-btn-close-focus-opacity);\n}\n.btn-close:disabled,\n.btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--bs-btn-close-disabled-opacity);\n}\n\n.btn-close-white {\n filter: var(--bs-btn-close-white-filter);\n}\n\n[data-bs-theme='dark'] .btn-close {\n filter: var(--bs-btn-close-white-filter);\n}\n\n.toast {\n --bs-toast-zindex: 1090;\n --bs-toast-padding-x: 0.75em;\n --bs-toast-padding-y: 0.5em;\n --bs-toast-spacing: 1.5em;\n --bs-toast-max-width: 350px;\n --bs-toast-font-size: 0.875em;\n --bs-toast-color: ;\n --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-border-width: var(--bs-border-width);\n --bs-toast-border-color: var(--bs-border-color-translucent);\n --bs-toast-border-radius: var(--bs-border-radius);\n --bs-toast-box-shadow: var(--bs-box-shadow);\n --bs-toast-header-color: var(--bs-secondary-color);\n --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-header-border-color: var(--bs-border-color-translucent);\n width: var(--bs-toast-max-width);\n max-width: 100%;\n font-size: var(--bs-toast-font-size);\n color: var(--bs-toast-color);\n pointer-events: auto;\n background-color: var(--bs-toast-bg);\n background-clip: padding-box;\n border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n box-shadow: var(--bs-toast-box-shadow);\n border-radius: var(--bs-toast-border-radius);\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --bs-toast-zindex: 1090;\n position: absolute;\n z-index: var(--bs-toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--bs-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n color: var(--bs-toast-header-color);\n background-color: var(--bs-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--bs-toast-border-width) solid\n var(--bs-toast-header-border-color);\n border-top-left-radius: calc(\n var(--bs-toast-border-radius) - var(--bs-toast-border-width)\n );\n border-top-right-radius: calc(\n var(--bs-toast-border-radius) - var(--bs-toast-border-width)\n );\n}\n.toast-header .btn-close {\n margin-right: calc(-0.5 * var(--bs-toast-padding-x));\n margin-left: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--bs-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --bs-modal-zindex: 1055;\n --bs-modal-width: 500px;\n --bs-modal-padding: 1em;\n --bs-modal-margin: 0.5em;\n --bs-modal-color: ;\n --bs-modal-bg: var(--bs-body-bg);\n --bs-modal-border-color: var(--bs-border-color-translucent);\n --bs-modal-border-width: var(--bs-border-width);\n --bs-modal-border-radius: var(--bs-border-radius-lg);\n --bs-modal-box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-modal-inner-border-radius: calc(\n var(--bs-border-radius-lg) - (var(--bs-border-width))\n );\n --bs-modal-header-padding-x: 1em;\n --bs-modal-header-padding-y: 1em;\n --bs-modal-header-padding: 1em 1em;\n --bs-modal-header-border-color: var(--bs-border-color);\n --bs-modal-header-border-width: var(--bs-border-width);\n --bs-modal-title-line-height: 1.5;\n --bs-modal-footer-gap: 0.5em;\n --bs-modal-footer-bg: ;\n --bs-modal-footer-border-color: var(--bs-border-color);\n --bs-modal-footer-border-width: var(--bs-border-width);\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--bs-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--bs-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--bs-modal-color);\n pointer-events: auto;\n background-color: var(--bs-modal-bg);\n background-clip: padding-box;\n border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n border-radius: var(--bs-modal-border-radius);\n outline: 0;\n}\n\n.modal-backdrop {\n --bs-backdrop-zindex: 1050;\n --bs-backdrop-bg: #000;\n --bs-backdrop-opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--bs-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-modal-header-padding);\n border-bottom: var(--bs-modal-header-border-width) solid\n var(--bs-modal-header-border-color);\n border-top-left-radius: var(--bs-modal-inner-border-radius);\n border-top-right-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--bs-modal-header-padding-y) * 0.5)\n calc(var(--bs-modal-header-padding-x) * 0.5);\n margin: calc(-0.5 * var(--bs-modal-header-padding-y))\n calc(-0.5 * var(--bs-modal-header-padding-x))\n calc(-0.5 * var(--bs-modal-header-padding-y)) auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);\n background-color: var(--bs-modal-footer-bg);\n border-top: var(--bs-modal-footer-border-width) solid\n var(--bs-modal-footer-border-color);\n border-bottom-right-radius: var(--bs-modal-inner-border-radius);\n border-bottom-left-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --bs-modal-margin: 1.75em;\n --bs-modal-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n }\n .modal-dialog {\n max-width: var(--bs-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --bs-modal-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --bs-modal-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --bs-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --bs-tooltip-zindex: 1080;\n --bs-tooltip-max-width: 200px;\n --bs-tooltip-padding-x: 0.5em;\n --bs-tooltip-padding-y: 0.25em;\n --bs-tooltip-margin: ;\n --bs-tooltip-font-size: 0.875em;\n --bs-tooltip-color: var(--bs-body-bg);\n --bs-tooltip-bg: var(--bs-emphasis-color);\n --bs-tooltip-border-radius: var(--bs-border-radius);\n --bs-tooltip-opacity: 0.9;\n --bs-tooltip-arrow-width: 0.8em;\n --bs-tooltip-arrow-height: 0.4em;\n z-index: var(--bs-tooltip-zindex);\n display: block;\n margin: var(--bs-tooltip-margin);\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--bs-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--bs-tooltip-arrow-width);\n height: var(--bs-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: '';\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow {\n bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--bs-tooltip-arrow-height)\n calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow {\n left: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5)\n var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow {\n top: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5)\n var(--bs-tooltip-arrow-height);\n border-bottom-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow {\n right: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0\n calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n border-left-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--bs-tooltip-max-width);\n padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n color: var(--bs-tooltip-color);\n text-align: center;\n background-color: var(--bs-tooltip-bg);\n border-radius: var(--bs-tooltip-border-radius);\n}\n\n.popover {\n --bs-popover-zindex: 1070;\n --bs-popover-max-width: 276px;\n --bs-popover-font-size: 0.875em;\n --bs-popover-bg: var(--bs-body-bg);\n --bs-popover-border-width: var(--bs-border-width);\n --bs-popover-border-color: var(--bs-border-color-translucent);\n --bs-popover-border-radius: var(--bs-border-radius-lg);\n --bs-popover-inner-border-radius: calc(\n var(--bs-border-radius-lg) - var(--bs-border-width)\n );\n --bs-popover-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-popover-header-padding-x: 1em;\n --bs-popover-header-padding-y: 0.5em;\n --bs-popover-header-font-size: 1em;\n --bs-popover-header-color: ;\n --bs-popover-header-bg: var(--bs-secondary-bg);\n --bs-popover-body-padding-x: 1em;\n --bs-popover-body-padding-y: 1em;\n --bs-popover-body-color: var(--bs-body-color);\n --bs-popover-arrow-width: 1em;\n --bs-popover-arrow-height: 0.5em;\n --bs-popover-arrow-border: var(--bs-popover-border-color);\n z-index: var(--bs-popover-zindex);\n display: block;\n max-width: var(--bs-popover-max-width);\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-popover-font-size);\n word-wrap: break-word;\n background-color: var(--bs-popover-bg);\n background-clip: padding-box;\n border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n border-radius: var(--bs-popover-border-radius);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--bs-popover-arrow-width);\n height: var(--bs-popover-arrow-height);\n}\n.popover .popover-arrow::before,\n.popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: '';\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow {\n bottom: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n}\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before,\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after {\n border-width: var(--bs-popover-arrow-height)\n calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after {\n bottom: var(--bs-popover-border-width);\n border-top-color: var(--bs-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow {\n left: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before,\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5)\n var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after {\n left: var(--bs-popover-border-width);\n border-right-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow {\n top: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n}\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before,\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after {\n border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5)\n var(--bs-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after {\n top: var(--bs-popover-border-width);\n border-bottom-color: var(--bs-popover-bg);\n}\n.bs-popover-bottom .popover-header::before,\n.bs-popover-auto[data-popper-placement^='bottom'] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--bs-popover-arrow-width);\n margin-left: calc(-0.5 * var(--bs-popover-arrow-width));\n content: '';\n border-bottom: var(--bs-popover-border-width) solid\n var(--bs-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow {\n right: calc(\n -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)\n );\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before,\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0\n calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after {\n right: var(--bs-popover-border-width);\n border-left-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--bs-popover-header-font-size);\n color: var(--bs-popover-header-color);\n background-color: var(--bs-popover-header-bg);\n border-bottom: var(--bs-popover-border-width) solid\n var(--bs-popover-border-color);\n border-top-left-radius: var(--bs-popover-inner-border-radius);\n border-top-right-radius: var(--bs-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n color: var(--bs-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: '';\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #fff;\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover,\n.carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2em;\n height: 2em;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1em;\n margin-left: 15%;\n}\n.carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25em;\n left: 15%;\n padding-top: 1.25em;\n padding-bottom: 1.25em;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n[data-bs-theme='dark'] .carousel .carousel-control-prev-icon,\n[data-bs-theme='dark'] .carousel .carousel-control-next-icon,\n[data-bs-theme='dark'].carousel .carousel-control-prev-icon,\n[data-bs-theme='dark'].carousel .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n[data-bs-theme='dark'] .carousel .carousel-indicators [data-bs-target],\n[data-bs-theme='dark'].carousel .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n[data-bs-theme='dark'] .carousel .carousel-caption,\n[data-bs-theme='dark'].carousel .carousel-caption {\n color: #000;\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--bs-spinner-width);\n height: var(--bs-spinner-height);\n vertical-align: var(--bs-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--bs-spinner-animation-speed) linear infinite\n var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --bs-spinner-width: 2em;\n --bs-spinner-height: 2em;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-border-width: 0.25em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-border;\n border: var(--bs-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --bs-spinner-width: 1em;\n --bs-spinner-height: 1em;\n --bs-spinner-border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --bs-spinner-width: 2em;\n --bs-spinner-height: 2em;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --bs-spinner-width: 1em;\n --bs-spinner-height: 1em;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --bs-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas,\n.offcanvas-xxl,\n.offcanvas-xl,\n.offcanvas-lg,\n.offcanvas-md,\n.offcanvas-sm {\n --bs-offcanvas-zindex: 1045;\n --bs-offcanvas-width: 400px;\n --bs-offcanvas-height: 30vh;\n --bs-offcanvas-padding-x: 1em;\n --bs-offcanvas-padding-y: 1em;\n --bs-offcanvas-color: var(--bs-body-color);\n --bs-offcanvas-bg: var(--bs-body-bg);\n --bs-offcanvas-border-width: var(--bs-border-width);\n --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n --bs-offcanvas-box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-offcanvas-transition: transform 0.3s ease-in-out;\n --bs-offcanvas-title-line-height: 1.5;\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-sm.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-sm.showing,\n .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing,\n .offcanvas-sm.hiding,\n .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-md.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-md.showing,\n .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing,\n .offcanvas-md.hiding,\n .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-lg.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-lg.showing,\n .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing,\n .offcanvas-lg.hiding,\n .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xl.showing,\n .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing,\n .offcanvas-xl.hiding,\n .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xxl.showing,\n .offcanvas-xxl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xxl.showing,\n .offcanvas-xxl.hiding,\n .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid\n var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing,\n.offcanvas.show:not(.hiding) {\n transform: none;\n}\n.offcanvas.showing,\n.offcanvas.hiding,\n.offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.5;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--bs-offcanvas-padding-y) * 0.5)\n calc(var(--bs-offcanvas-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));\n margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.5;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: '';\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.2;\n }\n}\n.placeholder-wave {\n mask-image: linear-gradient(\n 130deg,\n #000 55%,\n rgba(0, 0, 0, 0.8) 75%,\n #000 95%\n );\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: '';\n}\n\n.text-bg-primary {\n color: #fff !important;\n background-color: RGBA(0, 68, 69, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n color: #000 !important;\n background-color: RGBA(230, 230, 230, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n color: #000 !important;\n background-color: RGBA(159, 213, 179, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n color: #fff !important;\n background-color: RGBA(0, 68, 69, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n color: #000 !important;\n background-color: RGBA(254, 183, 13, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n color: #fff !important;\n background-color: RGBA(179, 57, 59, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n color: #000 !important;\n background-color: RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n color: #fff !important;\n background-color: RGBA(0, 0, 0, var(--bs-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n color: RGBA(var(--bs-primary-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-primary-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-primary:hover,\n.link-primary:focus {\n color: RGBA(0, 54, 55, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(0, 54, 55, var(--bs-link-underline-opacity, 1));\n}\n\n.link-secondary {\n color: RGBA(var(--bs-secondary-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-secondary-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-secondary:hover,\n.link-secondary:focus {\n color: RGBA(235, 235, 235, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 235,\n 235,\n 235,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-success {\n color: RGBA(var(--bs-success-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-success-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-success:hover,\n.link-success:focus {\n color: RGBA(178, 221, 194, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 178,\n 221,\n 194,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-info {\n color: RGBA(var(--bs-info-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-info-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-info:hover,\n.link-info:focus {\n color: RGBA(0, 54, 55, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(0, 54, 55, var(--bs-link-underline-opacity, 1));\n}\n\n.link-warning {\n color: RGBA(var(--bs-warning-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-warning-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-warning:hover,\n.link-warning:focus {\n color: RGBA(254, 197, 61, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 254,\n 197,\n 61,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-danger {\n color: RGBA(var(--bs-danger-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-danger-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-danger:hover,\n.link-danger:focus {\n color: RGBA(143, 46, 47, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(143, 46, 47, var(--bs-link-underline-opacity, 1));\n}\n\n.link-light {\n color: RGBA(var(--bs-light-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-light-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-light:hover,\n.link-light:focus {\n color: RGBA(255, 255, 255, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n 255,\n 255,\n 255,\n var(--bs-link-underline-opacity, 1)\n );\n}\n\n.link-dark {\n color: RGBA(var(--bs-dark-rgb, var(--bs-link-opacity, 1)));\n text-decoration-color: RGBA(\n var(--bs-dark-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-dark:hover,\n.link-dark:focus {\n color: RGBA(0, 0, 0, var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(0, 0, 0, var(--bs-link-underline-opacity, 1));\n}\n\n.link-body-emphasis {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1));\n text-decoration-color: RGBA(\n var(--bs-emphasis-color-rgb),\n var(--bs-link-underline-opacity, 1)\n );\n}\n.link-body-emphasis:hover,\n.link-body-emphasis:focus {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75));\n text-decoration-color: RGBA(\n var(--bs-emphasis-color-rgb),\n var(--bs-link-underline-opacity, 0.75)\n );\n}\n\n.focus-ring:focus {\n outline: 0;\n box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0)\n var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width)\n var(--bs-focus-ring-color);\n}\n\n.icon-link {\n display: inline-flex;\n gap: 0.375em;\n align-items: center;\n text-decoration-color: rgba(\n var(--bs-link-color-rgb),\n var(--bs-link-opacity, 0.5)\n );\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n}\n.icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n}\n@media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n}\n\n.icon-link-hover:hover > .bi,\n.icon-link-hover:focus-visible > .bi {\n transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--bs-aspect-ratio);\n content: '';\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n --bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n --bs-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: '';\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: 1px;\n min-height: 1em;\n background-color: currentcolor;\n opacity: 0.25;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.object-fit-contain {\n object-fit: contain !important;\n}\n\n.object-fit-cover {\n object-fit: cover !important;\n}\n\n.object-fit-fill {\n object-fit: fill !important;\n}\n\n.object-fit-scale {\n object-fit: scale-down !important;\n}\n\n.object-fit-none {\n object-fit: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1em 3em rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.focus-ring-primary {\n --bs-focus-ring-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-secondary {\n --bs-focus-ring-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-success {\n --bs-focus-ring-color: rgba(\n var(--bs-success-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-info {\n --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n --bs-focus-ring-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-danger {\n --bs-focus-ring-color: rgba(\n var(--bs-danger-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-light {\n --bs-focus-ring-color: rgba(\n var(--bs-light-rgb),\n var(--bs-focus-ring-opacity)\n );\n}\n\n.focus-ring-dark {\n --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-right: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-left: var(--bs-border-width) var(--bs-border-style)\n var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-secondary {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-success {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-success-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-info {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n --bs-border-opacity: 1;\n border-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-border-opacity)\n ) !important;\n}\n\n.border-danger {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n border-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n border-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n border-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n border-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n border-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n border-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n border-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n border-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.border-opacity-10 {\n --bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --bs-border-opacity: 1;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25em !important;\n}\n\n.m-2 {\n margin: 0.5em !important;\n}\n\n.m-3 {\n margin: 1em !important;\n}\n\n.m-4 {\n margin: 1.5em !important;\n}\n\n.m-5 {\n margin: 3em !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n}\n\n.mx-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n}\n\n.mx-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n}\n\n.mx-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n}\n\n.mx-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n}\n\n.my-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n}\n\n.my-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n}\n\n.my-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n}\n\n.my-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25em !important;\n}\n\n.mt-2 {\n margin-top: 0.5em !important;\n}\n\n.mt-3 {\n margin-top: 1em !important;\n}\n\n.mt-4 {\n margin-top: 1.5em !important;\n}\n\n.mt-5 {\n margin-top: 3em !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25em !important;\n}\n\n.me-2 {\n margin-right: 0.5em !important;\n}\n\n.me-3 {\n margin-right: 1em !important;\n}\n\n.me-4 {\n margin-right: 1.5em !important;\n}\n\n.me-5 {\n margin-right: 3em !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25em !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5em !important;\n}\n\n.mb-3 {\n margin-bottom: 1em !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5em !important;\n}\n\n.mb-5 {\n margin-bottom: 3em !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25em !important;\n}\n\n.ms-2 {\n margin-left: 0.5em !important;\n}\n\n.ms-3 {\n margin-left: 1em !important;\n}\n\n.ms-4 {\n margin-left: 1.5em !important;\n}\n\n.ms-5 {\n margin-left: 3em !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25em !important;\n}\n\n.p-2 {\n padding: 0.5em !important;\n}\n\n.p-3 {\n padding: 1em !important;\n}\n\n.p-4 {\n padding: 1.5em !important;\n}\n\n.p-5 {\n padding: 3em !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n}\n\n.px-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n}\n\n.px-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n}\n\n.px-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n}\n\n.px-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n}\n\n.py-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n}\n\n.py-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n}\n\n.py-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n}\n\n.py-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25em !important;\n}\n\n.pt-2 {\n padding-top: 0.5em !important;\n}\n\n.pt-3 {\n padding-top: 1em !important;\n}\n\n.pt-4 {\n padding-top: 1.5em !important;\n}\n\n.pt-5 {\n padding-top: 3em !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25em !important;\n}\n\n.pe-2 {\n padding-right: 0.5em !important;\n}\n\n.pe-3 {\n padding-right: 1em !important;\n}\n\n.pe-4 {\n padding-right: 1.5em !important;\n}\n\n.pe-5 {\n padding-right: 3em !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25em !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5em !important;\n}\n\n.pb-3 {\n padding-bottom: 1em !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5em !important;\n}\n\n.pb-5 {\n padding-bottom: 3em !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25em !important;\n}\n\n.ps-2 {\n padding-left: 0.5em !important;\n}\n\n.ps-3 {\n padding-left: 1em !important;\n}\n\n.ps-4 {\n padding-left: 1.5em !important;\n}\n\n.ps-5 {\n padding-left: 3em !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25em !important;\n}\n\n.gap-2 {\n gap: 0.5em !important;\n}\n\n.gap-3 {\n gap: 1em !important;\n}\n\n.gap-4 {\n gap: 1.5em !important;\n}\n\n.gap-5 {\n gap: 3em !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25em !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5em !important;\n}\n\n.row-gap-3 {\n row-gap: 1em !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5em !important;\n}\n\n.row-gap-5 {\n row-gap: 3em !important;\n}\n\n.column-gap-0 {\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n column-gap: 0.25em !important;\n}\n\n.column-gap-2 {\n column-gap: 0.5em !important;\n}\n\n.column-gap-3 {\n column-gap: 1em !important;\n}\n\n.column-gap-4 {\n column-gap: 1.5em !important;\n}\n\n.column-gap-5 {\n column-gap: 3em !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375em + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325em + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3em + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275em + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25em !important;\n}\n\n.fs-6 {\n font-size: 1em !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n --bs-text-opacity: 1;\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n --bs-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n --bs-text-opacity: 1;\n color: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n --bs-text-opacity: 1;\n color: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n --bs-text-opacity: 1;\n color: inherit !important;\n}\n\n.text-opacity-25 {\n --bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n color: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n color: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n color: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n color: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n color: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n color: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n color: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n color: var(--bs-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n --bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n --bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-secondary {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-success {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-success-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-info {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-info-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-warning {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-danger {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-danger-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-light {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-light-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline-dark {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-dark-rgb),\n var(--bs-link-underline-opacity)\n ) !important;\n}\n\n.link-underline {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(\n var(--bs-link-color-rgb),\n var(--bs-link-underline-opacity, 1)\n ) !important;\n}\n\n.link-underline-opacity-0 {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n --bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n --bs-link-underline-opacity: 1;\n}\n\n.bg-primary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-success {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-success-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-info {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-danger {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-body-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-transparent {\n --bs-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.bg-body-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-body-tertiary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-tertiary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.bg-opacity-10 {\n --bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n --bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n border-bottom-right-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n border-bottom-left-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n border-bottom-left-radius: 50% !important;\n border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.z-n1 {\n z-index: -1 !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n.li-bg-primary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-primary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-success {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-success-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-info {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-warning {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-warning-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-danger {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-light {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-dark {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-black {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-white {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.li-bg-body {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-body-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-transparent {\n --bs-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.li-bg-body-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-secondary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-body-tertiary {\n --bs-bg-opacity: 1;\n background-color: rgba(\n var(--bs-tertiary-bg-rgb),\n var(--bs-bg-opacity)\n ) !important;\n}\n\n.li-bg-primary-subtle {\n background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.li-bg-secondary-subtle {\n background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.li-bg-success-subtle {\n background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.li-bg-info-subtle {\n background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.li-bg-warning-subtle {\n background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.li-bg-danger-subtle {\n background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.li-bg-light-subtle {\n background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.li-bg-dark-subtle {\n background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n .float-sm-end {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .object-fit-sm-contain {\n object-fit: contain !important;\n }\n .object-fit-sm-cover {\n object-fit: cover !important;\n }\n .object-fit-sm-fill {\n object-fit: fill !important;\n }\n .object-fit-sm-scale {\n object-fit: scale-down !important;\n }\n .object-fit-sm-none {\n object-fit: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25em !important;\n }\n .m-sm-2 {\n margin: 0.5em !important;\n }\n .m-sm-3 {\n margin: 1em !important;\n }\n .m-sm-4 {\n margin: 1.5em !important;\n }\n .m-sm-5 {\n margin: 3em !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-sm-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-sm-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-sm-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-sm-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-sm-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-sm-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-sm-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-sm-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25em !important;\n }\n .mt-sm-2 {\n margin-top: 0.5em !important;\n }\n .mt-sm-3 {\n margin-top: 1em !important;\n }\n .mt-sm-4 {\n margin-top: 1.5em !important;\n }\n .mt-sm-5 {\n margin-top: 3em !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25em !important;\n }\n .me-sm-2 {\n margin-right: 0.5em !important;\n }\n .me-sm-3 {\n margin-right: 1em !important;\n }\n .me-sm-4 {\n margin-right: 1.5em !important;\n }\n .me-sm-5 {\n margin-right: 3em !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-sm-3 {\n margin-bottom: 1em !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-sm-5 {\n margin-bottom: 3em !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25em !important;\n }\n .ms-sm-2 {\n margin-left: 0.5em !important;\n }\n .ms-sm-3 {\n margin-left: 1em !important;\n }\n .ms-sm-4 {\n margin-left: 1.5em !important;\n }\n .ms-sm-5 {\n margin-left: 3em !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25em !important;\n }\n .p-sm-2 {\n padding: 0.5em !important;\n }\n .p-sm-3 {\n padding: 1em !important;\n }\n .p-sm-4 {\n padding: 1.5em !important;\n }\n .p-sm-5 {\n padding: 3em !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-sm-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-sm-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-sm-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-sm-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-sm-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-sm-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-sm-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-sm-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25em !important;\n }\n .pt-sm-2 {\n padding-top: 0.5em !important;\n }\n .pt-sm-3 {\n padding-top: 1em !important;\n }\n .pt-sm-4 {\n padding-top: 1.5em !important;\n }\n .pt-sm-5 {\n padding-top: 3em !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25em !important;\n }\n .pe-sm-2 {\n padding-right: 0.5em !important;\n }\n .pe-sm-3 {\n padding-right: 1em !important;\n }\n .pe-sm-4 {\n padding-right: 1.5em !important;\n }\n .pe-sm-5 {\n padding-right: 3em !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-sm-3 {\n padding-bottom: 1em !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-sm-5 {\n padding-bottom: 3em !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25em !important;\n }\n .ps-sm-2 {\n padding-left: 0.5em !important;\n }\n .ps-sm-3 {\n padding-left: 1em !important;\n }\n .ps-sm-4 {\n padding-left: 1.5em !important;\n }\n .ps-sm-5 {\n padding-left: 3em !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25em !important;\n }\n .gap-sm-2 {\n gap: 0.5em !important;\n }\n .gap-sm-3 {\n gap: 1em !important;\n }\n .gap-sm-4 {\n gap: 1.5em !important;\n }\n .gap-sm-5 {\n gap: 3em !important;\n }\n .row-gap-sm-0 {\n row-gap: 0 !important;\n }\n .row-gap-sm-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-sm-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-sm-3 {\n row-gap: 1em !important;\n }\n .row-gap-sm-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-sm-5 {\n row-gap: 3em !important;\n }\n .column-gap-sm-0 {\n column-gap: 0 !important;\n }\n .column-gap-sm-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-sm-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-sm-3 {\n column-gap: 1em !important;\n }\n .column-gap-sm-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-sm-5 {\n column-gap: 3em !important;\n }\n .text-sm-start {\n text-align: left !important;\n }\n .text-sm-end {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n .float-md-end {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .object-fit-md-contain {\n object-fit: contain !important;\n }\n .object-fit-md-cover {\n object-fit: cover !important;\n }\n .object-fit-md-fill {\n object-fit: fill !important;\n }\n .object-fit-md-scale {\n object-fit: scale-down !important;\n }\n .object-fit-md-none {\n object-fit: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25em !important;\n }\n .m-md-2 {\n margin: 0.5em !important;\n }\n .m-md-3 {\n margin: 1em !important;\n }\n .m-md-4 {\n margin: 1.5em !important;\n }\n .m-md-5 {\n margin: 3em !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-md-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-md-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-md-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-md-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-md-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-md-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-md-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-md-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25em !important;\n }\n .mt-md-2 {\n margin-top: 0.5em !important;\n }\n .mt-md-3 {\n margin-top: 1em !important;\n }\n .mt-md-4 {\n margin-top: 1.5em !important;\n }\n .mt-md-5 {\n margin-top: 3em !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25em !important;\n }\n .me-md-2 {\n margin-right: 0.5em !important;\n }\n .me-md-3 {\n margin-right: 1em !important;\n }\n .me-md-4 {\n margin-right: 1.5em !important;\n }\n .me-md-5 {\n margin-right: 3em !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-md-3 {\n margin-bottom: 1em !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-md-5 {\n margin-bottom: 3em !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25em !important;\n }\n .ms-md-2 {\n margin-left: 0.5em !important;\n }\n .ms-md-3 {\n margin-left: 1em !important;\n }\n .ms-md-4 {\n margin-left: 1.5em !important;\n }\n .ms-md-5 {\n margin-left: 3em !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25em !important;\n }\n .p-md-2 {\n padding: 0.5em !important;\n }\n .p-md-3 {\n padding: 1em !important;\n }\n .p-md-4 {\n padding: 1.5em !important;\n }\n .p-md-5 {\n padding: 3em !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-md-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-md-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-md-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-md-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-md-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-md-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-md-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-md-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25em !important;\n }\n .pt-md-2 {\n padding-top: 0.5em !important;\n }\n .pt-md-3 {\n padding-top: 1em !important;\n }\n .pt-md-4 {\n padding-top: 1.5em !important;\n }\n .pt-md-5 {\n padding-top: 3em !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25em !important;\n }\n .pe-md-2 {\n padding-right: 0.5em !important;\n }\n .pe-md-3 {\n padding-right: 1em !important;\n }\n .pe-md-4 {\n padding-right: 1.5em !important;\n }\n .pe-md-5 {\n padding-right: 3em !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-md-3 {\n padding-bottom: 1em !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-md-5 {\n padding-bottom: 3em !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25em !important;\n }\n .ps-md-2 {\n padding-left: 0.5em !important;\n }\n .ps-md-3 {\n padding-left: 1em !important;\n }\n .ps-md-4 {\n padding-left: 1.5em !important;\n }\n .ps-md-5 {\n padding-left: 3em !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25em !important;\n }\n .gap-md-2 {\n gap: 0.5em !important;\n }\n .gap-md-3 {\n gap: 1em !important;\n }\n .gap-md-4 {\n gap: 1.5em !important;\n }\n .gap-md-5 {\n gap: 3em !important;\n }\n .row-gap-md-0 {\n row-gap: 0 !important;\n }\n .row-gap-md-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-md-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-md-3 {\n row-gap: 1em !important;\n }\n .row-gap-md-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-md-5 {\n row-gap: 3em !important;\n }\n .column-gap-md-0 {\n column-gap: 0 !important;\n }\n .column-gap-md-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-md-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-md-3 {\n column-gap: 1em !important;\n }\n .column-gap-md-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-md-5 {\n column-gap: 3em !important;\n }\n .text-md-start {\n text-align: left !important;\n }\n .text-md-end {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n .float-lg-end {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .object-fit-lg-contain {\n object-fit: contain !important;\n }\n .object-fit-lg-cover {\n object-fit: cover !important;\n }\n .object-fit-lg-fill {\n object-fit: fill !important;\n }\n .object-fit-lg-scale {\n object-fit: scale-down !important;\n }\n .object-fit-lg-none {\n object-fit: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25em !important;\n }\n .m-lg-2 {\n margin: 0.5em !important;\n }\n .m-lg-3 {\n margin: 1em !important;\n }\n .m-lg-4 {\n margin: 1.5em !important;\n }\n .m-lg-5 {\n margin: 3em !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-lg-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-lg-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-lg-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-lg-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-lg-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-lg-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-lg-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-lg-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25em !important;\n }\n .mt-lg-2 {\n margin-top: 0.5em !important;\n }\n .mt-lg-3 {\n margin-top: 1em !important;\n }\n .mt-lg-4 {\n margin-top: 1.5em !important;\n }\n .mt-lg-5 {\n margin-top: 3em !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25em !important;\n }\n .me-lg-2 {\n margin-right: 0.5em !important;\n }\n .me-lg-3 {\n margin-right: 1em !important;\n }\n .me-lg-4 {\n margin-right: 1.5em !important;\n }\n .me-lg-5 {\n margin-right: 3em !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-lg-3 {\n margin-bottom: 1em !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-lg-5 {\n margin-bottom: 3em !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25em !important;\n }\n .ms-lg-2 {\n margin-left: 0.5em !important;\n }\n .ms-lg-3 {\n margin-left: 1em !important;\n }\n .ms-lg-4 {\n margin-left: 1.5em !important;\n }\n .ms-lg-5 {\n margin-left: 3em !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25em !important;\n }\n .p-lg-2 {\n padding: 0.5em !important;\n }\n .p-lg-3 {\n padding: 1em !important;\n }\n .p-lg-4 {\n padding: 1.5em !important;\n }\n .p-lg-5 {\n padding: 3em !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-lg-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-lg-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-lg-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-lg-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-lg-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-lg-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-lg-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-lg-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25em !important;\n }\n .pt-lg-2 {\n padding-top: 0.5em !important;\n }\n .pt-lg-3 {\n padding-top: 1em !important;\n }\n .pt-lg-4 {\n padding-top: 1.5em !important;\n }\n .pt-lg-5 {\n padding-top: 3em !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25em !important;\n }\n .pe-lg-2 {\n padding-right: 0.5em !important;\n }\n .pe-lg-3 {\n padding-right: 1em !important;\n }\n .pe-lg-4 {\n padding-right: 1.5em !important;\n }\n .pe-lg-5 {\n padding-right: 3em !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-lg-3 {\n padding-bottom: 1em !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-lg-5 {\n padding-bottom: 3em !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25em !important;\n }\n .ps-lg-2 {\n padding-left: 0.5em !important;\n }\n .ps-lg-3 {\n padding-left: 1em !important;\n }\n .ps-lg-4 {\n padding-left: 1.5em !important;\n }\n .ps-lg-5 {\n padding-left: 3em !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25em !important;\n }\n .gap-lg-2 {\n gap: 0.5em !important;\n }\n .gap-lg-3 {\n gap: 1em !important;\n }\n .gap-lg-4 {\n gap: 1.5em !important;\n }\n .gap-lg-5 {\n gap: 3em !important;\n }\n .row-gap-lg-0 {\n row-gap: 0 !important;\n }\n .row-gap-lg-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-lg-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-lg-3 {\n row-gap: 1em !important;\n }\n .row-gap-lg-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-lg-5 {\n row-gap: 3em !important;\n }\n .column-gap-lg-0 {\n column-gap: 0 !important;\n }\n .column-gap-lg-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-lg-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-lg-3 {\n column-gap: 1em !important;\n }\n .column-gap-lg-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-lg-5 {\n column-gap: 3em !important;\n }\n .text-lg-start {\n text-align: left !important;\n }\n .text-lg-end {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n .float-xl-end {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .object-fit-xl-contain {\n object-fit: contain !important;\n }\n .object-fit-xl-cover {\n object-fit: cover !important;\n }\n .object-fit-xl-fill {\n object-fit: fill !important;\n }\n .object-fit-xl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xl-none {\n object-fit: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25em !important;\n }\n .m-xl-2 {\n margin: 0.5em !important;\n }\n .m-xl-3 {\n margin: 1em !important;\n }\n .m-xl-4 {\n margin: 1.5em !important;\n }\n .m-xl-5 {\n margin: 3em !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-xl-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-xl-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-xl-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-xl-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-xl-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-xl-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-xl-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-xl-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25em !important;\n }\n .mt-xl-2 {\n margin-top: 0.5em !important;\n }\n .mt-xl-3 {\n margin-top: 1em !important;\n }\n .mt-xl-4 {\n margin-top: 1.5em !important;\n }\n .mt-xl-5 {\n margin-top: 3em !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25em !important;\n }\n .me-xl-2 {\n margin-right: 0.5em !important;\n }\n .me-xl-3 {\n margin-right: 1em !important;\n }\n .me-xl-4 {\n margin-right: 1.5em !important;\n }\n .me-xl-5 {\n margin-right: 3em !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-xl-3 {\n margin-bottom: 1em !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-xl-5 {\n margin-bottom: 3em !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25em !important;\n }\n .ms-xl-2 {\n margin-left: 0.5em !important;\n }\n .ms-xl-3 {\n margin-left: 1em !important;\n }\n .ms-xl-4 {\n margin-left: 1.5em !important;\n }\n .ms-xl-5 {\n margin-left: 3em !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25em !important;\n }\n .p-xl-2 {\n padding: 0.5em !important;\n }\n .p-xl-3 {\n padding: 1em !important;\n }\n .p-xl-4 {\n padding: 1.5em !important;\n }\n .p-xl-5 {\n padding: 3em !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-xl-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-xl-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-xl-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-xl-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-xl-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-xl-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-xl-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-xl-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25em !important;\n }\n .pt-xl-2 {\n padding-top: 0.5em !important;\n }\n .pt-xl-3 {\n padding-top: 1em !important;\n }\n .pt-xl-4 {\n padding-top: 1.5em !important;\n }\n .pt-xl-5 {\n padding-top: 3em !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25em !important;\n }\n .pe-xl-2 {\n padding-right: 0.5em !important;\n }\n .pe-xl-3 {\n padding-right: 1em !important;\n }\n .pe-xl-4 {\n padding-right: 1.5em !important;\n }\n .pe-xl-5 {\n padding-right: 3em !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-xl-3 {\n padding-bottom: 1em !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-xl-5 {\n padding-bottom: 3em !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25em !important;\n }\n .ps-xl-2 {\n padding-left: 0.5em !important;\n }\n .ps-xl-3 {\n padding-left: 1em !important;\n }\n .ps-xl-4 {\n padding-left: 1.5em !important;\n }\n .ps-xl-5 {\n padding-left: 3em !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25em !important;\n }\n .gap-xl-2 {\n gap: 0.5em !important;\n }\n .gap-xl-3 {\n gap: 1em !important;\n }\n .gap-xl-4 {\n gap: 1.5em !important;\n }\n .gap-xl-5 {\n gap: 3em !important;\n }\n .row-gap-xl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xl-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-xl-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-xl-3 {\n row-gap: 1em !important;\n }\n .row-gap-xl-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-xl-5 {\n row-gap: 3em !important;\n }\n .column-gap-xl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xl-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-xl-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-xl-3 {\n column-gap: 1em !important;\n }\n .column-gap-xl-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-xl-5 {\n column-gap: 3em !important;\n }\n .text-xl-start {\n text-align: left !important;\n }\n .text-xl-end {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n .float-xxl-end {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .object-fit-xxl-contain {\n object-fit: contain !important;\n }\n .object-fit-xxl-cover {\n object-fit: cover !important;\n }\n .object-fit-xxl-fill {\n object-fit: fill !important;\n }\n .object-fit-xxl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xxl-none {\n object-fit: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25em !important;\n }\n .m-xxl-2 {\n margin: 0.5em !important;\n }\n .m-xxl-3 {\n margin: 1em !important;\n }\n .m-xxl-4 {\n margin: 1.5em !important;\n }\n .m-xxl-5 {\n margin: 3em !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25em !important;\n margin-left: 0.25em !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5em !important;\n margin-left: 0.5em !important;\n }\n .mx-xxl-3 {\n margin-right: 1em !important;\n margin-left: 1em !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5em !important;\n margin-left: 1.5em !important;\n }\n .mx-xxl-5 {\n margin-right: 3em !important;\n margin-left: 3em !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25em !important;\n margin-bottom: 0.25em !important;\n }\n .my-xxl-2 {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n }\n .my-xxl-3 {\n margin-top: 1em !important;\n margin-bottom: 1em !important;\n }\n .my-xxl-4 {\n margin-top: 1.5em !important;\n margin-bottom: 1.5em !important;\n }\n .my-xxl-5 {\n margin-top: 3em !important;\n margin-bottom: 3em !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25em !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5em !important;\n }\n .mt-xxl-3 {\n margin-top: 1em !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5em !important;\n }\n .mt-xxl-5 {\n margin-top: 3em !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25em !important;\n }\n .me-xxl-2 {\n margin-right: 0.5em !important;\n }\n .me-xxl-3 {\n margin-right: 1em !important;\n }\n .me-xxl-4 {\n margin-right: 1.5em !important;\n }\n .me-xxl-5 {\n margin-right: 3em !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25em !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5em !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1em !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5em !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3em !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25em !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5em !important;\n }\n .ms-xxl-3 {\n margin-left: 1em !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5em !important;\n }\n .ms-xxl-5 {\n margin-left: 3em !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25em !important;\n }\n .p-xxl-2 {\n padding: 0.5em !important;\n }\n .p-xxl-3 {\n padding: 1em !important;\n }\n .p-xxl-4 {\n padding: 1.5em !important;\n }\n .p-xxl-5 {\n padding: 3em !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25em !important;\n padding-left: 0.25em !important;\n }\n .px-xxl-2 {\n padding-right: 0.5em !important;\n padding-left: 0.5em !important;\n }\n .px-xxl-3 {\n padding-right: 1em !important;\n padding-left: 1em !important;\n }\n .px-xxl-4 {\n padding-right: 1.5em !important;\n padding-left: 1.5em !important;\n }\n .px-xxl-5 {\n padding-right: 3em !important;\n padding-left: 3em !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25em !important;\n padding-bottom: 0.25em !important;\n }\n .py-xxl-2 {\n padding-top: 0.5em !important;\n padding-bottom: 0.5em !important;\n }\n .py-xxl-3 {\n padding-top: 1em !important;\n padding-bottom: 1em !important;\n }\n .py-xxl-4 {\n padding-top: 1.5em !important;\n padding-bottom: 1.5em !important;\n }\n .py-xxl-5 {\n padding-top: 3em !important;\n padding-bottom: 3em !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25em !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5em !important;\n }\n .pt-xxl-3 {\n padding-top: 1em !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5em !important;\n }\n .pt-xxl-5 {\n padding-top: 3em !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25em !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5em !important;\n }\n .pe-xxl-3 {\n padding-right: 1em !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5em !important;\n }\n .pe-xxl-5 {\n padding-right: 3em !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25em !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5em !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1em !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5em !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3em !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25em !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5em !important;\n }\n .ps-xxl-3 {\n padding-left: 1em !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5em !important;\n }\n .ps-xxl-5 {\n padding-left: 3em !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25em !important;\n }\n .gap-xxl-2 {\n gap: 0.5em !important;\n }\n .gap-xxl-3 {\n gap: 1em !important;\n }\n .gap-xxl-4 {\n gap: 1.5em !important;\n }\n .gap-xxl-5 {\n gap: 3em !important;\n }\n .row-gap-xxl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xxl-1 {\n row-gap: 0.25em !important;\n }\n .row-gap-xxl-2 {\n row-gap: 0.5em !important;\n }\n .row-gap-xxl-3 {\n row-gap: 1em !important;\n }\n .row-gap-xxl-4 {\n row-gap: 1.5em !important;\n }\n .row-gap-xxl-5 {\n row-gap: 3em !important;\n }\n .column-gap-xxl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xxl-1 {\n column-gap: 0.25em !important;\n }\n .column-gap-xxl-2 {\n column-gap: 0.5em !important;\n }\n .column-gap-xxl-3 {\n column-gap: 1em !important;\n }\n .column-gap-xxl-4 {\n column-gap: 1.5em !important;\n }\n .column-gap-xxl-5 {\n column-gap: 3em !important;\n }\n .text-xxl-start {\n text-align: left !important;\n }\n .text-xxl-end {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5em !important;\n }\n .fs-2 {\n font-size: 2em !important;\n }\n .fs-3 {\n font-size: 1.75em !important;\n }\n .fs-4 {\n font-size: 1.5em !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n:host,\n[data-bs-theme='light'] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #004445;\n --bs-secondary: #e6e6e6;\n --bs-success: #9fd5b3;\n --bs-info: #004445;\n --bs-warning: #feb70d;\n --bs-danger: #b3393b;\n --bs-light: #fff;\n --bs-dark: #000;\n --bs-primary-rgb: 0, 68, 69;\n --bs-secondary-rgb: 230, 230, 230;\n --bs-success-rgb: 159, 213, 179;\n --bs-info-rgb: 0, 68, 69;\n --bs-warning-rgb: 254, 183, 13;\n --bs-danger-rgb: 179, 57, 59;\n --bs-light-rgb: 255, 255, 255;\n --bs-dark-rgb: 0, 0, 0;\n --bs-primary-text-emphasis: #001b1c;\n --bs-secondary-text-emphasis: #5c5c5c;\n --bs-success-text-emphasis: #405548;\n --bs-info-text-emphasis: #001b1c;\n --bs-warning-text-emphasis: #664905;\n --bs-danger-text-emphasis: #481718;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #ccdada;\n --bs-secondary-bg-subtle: #fafafa;\n --bs-success-bg-subtle: #ecf7f0;\n --bs-info-bg-subtle: #ccdada;\n --bs-warning-bg-subtle: #fff1cf;\n --bs-danger-bg-subtle: #f0d7d8;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #99b4b5;\n --bs-secondary-border-subtle: whitesmoke;\n --bs-success-border-subtle: #d9eee1;\n --bs-info-border-subtle: #99b4b5;\n --bs-warning-border-subtle: #ffe29e;\n --bs-danger-border-subtle: #e1b0b1;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: 'Montserrat', sans-serif;\n --bs-font-monospace: 'Montserrat', sans-serif;\n --bs-gradient: linear-gradient(\n 180deg,\n rgba(255, 255, 255, 0.15),\n rgba(255, 255, 255, 0)\n );\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1em;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-link-color: #004445;\n --bs-link-color-rgb: 0, 68, 69;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #003637;\n --bs-link-hover-color-rgb: 0, 54, 55;\n --bs-code-color: #d63384;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0;\n --bs-border-radius-sm: 0;\n --bs-border-radius-lg: 0;\n --bs-border-radius-xl: 0;\n --bs-border-radius-xxl: 0;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50em;\n --bs-box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125em 0.25em rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1em 3em rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25em;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(0, 68, 69, 0.25);\n --bs-form-valid-color: #9fd5b3;\n --bs-form-valid-border-color: #9fd5b3;\n --bs-form-invalid-color: #b3393b;\n --bs-form-invalid-border-color: #b3393b;\n}\n\n[data-bs-theme='dark'] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #668f8f;\n --bs-secondary-text-emphasis: #f0f0f0;\n --bs-success-text-emphasis: #c5e6d1;\n --bs-info-text-emphasis: #668f8f;\n --bs-warning-text-emphasis: #fed46e;\n --bs-danger-text-emphasis: #d18889;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #000e0e;\n --bs-secondary-bg-subtle: #2e2e2e;\n --bs-success-bg-subtle: #202b24;\n --bs-info-bg-subtle: #000e0e;\n --bs-warning-bg-subtle: #332503;\n --bs-danger-bg-subtle: #240b0c;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #002929;\n --bs-secondary-border-subtle: #8a8a8a;\n --bs-success-border-subtle: #5f806b;\n --bs-info-border-subtle: #002929;\n --bs-warning-border-subtle: #986e08;\n --bs-danger-border-subtle: #6b2223;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-link-color: #668f8f;\n --bs-link-hover-color: #85a5a5;\n --bs-link-color-rgb: 102, 143, 143;\n --bs-link-hover-color-rgb: 133, 165, 165;\n --bs-code-color: #e685b5;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\nb,\nstrong {\n font-weight: 700;\n}\n\n@media (max-width: 991.98px) {\n thead.table-stacked {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n }\n}\n@media (max-width: 991.98px) {\n tr.table-stacked {\n display: block;\n border-top-width: 0;\n width: 100%;\n }\n tr.table-stacked:not(.cell-header-block) {\n border-bottom: 2px solid var(--bs-black);\n }\n tr.table-stacked.first:not(.cell-header-block) {\n border-top: 2px solid var(--bs-black);\n }\n tr.table-stacked.odd.cell-header-block {\n border-left: 2px solid var(--bs-black);\n }\n}\n@media (max-width: 991.98px) {\n th.table-stacked.cell-header-block {\n border-bottom-width: 0;\n display: block;\n width: 100%;\n }\n th.table-stacked:not(.cell-header-block) {\n padding: 0;\n border-bottom-width: 0;\n display: flex;\n }\n th.table-stacked:not(.cell-header-block) div.content {\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n th[data-label].table-stacked.cell-header-block {\n padding-bottom: 0.5em;\n }\n th[data-label].table-stacked.cell-header-block:before {\n content: attr(data-label);\n display: block;\n font-weight: bold;\n background-color: #f2f2f2;\n margin: -0.45em -0.5em 0.45em;\n padding: 0.5em 0.5em 0.2em;\n }\n th[data-label].table-stacked:not(.cell-header-block):before {\n content: attr(data-label);\n font-weight: bold;\n background-color: #f2f2f2;\n height: 100%;\n width: 100%;\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n}\n@media (max-width: 991.98px) {\n td.table-stacked.cell-header-block {\n border-bottom-width: 0;\n display: block;\n width: 100%;\n }\n td.table-stacked:not(.cell-header-block) {\n padding: 0;\n border-bottom-width: 0;\n display: flex;\n }\n td.table-stacked:not(.cell-header-block) div.content {\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n td[data-label].table-stacked.cell-header-block {\n padding-bottom: 0.5em;\n }\n td[data-label].table-stacked.cell-header-block:before {\n content: attr(data-label);\n display: block;\n font-weight: bold;\n background-color: #f2f2f2;\n margin: -0.45em -0.5em 0.45em;\n padding: 0.5em 0.5em 0.2em;\n }\n td[data-label].table-stacked:not(.cell-header-block):before {\n content: attr(data-label);\n font-weight: bold;\n background-color: #f2f2f2;\n height: 100%;\n width: 100%;\n flex: 1 1 0px;\n padding: 0.5em 0.5em;\n }\n}\n.navbar-expand-xs.nav {\n flex-direction: row;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.nav {\n flex-direction: row;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.nav {\n flex-direction: row;\n }\n}\n.navbar-expand-xs.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n}\n.navbar-expand-xs.offcanvas-header {\n display: none;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.offcanvas-header {\n display: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.offcanvas-header {\n display: none;\n }\n}\n.navbar-expand-xs.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl.offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n\n/*# sourceMappingURL=themed-bootstrap.css.map */\n";const r=document.createElement("template");r.innerHTML="\n\n";class i extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(r.content.cloneNode(!0)),this.card=document.createElement("div"),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-CARD-HEADER":{const n=document.createElement("div"),e=["card-header"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}case"COD-CARD-BODY":{const n=document.createElement("div"),e=["card-body"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}case"COD-CARD-FOOTER":{const n=document.createElement("div"),e=["card-footer"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}case"COD-CARD-OVERLAY":{const n=document.createElement("div"),e=["card-img-overlay"];null!==t.getAttribute("data-extra-classes")&&null!==t.getAttribute("data-extra-classes")&&e.push(t.getAttribute("data-extra-classes")),n.className=e.join(" "),n.appendChild(t),this.card.appendChild(n);break}default:t.className.split(" ").includes("no-wc")?t.remove():this.card.appendChild(t);break}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const i=document.createElement("style");i.textContent=".top-icon {\n margin-top: 1em;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(i)}connectedCallback(){const t=this.getAttribute("data-width"),n=this.getAttribute("data-id"),e=this.getAttribute("data-extra-classes"),o=["card"];null!==e&&o.push(e.split(" ")),null!==t&&(this.card.style.width=t),null!==n&&(this.card.id=n),this.card.classList.add(...o),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.card)}setIsClickable(){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.card.classList.add("btn",t):this.card.classList.remove("btn",t)}}customElements.define("cod-card",i);const l=document.createElement("template");l.innerHTML="\n\n";class s extends HTMLElement{static get observedAttributes(){return["data-active-item"]}constructor(){super();const t=this.attachShadow({mode:"open"});if(t.appendChild(l.content.cloneNode(!0)),this.carousel=document.createElement("div"),this.carouselIndicators=document.createElement("div"),this.carouselIndicators.className="carousel-indicators",this.carouselInner=document.createElement("div"),this.carouselInner.className="carousel-inner",this.carouselPrev=document.createElement("button"),this.carouselNext=document.createElement("button"),"true"!=this.getAttribute("data-no-controls")){"true"==this.getAttribute("data-external-controls")?(this.carouselPrev.className="carousel-control-prev position-relative",this.carouselNext.className="carousel-control-next position-relative"):(this.carouselPrev.className="carousel-control-prev",this.carouselNext.className="carousel-control-next"),this.carouselPrev.type="button",this.carouselPrev.setAttribute("data-bs-target","#".concat(this.getAttribute("data-id"))),this.carouselPrev.setAttribute("data-bs-slide","prev");let t=document.createElement("span");t.className="carousel-control-prev-icon",t.setAttribute("aria-hidden","true"),this.carouselPrev.appendChild(t);let n=document.createElement("span");n.className="visually-hidden",n.innerText="Previous",this.carouselPrev.appendChild(n),this.carouselNext.type="button",this.carouselNext.setAttribute("data-bs-target","#".concat(this.getAttribute("data-id"))),this.carouselNext.setAttribute("data-bs-slide","next");let e=document.createElement("span");e.className="carousel-control-next-icon",e.setAttribute("aria-hidden","true"),this.carouselNext.appendChild(e);let o=document.createElement("span");o.className="visually-hidden",o.innerText="Next",this.carouselNext.appendChild(o),this.carouselPrev.addEventListener("click",this._onClick),this.carouselNext.addEventListener("click",this._onClick),this.carousel.appendChild(this.carouselPrev),this.carousel.appendChild(this.carouselInner),this.carousel.appendChild(this.carouselNext)}else this.carousel.appendChild(this.carouselInner);t.addEventListener("slotchange",(t=>{let n=Array.from(this.children),e=0;n.forEach(((t,n)=>{if("COD-CAROUSEL-ITEM"==t.tagName){e+=1;let o=document.createElement("div");if(o.setAttribute("data-index",n),"true"==t.getAttribute("data-active")?(o.className="carousel-item active",this.setAttribute("data-active-item",n)):o.className="carousel-item",void 0!=t.getAttribute("data-interval")&&null!=t.getAttribute("data-interval")&&o.setAttribute("data-bs-interval",t.getAttribute("data-interval")),o.appendChild(t),this.carouselInner.appendChild(o),"true"==this.getAttribute("data-indicator")){let e=document.createElement("button");e.type="button",e.setAttribute("data-bs-target","#".concat(this.getAttribute("data-id"))),e.setAttribute("data-bs-slide-to",n),e.setAttribute("aria-label","Slide ".concat(n)),"true"==t.getAttribute("data-active")&&(e.className="active",e.setAttribute("aria-current","true")),e.addEventListener("click",this._onClick),this.carouselIndicators.appendChild(e),this.carousel.appendChild(this.carouselIndicators)}}e&&this.setAttribute("data-total-items",e),t.className.split(" ").includes("no-wc")&&t.remove()}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){if(null!=n){let t=this.carouselInner.querySelector('[data-index="'.concat(n,'"')),o=this.carouselInner.querySelector('[data-index="'.concat(e,'"'));"true"==this.getAttribute("data-indicator")&&(this.carouselIndicators.querySelector('[data-bs-slide-to="'.concat(n,'"')).className="",this.carouselIndicators.querySelector('[data-bs-slide-to="'.concat(e,'"')).className="active"),"next"==this.getAttribute("data-direction")?(t.className="carousel-item active carousel-item-start",o.className="carousel-item carousel-item-next carousel-item-start"):(t.className="carousel-item active carousel-item-end",o.className="carousel-item carousel-item-prev carousel-item-end"),setTimeout((()=>{t.className="carousel-item",o.className="carousel-item active"}),500)}}connectedCallback(){let t=this.getAttribute("data-id"),n=this.getAttribute("data-crossfade"),e=this.getAttribute("data-autoplay"),o=this.getAttribute("data-no-touch"),a=this.getAttribute("data-extra-classes"),r=this.getAttribute("data-external-controls"),i=["carousel slide"];void 0!=a&&null!=a&&i.push(a),"true"==n&&i.push("carousel-fade"),"true"==r&&i.push("d-flex"),"false"==o&&this.carousel.setAttribute("data-bs-touch","false"),void 0!=e&&null!=e&&("true"==e?this.carousel.setAttribute("data-bs-ride",e):this.carousel.setAttribute("data-bs-ride","carousel")),void 0!=t&&null!=t&&(this.carousel.id=t),this.carousel.className=i.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.carousel)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){let n=this.getRootNode().host.getAttribute("data-active-item");this.getRootNode().host.getAttribute("data-total-items");if(void 0==this.getAttribute("data-bs-slide"))this.getAttribute("data-bs-slide-to")>n?(this.getRootNode().host.setAttribute("data-direction","prev"),this.getRootNode().host.setAttribute("data-active-item",this.getAttribute("data-bs-slide-to"))):(this.getRootNode().host.setAttribute("data-direction","next"),this.getRootNode().host.setAttribute("data-active-item",this.getAttribute("data-bs-slide-to")));else{let t=this.getRootNode().host.getAttribute("data-active-item"),n=this.getRootNode().host.getAttribute("data-total-items");"prev"==this.getAttribute("data-bs-slide")?(this.getRootNode().host.setAttribute("data-direction","prev"),parseInt(t)-1>=0?this.getRootNode().host.setAttribute("data-active-item",parseInt(t)-1):this.getRootNode().host.setAttribute("data-active-item",parseInt(n)-1)):(this.getRootNode().host.setAttribute("data-direction","next"),parseInt(t)+1\n\n";class c extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(d.content.cloneNode(!0)),this.form=document.createElement("form"),t.addEventListener("slotchange",(t=>{let n=Array.from(this.children);n.length&&n.forEach((t=>{this.form.append(t)}))}))}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-id"),i=this.getAttribute("data-custom-validate"),l=this.getAttribute("data-background-color"),s=this.getAttribute("data-extra-classes");this.form.id=r,"true"==i?(this.form.novalidate=!0,i="needs-validation"):i="",this.form.className=[i,"bg-".concat(l||""),"".concat(s||"")].join(" "),this.shadowRoot.appendChild(this.form)}}customElements.define("cod-form",c);const m=document.createElement("template");m.innerHTML="\n\n";class b extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(m.content.cloneNode(!0)),this.modal=document.createElement("div"),this.modalDialog=document.createElement("div"),this.modalContent=document.createElement("div"),this.modalHeader=document.createElement("div"),this.modalBody=document.createElement("div"),this.modalFooter=document.createElement("div"),this.modalDialog.appendChild(this.modalContent),this.modal.appendChild(this.modalDialog),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-MODAL-HEADER":"true"==this.getAttribute("data-show")&&t.setAttribute("data-show",!0),"true"==this.getAttribute("data-button-dark")&&t.setAttribute("data-button-dark",!0),this.modalHeader.appendChild(t),this.modalContent.appendChild(this.modalHeader);break;case"COD-MODAL-BODY":this.modalBody.appendChild(t),this.modalContent.appendChild(this.modalBody);break;case"COD-MODAL-FOOTER":this.modalFooter.appendChild(t),this.modalContent.appendChild(this.modalFooter)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".modal {\n background-color: rgba(0, 0, 0, 0.5);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){let o=this.modal.className.split(" "),a=o.pop();"show"!=a&&o.push(a),"true"==e?(o.push("show"),this.modal.style.display="block","true"!=this.getAttribute("data-static")&&this.modal.addEventListener("click",this._onClick),this.modal.className=o.join(" ")):(this.modal.className=o.join(" "),setTimeout((()=>{this.modal.style.display="none"}),500))}connectedCallback(){let t=this.getAttribute("data-static"),n=this.getAttribute("data-id"),e=this.getAttribute("data-show"),o=this.getAttribute("data-vertical-centered"),a=this.getAttribute("data-size"),r=this.getAttribute("data-full-screen"),i=this.getAttribute("data-extra-classes"),l=["modal fade"],s=["modal-dialog"];void 0!=i&&null!=i&&l.push(i),void 0!=a&&null!=a&&s.push("modal-".concat(a)),"true"==o&&s.push("modal-dialog-centered"),void 0!=r&&null!=r&&("always"==r?s.push("modal-fullscreen"):s.push("modal-fullscreen-".concat(r,"-down"))),"true"==t&&(this.modal.setAttribute("data-bs-backdrop","static"),this.modal.setAttribute("data-bs-keyboard","false")),"true"==e?(this.modalClasses.push("show"),this.modal.setAttribute("aria-modal","true")):this.modal.setAttribute("aria-modal","false"),void 0!=n&&null!=n&&(this.modal.id=n),this.modal.setAttribute("tabindex",-1),this.modal.className=l.join(" "),this.modalDialog.className=s.join(" "),this.modalContent.className=["modal-content"].join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.modal)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-modal",b);var p=e(613),g=e.n(p),u=JSON.parse('{"version":8,"sprite":"https://cdn.arcgis.com/sharing/rest/content/items/273bf8d5c8ac400183fc24e109d20bcf/resources/styles/../sprites/sprite","glyphs":"https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/{fontstack}/{range}.pbf","sources":{"esri":{"type":"vector","tiles":["https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/{z}/{y}/{x}.pbf"]},"parcels":{"type":"vector","tiles":["https://tiles.arcgis.com/tiles/qvkbeam7Wirps6zC/arcgis/rest/services/parcels/VectorTileServer/tile/{z}/{y}/{x}.pbf"]},"mapillary":{"type":"geojson","data":{"type":"FeatureCollection","features":[]}},"mly":{"type":"vector","tiles":["https://tiles.mapillary.com/maps/vtp/mly1_computed_public/2/{z}/{x}/{y}?access_token=MLY|4690399437648324|de87555bb6015affa20c3df794ebab15"],"maxzoom":14,"minzoom":14}},"layers":[{"id":"Land/Not ice","type":"fill","source":"esri","source-layer":"Land","filter":["==","_symbol",0],"minzoom":0,"layout":{},"paint":{"fill-color":{"stops":[[0,"#dce0ca"],[10,"#E6E5D6"],[15,"#f2eee9"]]}}},{"id":"Land/Ice","type":"fill","source":"esri","source-layer":"Land","filter":["==","_symbol",1],"minzoom":0,"layout":{},"paint":{"fill-color":"#E6E5D6"}},{"id":"Urban area","type":"fill","source":"esri","source-layer":"Urban area","minzoom":5,"maxzoom":15,"layout":{},"paint":{"fill-color":{"stops":[[5,"#e3dfdc"],[10,"#ECE8E3"],[15,"#f2eee9"]]},"fill-antialias":false}},{"id":"Parcel/fill","type":"fill","source":"esri","source-layer":"Parcel","minzoom":18,"layout":{},"paint":{"fill-color":"#f0ebe5"}},{"id":"Parcel/line","type":"line","source":"esri","source-layer":"Parcel","minzoom":17,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#dddbd8","line-width":{"base":1.2,"stops":[[17,0.6],[22,5]]}}},{"id":"Vegetation small scale/High density","type":"fill","source":"esri","source-layer":"Vegetation small scale","filter":["==","_symbol",0],"maxzoom":11,"layout":{},"paint":{"fill-color":"#c2e699","fill-opacity":{"stops":[[0,0.3],[5,0.28],[7,0.18],[10,0.08]]},"fill-antialias":false}},{"id":"Vegetation small scale/Low density","type":"fill","source":"esri","source-layer":"Vegetation small scale","filter":["==","_symbol",1],"maxzoom":11,"layout":{},"paint":{"fill-color":"#9ad666","fill-opacity":{"stops":[[0,0.3],[5,0.28],[7,0.18],[10,0.08]]},"fill-antialias":false}},{"id":"Indigenous","type":"fill","source":"esri","source-layer":"Indigenous","minzoom":6,"layout":{},"paint":{"fill-color":"#dbd5bd","fill-outline-color":"#d6d4c8","fill-opacity":0.35}},{"id":"Openspace or forest","type":"fill","source":"esri","source-layer":"Openspace or forest","minzoom":9,"layout":{},"paint":{"fill-color":"#CDDFB3","fill-antialias":false}},{"id":"Admin0 forest or park","type":"fill","source":"esri","source-layer":"Admin0 forest or park","minzoom":6,"layout":{},"paint":{"fill-color":"#CDDFB3","fill-opacity":{"stops":[[6,0.4],[8,1]]},"fill-antialias":false}},{"id":"Admin0 forest or park/line2","type":"line","source":"esri","source-layer":"Admin0 forest or park","minzoom":6,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":0.3,"line-width":{"base":1.2,"stops":[[6,0.6],[15,15]]}}},{"id":"Admin0 forest or park/line","type":"line","source":"esri","source-layer":"Admin0 forest or park","minzoom":6,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":{"stops":[[6,0.4],[8,1]]},"line-width":{"base":1.2,"stops":[[6,0.6],[9,1.1]]}}},{"id":"Admin1 forest or park","type":"fill","source":"esri","source-layer":"Admin1 forest or park","minzoom":7,"layout":{},"paint":{"fill-color":"#CDDFB3","fill-opacity":{"stops":[[6,0.4],[8,1]]},"fill-antialias":false}},{"id":"Admin1 forest or park/line2","type":"line","source":"esri","source-layer":"Admin1 forest or park","minzoom":7,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":0.3,"line-width":{"base":1.2,"stops":[[6,0.6],[15,15]]}}},{"id":"Admin1 forest or park/line","type":"line","source":"esri","source-layer":"Admin1 forest or park","minzoom":7,"layout":{},"paint":{"line-color":"#c0d3a5","line-opacity":{"stops":[[6,0.4],[8,1]]},"line-width":{"base":1.2,"stops":[[6,0.6],[9,1.1]]}}},{"id":"Zoo","type":"fill","source":"esri","source-layer":"Zoo","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#CDDFB3"],[17,"#A5C187"]]}}},{"id":"Military","type":"fill","source":"esri","source-layer":"Military","minzoom":6,"layout":{},"paint":{"fill-color":"#d9d9d9","fill-opacity":0.5,"fill-antialias":false}},{"id":"Port","type":"fill","source":"esri","source-layer":"Port","minzoom":12,"layout":{},"paint":{"fill-color":{"stops":[[13,"#d9d2c8"],[15,"#E6E0D9"],[19,"#ECE7E1"]]}}},{"id":"Transportation","type":"fill","source":"esri","source-layer":"Transportation","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[13,"#ddd3c5"],[15,"#E8E1D7"],[19,"#EDE7E0"]]}}},{"id":"Industry","type":"fill","source":"esri","source-layer":"Industry","minzoom":12,"layout":{},"paint":{"fill-color":{"stops":[[13,"#d9d2c8"],[15,"#E2DCD4"],[19,"#ECE7E1"]]}}},{"id":"Golf course","type":"fill","source":"esri","source-layer":"Golf course","minzoom":11,"layout":{},"paint":{"fill-color":"#D6E6C3"}},{"id":"Airport/Airport property","type":"fill","source":"esri","source-layer":"Airport","filter":["==","_symbol",1],"minzoom":9,"layout":{},"paint":{"fill-color":{"stops":[[9,"#d9d6d2"],[11,"#e3e1df"],[15,"#EAE7E4"]]},"fill-outline-color":"#DDDBD9"}},{"id":"Airport/Airport runway","type":"fill","source":"esri","source-layer":"Airport","filter":["==","_symbol",0],"minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#dddbd9"],[22,"#8D8C8A"]]}}},{"id":"Retail","type":"fill","source":"esri","source-layer":"Retail","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[11,"#f7c2b5"],[15,"#F5D8CF"],[19,"#F3E8E2"]]}}},{"id":"Water and wastewater","type":"fill","source":"esri","source-layer":"Water and wastewater","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[13,"#ddd3c5"],[15,"#E8E1D7"],[19,"#EDE7E0"]]}}},{"id":"Freight","type":"fill","source":"esri","source-layer":"Freight","minzoom":12,"layout":{},"paint":{"fill-color":{"stops":[[13,"#d9d2c8"],[15,"#E2DCD4"],[19,"#EDE7E0"]]}}},{"id":"Cemetery","type":"fill","source":"esri","source-layer":"Cemetery","minzoom":13,"layout":{},"paint":{"fill-color":"#d3e6b9"}},{"id":"Finance","type":"fill","source":"esri","source-layer":"Finance","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[11,"#f7c2b5"],[15,"#F5D8CF"],[19,"#F3E8E2"]]}}},{"id":"Government","type":"fill","source":"esri","source-layer":"Government","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[13,"#ddd3c5"],[15,"#E8E1D7"],[19,"#EDE7E0"]]}}},{"id":"Emergency","type":"fill","source":"esri","source-layer":"Emergency","minzoom":13,"layout":{},"paint":{"fill-color":"#E8E7E5"}},{"id":"Landmark","type":"fill","source":"esri","source-layer":"Landmark","minzoom":13,"layout":{},"paint":{"fill-color":{"stops":[[10,"#d7ede6"],[15,"#E5EEE8"],[19,"#EBEEE8"]]}}},{"id":"Pedestrian","type":"fill","source":"esri","source-layer":"Pedestrian","minzoom":13,"layout":{},"paint":{"fill-color":"#E8E7E5","fill-outline-color":"#bcb7ae"}},{"id":"Education","type":"fill","source":"esri","source-layer":"Education","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#dde2a9"],[15,"#E8E8C9"],[19,"#EEEBDB"]]}}},{"id":"Medical","type":"fill","source":"esri","source-layer":"Medical","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#c7dff4"],[15,"#DDE7EF"],[19,"#E7EAEC"]]}}},{"id":"Park or farming","type":"fill","source":"esri","source-layer":"Park or farming","minzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[11,"#CDDFB3"],[17,"#A5C187"]]}}},{"id":"Beach","type":"fill","source":"esri","source-layer":"Beach","minzoom":13,"layout":{},"paint":{"fill-pattern":"Special area of interest/Sand"}},{"id":"Special area of interest/Garden path","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",12],"minzoom":14,"layout":{"visibility":"none"},"paint":{"fill-color":"#f5f5f1","fill-outline-color":"#EBE8E8"}},{"id":"Special area of interest/Green openspace","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",11],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[14,"#c5e0a9"],[17,"#A5C187"]]}}},{"id":"Special area of interest/Grass","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[14,"#b4d197"],[17,"#84A661"]]}}},{"id":"Special area of interest/Grass/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"line-color":{"stops":[[14,"#a4c683"],[17,"#739551"]]},"line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Grass/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Grass","fill-opacity":0.5}},{"id":"Special area of interest/Grass/pattern/1","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",8],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Small stipple"}},{"id":"Special area of interest/Baseball field or other grounds","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",1],"minzoom":14,"layout":{},"paint":{"fill-color":"#91a761"}},{"id":"Special area of interest/Baseball field or other grounds/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",1],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Baseball field or other grounds"}},{"id":"Special area of interest/Groundcover","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",13],"minzoom":14,"layout":{},"paint":{"fill-color":"#97be82"}},{"id":"Special area of interest/Groundcover/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",13],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Groundcover","fill-opacity":0.5}},{"id":"Special area of interest/Field or court exterior","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",5],"minzoom":14,"layout":{},"paint":{"fill-color":"#6E866E"}},{"id":"Special area of interest/Football field or court","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",4],"minzoom":14,"layout":{},"paint":{"fill-color":"#7fa57a"}},{"id":"Special area of interest/Football field or court/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",4],"minzoom":14,"layout":{},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest/Hardcourt","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",10],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[15,"#dddbd9"],[22,"#8D8C8A"]]}}},{"id":"Special area of interest/Hardcourt/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",10],"minzoom":14,"layout":{},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest/Mulch or dirt","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",14],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Mulch or dirt"}},{"id":"Special area of interest/Mulch or dirt/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",14],"minzoom":14,"layout":{},"paint":{"line-color":"#c9b58b","line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Athletic track","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",0],"minzoom":14,"layout":{},"paint":{"fill-color":{"stops":[[14,"#d49a87"],[17,"#cb7169"]]}}},{"id":"Special area of interest/Athletic track/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",0],"minzoom":14,"layout":{},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest/Sand","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",6],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Sand"}},{"id":"Special area of interest/Parking/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",15],"minzoom":15,"layout":{},"paint":{"line-color":{"stops":[[15,"#d1cfcd"],[22,"#7c7b79"]]},"line-opacity":0.8,"line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Parking","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",15],"minzoom":15,"layout":{},"paint":{"fill-color":{"stops":[[15,"#dddbd9"],[22,"#8D8C8A"]]}}},{"id":"Special area of interest/Parking/stipple","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",15],"minzoom":15,"layout":{},"paint":{"fill-pattern":"Special area of interest/Small stipple"}},{"id":"Special area of interest/Rock or gravel","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",16],"minzoom":14,"layout":{},"paint":{"fill-pattern":"Special area of interest/Rock or gravel"}},{"id":"Water line small scale","type":"line","source":"esri","source-layer":"Water line small scale","minzoom":1,"maxzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#B7D7D9"],[10.6,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[1,0.5],[5,0.5]]}}},{"id":"Water line medium scale","type":"line","source":"esri","source-layer":"Water line medium scale","minzoom":5,"maxzoom":7,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#B7D7D9"],[10.6,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[5,0.5],[7,0.7]]}}},{"id":"Water line large scale","type":"line","source":"esri","source-layer":"Water line large scale","minzoom":7,"maxzoom":11,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[1,"#B7D7D9"],[10.6,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[7,0.5],[11,0.7]]}}},{"id":"Water line/Waterfall","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",5],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":"#6BC4F0","line-width":0.8,"line-dasharray":[5,5]}},{"id":"Water line/Dam or weir","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",2],"minzoom":11,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#afafaf","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Water line/Levee/1","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",3],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":"#c3c3c3","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[20,2.5]]}}},{"id":"Water line/Levee/0","type":"symbol","source":"esri","source-layer":"Water line","filter":["==","_symbol",3],"minzoom":13,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Water line/Levee/0","symbol-spacing":13.3,"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1},"paint":{}},{"id":"Water line/Canal or ditch","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",1],"minzoom":11,"layout":{"line-cap":"round"},"paint":{"line-color":"#6BC4F0","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Water line/Stream or river intermittent","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",4],"minzoom":11,"layout":{},"paint":{"line-color":"#6BC4F0","line-dasharray":[7,3],"line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Water line/Stream or river","type":"line","source":"esri","source-layer":"Water line","filter":["==","_symbol",0],"minzoom":11,"layout":{"line-cap":"round"},"paint":{"line-color":"#6BC4F0","line-width":{"base":1.2,"stops":[[11,0.7],[14,0.7],[17,2]]}}},{"id":"Marine area/1","type":"fill","source":"esri","source-layer":"Marine area","minzoom":0,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 2 (shallow water)","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",0],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#5BBDEC"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 3","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",1],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#63C0EE"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 4","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",2],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#6BC4F0"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 5","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",3],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#72C8F1"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 6","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",4],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#7ACBF3"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Bathymetry/depth 7 (deep water)","type":"fill","source":"esri","source-layer":"Bathymetry","filter":["==","_symbol",5],"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#82CFF5"],[10.6,"#6BC4F0"]]},"fill-antialias":false}},{"id":"Water area small scale","type":"fill","source":"esri","source-layer":"Water area small scale","minzoom":1,"maxzoom":5,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-outline-color":"#53B9EA"}},{"id":"Water area medium scale/Lake intermittent","type":"fill","source":"esri","source-layer":"Water area medium scale","filter":["==","_symbol",1],"minzoom":5,"maxzoom":7,"layout":{},"paint":{"fill-pattern":"Water area/Lake or river intermittent"}},{"id":"Water area medium scale/Lake or river","type":"fill","source":"esri","source-layer":"Water area medium scale","filter":["==","_symbol",0],"minzoom":5,"maxzoom":7,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-outline-color":"#53B9EA"}},{"id":"Water area large scale/Lake intermittent","type":"fill","source":"esri","source-layer":"Water area large scale","filter":["==","_symbol",1],"minzoom":7,"maxzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Lake or river intermittent"}},{"id":"Water area large scale/Lake or river","type":"fill","source":"esri","source-layer":"Water area large scale","filter":["==","_symbol",0],"minzoom":7,"maxzoom":11,"layout":{},"paint":{"fill-color":{"stops":[[5,"#53B9EA"],[10.6,"#6BC4F0"]]},"fill-outline-color":{"stops":[[8,"#53B9EA"],[9,"#6BC4F0"]]}}},{"id":"Water area/Lake, river or bay","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",7],"minzoom":11,"layout":{},"paint":{"fill-color":"#6BC4F0","fill-outline-color":"#6BC4F0"}},{"id":"Water area/Lake or river intermittent","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",6],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Lake or river intermittent"}},{"id":"Water area/Inundated area","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",4],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Inundated area"}},{"id":"Water area/Swamp or marsh","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",3],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Swamp or marsh","fill-opacity":0.45}},{"id":"Water area/Playa","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",1],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Playa"}},{"id":"Water area/Ice mass","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",2],"minzoom":11,"layout":{},"paint":{"fill-pattern":"Water area/Ice mass","fill-opacity":0.5}},{"id":"Water area/Dam or weir","type":"fill","source":"esri","source-layer":"Water area","filter":["==","_symbol",5],"minzoom":11,"layout":{},"paint":{"fill-color":"#e5e5dd","fill-outline-color":"#d9d9d1"}},{"id":"Special area of interest/Bike, walk or pedestrian/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",2],"minzoom":15,"layout":{},"paint":{"line-color":"#bcb7ae","line-width":{"stops":[[15,1.1],[22,10]]},"line-blur":{"stops":[[15,1],[22,5]]}}},{"id":"Special area of interest/Bike, walk or pedestrian","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",2],"minzoom":15,"layout":{},"paint":{"fill-color":"#E8E7E5","fill-outline-color":"#dbd9d5"}},{"id":"Special area of interest/Bike, walk or pedestrian/pattern","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",2],"minzoom":15,"layout":{},"paint":{"fill-pattern":"Special area of interest/Small stipple"}},{"id":"Special area of interest/Water","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",7],"minzoom":14,"layout":{},"paint":{"fill-color":"#6BC4F0"}},{"id":"Special area of interest/Water/line","type":"line","source":"esri","source-layer":"Special area of interest","filter":["==","_symbol",7],"minzoom":14,"layout":{},"paint":{"line-color":"#5db6e2","line-width":{"stops":[[15,1.1],[22,7]]},"line-blur":{"stops":[[15,1],[22,3.5]]}}},{"id":"Ferry/Ferry","type":"line","source":"esri","source-layer":"Ferry","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":"#c1e1f0","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[11,1.3],[14,1.5],[17,1.5]]},"line-dasharray":[3,4]}},{"id":"Railroad/2","type":"line","source":"esri","source-layer":"Railroad","minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[11,"#dedcd9"],[17,"#B8B1AA"]]},"line-width":{"base":1.2,"stops":[[11,2.5],[14,2.5],[17,4]]}}},{"id":"Railroad/1","type":"line","source":"esri","source-layer":"Railroad","minzoom":11,"layout":{"line-join":"round"},"paint":{"line-dasharray":[6,7.5],"line-color":{"stops":[[11,"#E3E0D7"],[17,"#DBD8CB"]]},"line-width":{"base":1.2,"stops":[[11,0.75],[15,0.75],[17,2]]}}},{"id":"Ferry/Rail ferry/2","type":"line","source":"esri","source-layer":"Ferry","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[11,"#dedcd9"],[17,"#B8B1AA"]]},"line-width":{"base":1.2,"stops":[[11,2.5],[14,2.5],[17,4]]}}},{"id":"Ferry/Rail ferry/1","type":"line","source":"esri","source-layer":"Ferry","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":11,"layout":{"line-join":"round"},"paint":{"line-dasharray":[6,7.5],"line-color":{"stops":[[11,"#E3E0D7"],[17,"#DBD8CB"]]},"line-width":{"base":1.2,"stops":[[11,0.75],[15,0.75],[17,2]]}}},{"id":"Special area of interest line/Sports field","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",6],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e3e0da","line-opacity":0.8,"line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Road/4WD/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#e3e1dc","line-dasharray":[2,1],"line-width":{"base":1.2,"stops":[[11,1.5],[14,2.3],[17,8.3],[20,50]]}}},{"id":"Road/Minor, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[9.9,1],[14,4],[16,11.5],[17,19],[20,58]]}}},{"id":"Road/Minor/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[9,1],[10,3.3],[14,5.5],[16,11.5],[17,19],[20,58]]}}},{"id":"Road/Major, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[9,3.3],[14,7.3],[16,12.3],[17,22],[20,63]]}}},{"id":"Road/Major/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[8,"#dedbd1"],[12,"#e3e1dc"]]},"line-width":{"base":1,"stops":[[8,3.3],[14,7.3],[16,12.3],[17,22],[20,63]]}}},{"id":"Road/Service/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":13,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e3e1dc","line-width":{"base":1.2,"stops":[[11,2],[14,2.5],[17,10.3],[20,45]]}}},{"id":"Trail or path/1","type":"line","source":"esri","source-layer":"Trail or path","minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#dddbd5"],[17,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[15,2.5],[16,3],[17,5],[20,20],[22,31]]}}},{"id":"Road/Pedestrian/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",9],["!in","Viz",2]],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#dddbd5"],[17,"#e3e1dc"]]},"line-width":{"base":1.2,"stops":[[15,2.5],[16,3],[17,5],[20,20],[22,31]]}}},{"id":"Road/Local/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",7],["!in","Viz",2]],"minzoom":12,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e3e1dc","line-width":{"base":1.4,"stops":[[11,1.1],[14,3],[16,8],[17,16],[20,48]]}}},{"id":"Trail or path/0","type":"line","source":"esri","source-layer":"Trail or path","minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#f8f8f7"],[18,"#ffffff"]]},"line-dasharray":{"stops":[[15,[3,3]],[17,[2,2]]]},"line-width":{"base":1.2,"stops":[[15,1.3],[17,2.5]]}}},{"id":"Road/Pedestrian/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",9],["!in","Viz",2]],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[15,"#f8f8f7"],[18,"#ffffff"]]},"line-dasharray":{"stops":[[15,[3,3]],[17,[2,2]]]},"line-width":{"base":1.2,"stops":[[15,1.3],[17,2.5]]}}},{"id":"Road/4WD/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#FFFFFF","line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,7.3],[20,48]]}}},{"id":"Road/Service/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":13,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#FFFFFF","line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,8.3],[20,43]]}}},{"id":"Road/Local/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",7],["!in","Viz",2]],"minzoom":12,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[12,"#fcfbf9"],[13,"#ffffff"]]},"line-width":{"base":1.4,"stops":[[11,1.1],[14,2],[16,6],[17,14],[20,45]]}}},{"id":"Road/Minor, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[9,0.75],[14,2],[16,9.5],[17,17],[20,55]]}}},{"id":"Road/Minor/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[9,1.3],[14,4.5],[16,9.5],[17,17],[20,55]]}}},{"id":"Road/Major, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[9,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road/Major/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[8,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road/Freeway Motorway, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":"#ffffff","line-width":{"base":1.2,"stops":[[9,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road/Highway/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":{"base":1.2,"stops":[[6,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road/Freeway Motorway/1","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":{"base":1.2,"stops":[[5,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road/Freeway Motorway, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-width":{"base":1.2,"stops":[[9,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road/Highway/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-width":{"base":1.2,"stops":[[6,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road/Freeway Motorway/0","type":"line","source":"esri","source-layer":"Road","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#F6CA91","line-width":{"base":1.2,"stops":[[5,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Special area of interest line/Dock or pier","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",0],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#E8E7E5","line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Special area of interest line/Fence (chain link)/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",1],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#686868","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[16,0.7],[20,3]]}}},{"id":"Special area of interest line/Fence (chain link)/0","type":"symbol","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",1],"minzoom":16,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Special area of interest line/Fence (chain link)/0","symbol-spacing":{"stops":[[16,7],[22,20]]},"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.25],[22,1]]}},"paint":{}},{"id":"Special area of interest line/Fence (metal)/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",2],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#686868","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[16,0.7],[20,3]]}}},{"id":"Special area of interest line/Fence (metal)/0","type":"symbol","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",2],"minzoom":16,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Special area of interest line/Fence (metal)/0","symbol-spacing":{"stops":[[16,7],[22,20]]},"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.2],[22,0.9]]}},"paint":{}},{"id":"Special area of interest line/Fence (wood)/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",3],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#CDAA66","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[16,0.7],[20,3]]}}},{"id":"Special area of interest line/Fence (wood)/0","type":"symbol","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",3],"minzoom":16,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"icon-image":"Special area of interest line/Fence (wood)/0","symbol-spacing":{"stops":[[16,7],[22,20]]},"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.2],[22,0.9]]}},"paint":{}},{"id":"Special area of interest line/Gate/2","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",4],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#686868","line-width":{"base":1.2,"stops":[[16,2],[20,7]]}}},{"id":"Special area of interest line/Gate/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",4],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#E1E1E1","line-width":{"base":1.2,"stops":[[16,1],[20,5]]}}},{"id":"Special area of interest line/Gate/0","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",4],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#686868","line-dasharray":[5,15],"line-width":0.7}},{"id":"Special area of interest line/Wall/2","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",7],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#BCB7AE","line-width":{"base":1.2,"stops":[[16,4],[20,7]]}}},{"id":"Special area of interest line/Wall/1","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",7],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#e3e3e1","line-width":{"base":1.2,"stops":[[16,2],[20,5]]}}},{"id":"Special area of interest line/Wall/0","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",7],"minzoom":16,"layout":{"line-join":"round"},"paint":{"line-color":"#BCB7AE","line-width":0.5}},{"id":"Building/1","type":"fill","source":"esri","source-layer":"Building","minzoom":18,"layout":{},"paint":{"fill-color":"#6f6c68","fill-opacity":0.15,"fill-translate":{"stops":[[18,[2,2]],[20,[10,10]]]},"fill-translate-anchor":"viewport"}},{"id":"Building/General","type":"fill","source":"esri","source-layer":"Building","minzoom":15,"layout":{},"paint":{"fill-color":{"stops":[[15,"#ebe7e2"],[20,"#D1C4BA"]]}}},{"id":"Building/pattern","type":"fill","source":"esri","source-layer":"Building","minzoom":16,"layout":{},"paint":{"fill-pattern":"Building","fill-opacity":0.15}},{"id":"Building/line","type":"line","source":"esri","source-layer":"Building","minzoom":15,"layout":{},"paint":{"line-color":{"stops":[[15,"#dbd4cb"],[22,"#ac9c92"]]},"line-width":{"stops":[[15,0.5],[20,1.5]]}}},{"id":"Special area of interest line/Parking lot","type":"line","source":"esri","source-layer":"Special area of interest line","filter":["==","_symbol",5],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#E8E7E5","line-width":{"base":1.2,"stops":[[15,0.5],[20,4]]}}},{"id":"Road tunnel/4WD/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#e3e1dc","line-dasharray":[2,1],"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[11,1.5],[14,2.3],[17,8.3],[20,49]]}}},{"id":"Road tunnel/Minor, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9.9,1],[14,4],[16,11.5],[17,19],[20,57]]}}},{"id":"Road tunnel/Minor/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#E2DFD6"],[10,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,1],[10,3.3],[14,5.5],[16,11.5],[17,19],[20,57]]}}},{"id":"Road tunnel/Major, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,3.3],[14,7.3],[16,12.3],[17,22],[20,62]]}}},{"id":"Road tunnel/Major/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[8,"#dedbd1"],[12,"#e3e1dc"]]},"line-opacity":0.5,"line-width":{"base":1,"stops":[[8,3.3],[14,7.3],[16,12.3],[17,22],[20,62]]}}},{"id":"Road tunnel/Pedestrian/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",9],["!in","Viz",2]],"minzoom":15,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#FFFFFF","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[14,1.6],[16,2],[17,8],[20,45]]}}},{"id":"Road tunnel/4WD/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",10],["!in","Viz",2]],"minzoom":13,"layout":{"line-join":"round"},"paint":{"line-color":"#FFFFFF","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,7.3],[20,48]]}}},{"id":"Road tunnel/Service/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":13,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#FFFFFF","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[11,0.75],[14,1.3],[17,8.3],[20,48]]}}},{"id":"Road tunnel/Local/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",7],["!in","Viz",2]],"minzoom":12,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[12,"#fcfbf9"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.4,"stops":[[11,1.1],[14,2],[16,6],[17,14],[20,55]]}}},{"id":"Road tunnel/Minor, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",6],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,0.75],[14,2],[16,9.5],[17,17],[20,55]]}}},{"id":"Road tunnel/Minor/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,1.3],[14,4.5],[16,9.5],[17,17],[20,55]]}}},{"id":"Road tunnel/Major, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road tunnel/Major/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":8,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[9,"#f0efea"],[13,"#ffffff"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[8,1.3],[14,5.3],[16,10.3],[17,20],[20,60]]}}},{"id":"Road tunnel/Freeway Motorway, ramp or traffic circle/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":"#ffffff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road tunnel/Highway/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[6,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road tunnel/Freeway Motorway/1","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[5,0.3],[14,8.3],[16,14.3],[17,30],[20,52]]}}},{"id":"Road tunnel/Freeway Motorway, ramp or traffic circle/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round","line-cap":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[9,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road tunnel/Highway/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":6,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[6,"#F6CA91"],[8,"#F6CA91"],[12,"#F6CA91"]]},"line-opacity":0.5,"line-width":{"base":1.2,"stops":[[6,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Road tunnel/Freeway Motorway/0","type":"line","source":"esri","source-layer":"Road tunnel","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":5,"layout":{"line-join":"round"},"paint":{"line-color":"#F6CA91","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[5,0.7],[14,6.3],[16,12.3],[17,28],[20,50]]}}},{"id":"Special area of interest/Gutter","type":"fill","source":"esri","source-layer":"Special area of interest","filter":["in","_symbol",9,3],"minzoom":14,"layout":{},"paint":{"fill-color":"#E8E7E5","fill-outline-color":"#bcb7ae"}},{"id":"Boundary line/Disputed admin2","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",8],["!in","Viz",2]],"minzoom":9,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#f5f5f5"],[3,"#fafafa"],[9,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[1,0.65],[14,1.3],[17,2.5]]},"line-dasharray":[5,5]}},{"id":"Boundary line/Disputed admin1/1","type":"line","source":"esri","source-layer":"Boundary line","minzoom":3,"filter":["all",["==","_symbol",7],["!in","Viz",2]],"layout":{"line-join":"round"},"paint":{"line-color":"#c6c4b6","line-opacity":0.95,"line-width":{"base":1,"stops":[[4,0.5],[14,7],[17,7]]}}},{"id":"Boundary line/Disputed admin0/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",6],["!in","Viz",2],["!in","DisputeID",8,16,90,96,0]],"minzoom":1,"layout":{"line-join":"round"},"paint":{"line-color":"#c6c4b6","line-opacity":0.95,"line-width":{"base":1,"stops":[[1,0.5],[14,9.3],[17,9.3]]}}},{"id":"Boundary line/Disputed admin1/0","type":"line","source":"esri","source-layer":"Boundary line","minzoom":3,"filter":["all",["==","_symbol",7],["!in","Viz",2]],"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#f5f5f5"],[3,"#fafafa"],[9,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[1,0.65],[14,1.3],[17,2.5]]},"line-dasharray":[5,5]}},{"id":"Boundary line/Disputed admin0/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",6],["!in","Viz",2],["!in","DisputeID",8,16,90,96,0]],"minzoom":1,"layout":{"line-join":"round"},"paint":{"line-color":{"stops":[[1,"#f5f5f5"],[3,"#fafafa"],[9,"#ffffff"]]},"line-width":{"base":1.2,"stops":[[1,0.65],[14,1.3],[17,2.5]]},"line-dasharray":[5,5]}},{"id":"Boundary line/Admin2/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":10,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ede7e0","line-opacity":0.6,"line-width":{"base":1.2,"stops":[[8,2.3],[14,5.5],[17,7.5]]}}},{"id":"Boundary line/Admin1/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":3,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[3,"#DEE1CC"],[10,"#d1ceb8"]]},"line-opacity":0.5,"line-width":{"base":1,"stops":[[3,0.5],[14,9],[17,10]]}}},{"id":"Boundary line/Admin0/1","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":1,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#d1cfc2","line-width":{"base":1,"stops":[[1,0.5],[14,11.3],[17,12.3]]}}},{"id":"Boundary line/Admin5","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",5],["!in","Viz",2]],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#9C9C9C","line-width":{"base":1.2,"stops":[[14,1],[17,1]]},"line-dasharray":[6,4]}},{"id":"Boundary line/Admin4","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",4],["!in","Viz",2]],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#9C9C9C","line-width":{"base":1.2,"stops":[[14,1],[17,1]]},"line-dasharray":[6,4]}},{"id":"Boundary line/Admin3","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",3],["!in","Viz",2]],"minzoom":16,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#9C9C9C","line-width":{"base":1.2,"stops":[[14,1],[17,1]]},"line-dasharray":[6,4]}},{"id":"Boundary line/Admin2/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",2],["!in","Viz",2]],"minzoom":9,"layout":{"line-join":"round"},"paint":{"line-color":"#888577","line-dasharray":[7,5],"line-width":{"base":1.2,"stops":[[8,0.5],[14,1]]}}},{"id":"Boundary line/Admin1/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",1],["!in","Viz",2]],"minzoom":3,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[3,"#c1bdb5"],[4,"#9b9382"]]},"line-width":{"base":1,"stops":[[4,0.5],[14,1.3],[17,1.3]]}}},{"id":"Boundary line/Admin0/0","type":"line","source":"esri","source-layer":"Boundary line","filter":["all",["==","_symbol",0],["!in","Viz",2]],"minzoom":1,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[1,"#b9b9b9"],[7,"#434242"]]},"line-width":{"base":1.2,"stops":[[1,0.5],[14,1.3],[17,2]]}}},{"id":"Coastline","type":"line","source":"esri","source-layer":"Coastline","maxzoom":9,"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":{"stops":[[0,"#53B9EA"],[7,"#53B9EA"],[9,"#6BC4F0"]]},"line-width":{"base":1.2,"stops":[[0,0.5],[9,1.3]]}}},{"id":"Tree/Elm","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",0],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Elm","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Eucalyptus","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",1],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Eucalyptus","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Maple","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",2],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Maple","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Oak","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",3],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Oak","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Orange","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",4],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Orange","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Palm","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",5],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Palm","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Pine","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",6],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Pine","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Tree/Spruce","type":"symbol","source":"esri","source-layer":"Tree","filter":["==","_symbol",7],"minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Tree/Spruce","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Shrub","type":"symbol","source":"esri","source-layer":"Shrub","minzoom":16,"layout":{"symbol-avoid-edges":true,"icon-image":"Shrub","icon-allow-overlap":true,"icon-padding":1,"icon-size":{"stops":[[16,0.07],[17,0.18],[18,0.3],[20,1]]}},"paint":{"icon-opacity":{"stops":[[16,0.4],[17,0.6],[20,0.9]]}}},{"id":"Pavement marking/Arrow","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",0],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Arrow","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/Handicap","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":18,"filter":["==","_symbol",1],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Handicap","icon-size":{"stops":[[18,0.5],[20,1],[22,1.25]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#296AA3","icon-opacity":{"stops":[[18,0.65],[20,1]]}}},{"id":"Pavement marking/Left turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",2],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Left turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/Right turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",3],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Right turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/Two-way left turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",4],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/Two-way left turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Pavement marking/U-turn","type":"symbol","source":"esri","source-layer":"Pavement marking","minzoom":17,"filter":["==","_symbol",5],"layout":{"icon-rotation-alignment":"map","icon-image":"Pavement marking/U-turn","icon-size":{"stops":[[17,0.5],[22,1]]},"icon-rotate":{"type":"identity","property":"angle","default":0},"icon-allow-overlap":true},"paint":{"icon-color":"#B2B2B2"}},{"id":"Water point/Sea or ocean","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",0],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,15.5]]},"text-letter-spacing":0.3,"text-line-height":1.6,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Water point/Island","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",7],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water point/Dam or weir","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",5],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.7,"text-halo-blur":1}},{"id":"Water point/Playa","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",6],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.7,"text-halo-blur":1}},{"id":"Water point/Canal or ditch","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",4],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.13,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water point/Stream or river","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",3],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water point/Lake or reservoir","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",2],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#FFFFFF","text-halo-width":0.5}},{"id":"Water point/Bay or inlet","type":"symbol","source":"esri","source-layer":"Water point","filter":["==","_label_class",1],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[9,8.5],[15,10]]},"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Ferry/label/Ferry","type":"symbol","source":"esri","source-layer":"Ferry/label","filter":["all",["==","_label_class",0],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":10,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":30},"paint":{"text-color":"#ffffff","text-halo-width":1.2,"text-halo-color":"#6BC4F0","text-halo-blur":1}},{"id":"Water line/label/Default","type":"symbol","source":"esri","source-layer":"Water line/label","minzoom":11,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.5,"text-letter-spacing":0.07,"text-max-width":8,"text-max-angle":35,"text-field":"{_name_global}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water line large scale/label/Default","type":"symbol","source":"esri","source-layer":"Water line large scale/label","minzoom":7,"maxzoom":11,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.01,"text-max-width":8,"text-max-angle":{"stops":[[7,25],[11,35]]},"text-field":"{_name}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water line medium scale/label/Default","type":"symbol","source":"esri","source-layer":"Water line medium scale/label","minzoom":5,"maxzoom":7,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.1,"text-max-width":8,"text-max-angle":{"stops":[[5,15],[6,25]]},"text-field":"{_name}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water line small scale/label/Default","type":"symbol","source":"esri","source-layer":"Water line small scale/label","minzoom":4,"maxzoom":5,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":8.5,"text-letter-spacing":0.1,"text-max-width":8,"text-max-angle":18,"text-field":"{_name}","text-padding":1,"text-offset":[0,-0.5],"symbol-spacing":800},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Marine park/label/Default","type":"symbol","source":"esri","source-layer":"Marine park/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#3a7795"}},{"id":"Water area/label/Dam or weir","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",8],"minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":9.5,"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.5,"text-halo-blur":1}},{"id":"Water area/label/Playa","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",9],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.5,"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#171310","text-halo-color":"#EBE7E2","text-halo-width":0.5,"text-halo-blur":1}},{"id":"Water area/label/Canal or ditch","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",2],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":10.5,"text-letter-spacing":0.13,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":5},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Small river","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",7],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":10.5,"text-letter-spacing":0.13,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":8},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Large river","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",4],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":10.5,"text-letter-spacing":0.13,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":8},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Small lake or reservoir","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",6],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Large lake or reservoir","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",3],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Bay or inlet","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",1],"minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area/label/Small island","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",0],"minzoom":11,"layout":{"text-size":10.5,"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"]},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water area/label/Large island","type":"symbol","source":"esri","source-layer":"Water area/label","filter":["==","_label_class",5],"minzoom":11,"layout":{"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"]},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Water area large scale/label/River","type":"symbol","source":"esri","source-layer":"Water area large scale/label","filter":["==","_label_class",1],"minzoom":7,"maxzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"symbol-placement":"line","symbol-spacing":1000,"text-size":9.3,"text-letter-spacing":0.1,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-max-width":4},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area large scale/label/Lake or lake intermittent","type":"symbol","source":"esri","source-layer":"Water area large scale/label","filter":["==","_label_class",0],"minzoom":7,"maxzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.1,"text-max-width":4,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area medium scale/label/Default","type":"symbol","source":"esri","source-layer":"Water area medium scale/label","minzoom":5,"maxzoom":7,"layout":{"text-max-width":4,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-letter-spacing":0.08,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Water area small scale/label/Default","type":"symbol","source":"esri","source-layer":"Water area small scale/label","minzoom":1,"maxzoom":5,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.08,"text-max-width":4,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":0.5}},{"id":"Marine area/label/Default","type":"symbol","source":"esri","source-layer":"Marine area/label","minzoom":11,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":10.5,"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":1}},{"id":"Marine waterbody/label/small","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",4],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.12],[10,0.25]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,9.3]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/medium","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",3],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.15],[10,0.3]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,9.3]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/large","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",2],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.18],[10,0.4]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,10]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/x large","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",1],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.2],[10,1.5]]},"text-line-height":1.5,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,8],[6,11]]}},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Marine waterbody/label/2x large","type":"symbol","source":"esri","source-layer":"Marine waterbody/label","filter":["==","_label_class",0],"minzoom":1,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Demi Italic"],"text-letter-spacing":{"stops":[[1,0.3],[10,2]]},"text-line-height":1.6,"text-max-width":6,"text-field":"{_name}","text-padding":15,"symbol-avoid-edges":true,"text-size":{"stops":[[1,10],[4,18]]}},"paint":{"text-color":"#0d6c9a","text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Ferry/label/Rail ferry","type":"symbol","source":"esri","source-layer":"Ferry/label","filter":["all",["==","_label_class",1],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9,"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":5,"text-offset":[0,-0.6],"symbol-spacing":1000},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Railroad/label/Default","type":"symbol","source":"esri","source-layer":"Railroad/label","minzoom":14,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9,"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":5,"text-offset":[0,-0.6],"symbol-spacing":1000},"paint":{"text-color":"#4E4E4E","text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Trail or path/label/Default","type":"symbol","source":"esri","source-layer":"Trail or path/label","minzoom":15,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":9.3,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":5},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road tunnel/label/Pedestrian","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",6],["!in","Viz",2]],"minzoom":15,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":5},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Local, service, 4WD","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",5],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":9.5,"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[12,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Minor","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",4],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Major, alt name","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",3],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4e4e4e","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Major","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",2],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Highway","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",7],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Freeway Motorway, alt name","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",1],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road tunnel/label/Freeway Motorway","type":"symbol","source":"esri","source-layer":"Road tunnel/label","filter":["all",["==","_label_class",0],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1,"text-halo-blur":1}},{"id":"Road/label/Local","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",5],["!in","Viz",2]],"minzoom":12,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,11.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[12,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Minor","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",4],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Major, alt name","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",3],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Major","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",2],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,12.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Highway","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",75],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Freeway Motorway, alt name","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",1],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Freeway Motorway","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",0],["!in","Viz",2]],"minzoom":10,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[10,9.5],[14,10.5],[18,14.5]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":{"stops":[[10,5],[15,5],[16,15]]}},"paint":{"text-color":"#4E4E4E","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Road/label/Rectangle white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",32],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",31],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Secondary Hwy red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",16],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Secondary Hwy red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",15],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped yellow black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",24],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped yellow black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped yellow black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",23],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped yellow black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",26],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",25],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",28],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/U-shaped blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",27],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/V-shaped white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",30],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/V-shaped white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/V-shaped white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",29],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/V-shaped white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",18],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",17],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white green (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",20],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white green (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped white green","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",19],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped white green/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped green leaf (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",22],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped green leaf (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/U-shaped green leaf","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",21],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/U-shaped green leaf/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle yellow black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",38],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle yellow black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle yellow black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",37],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle yellow black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",36],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",35],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",34],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",33],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",40],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",39],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Rectangle green yellow (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",42],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green yellow (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Rectangle green yellow","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",41],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle green yellow/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Pentagon inverse white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",44],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon inverse white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon inverse white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",43],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon inverse white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",46],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",45],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon yellow black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",50],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon yellow black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon yellow black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",49],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon yellow black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Pentagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",51],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pentagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",52],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pentagon green yellow","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",53],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green yellow/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Pentagon green yellow (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",54],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon green yellow (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#f1dfb7"}},{"id":"Road/label/Pentagon blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",48],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pentagon blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",47],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Pentagon blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",56],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Hexagon white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",55],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Hexagon blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",57],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",58],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",59],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",60],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",62],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",61],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Hexagon orange black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",63],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon orange black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Hexagon orange black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",64],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Hexagon orange black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",66],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",65],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon red white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",68],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon red white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon red white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",67],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon red white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",70],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",69],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon brown white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",72],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon brown white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Rectangle hexagon brown white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",71],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Rectangle hexagon brown white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Octagon green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",74],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Octagon green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Octagon green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",73],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Octagon green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Shield white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",10],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Shield white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",9],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Secondary Hwy green white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",14],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy green white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Secondary Hwy green white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",13],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":9.3,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy green white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Secondary Hwy white black (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",12],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy white black (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Secondary Hwy white black","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",11],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Secondary Hwy white black/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{}},{"id":"Road/label/Shield blue white (Alt)","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",8],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield blue white (Alt)/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Shield blue white","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",7],["!in","Viz",2]],"minzoom":7,"layout":{"symbol-placement":"line","symbol-spacing":400,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":8.5,"text-max-width":8,"text-field":"{_name}","icon-image":"Road/Shield blue white/{_len}","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport","text-padding":{"stops":[[7,50],[10,50],[11,15]]}},"paint":{"text-color":"#ffffff"}},{"id":"Road/label/Pedestrian","type":"symbol","source":"esri","source-layer":"Road/label","filter":["all",["==","_label_class",6],["!in","Viz",2]],"minzoom":15,"layout":{"symbol-placement":"line","symbol-avoid-edges":true,"symbol-spacing":400,"text-font":["Montserrat SemiBold"],"text-size":9.3,"text-letter-spacing":0.05,"text-max-width":8,"text-field":"{_name_global}","text-padding":5},"paint":{"text-color":"#595959","text-halo-color":"#FFFFFF","text-halo-width":1}},{"id":"Building/label/Default","type":"symbol","source":"esri","source-layer":"Building/label","minzoom":15,"layout":{"visibility":"none","text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#5a3514","text-halo-color":"#EBE7E2","text-halo-width":0.7,"text-halo-blur":1}},{"id":"Cemetery/label/Default","type":"symbol","source":"esri","source-layer":"Cemetery/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#2d4e28","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Freight/label/Default","type":"symbol","source":"esri","source-layer":"Freight/label","minzoom":12,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Water and wastewater/label/Default","type":"symbol","source":"esri","source-layer":"Water and wastewater/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Port/label/Default","type":"symbol","source":"esri","source-layer":"Port/label","minzoom":12,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Industry/label/Default","type":"symbol","source":"esri","source-layer":"Industry/label","minzoom":12,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Government/label/Default","type":"symbol","source":"esri","source-layer":"Government/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#4a2b1b","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Finance/label/Default","type":"symbol","source":"esri","source-layer":"Finance/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#9d5a48","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Emergency/label/Default","type":"symbol","source":"esri","source-layer":"Emergency/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#33302f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Indigenous/label/Default","type":"symbol","source":"esri","source-layer":"Indigenous/label","minzoom":7,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#533d32","text-halo-color":"#e8e6d6","text-halo-width":1,"text-halo-blur":1}},{"id":"Military/label/Default","type":"symbol","source":"esri","source-layer":"Military/label","minzoom":6,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25,"symbol-avoid-edges":true},"paint":{"text-color":"#242221","text-halo-color":"#E0E0D9","text-halo-width":1,"text-halo-blur":1}},{"id":"Transportation/label/Default","type":"symbol","source":"esri","source-layer":"Transportation/label","minzoom":13,"layout":{"visibility":"none","text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#242221","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Pedestrian/label/Default","type":"symbol","source":"esri","source-layer":"Pedestrian/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#242221","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Beach/label/Default","type":"symbol","source":"esri","source-layer":"Beach/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#806b3c","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Golf course/label/Default","type":"symbol","source":"esri","source-layer":"Golf course/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#2d4e28","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Zoo/label/Default","type":"symbol","source":"esri","source-layer":"Zoo/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#2d4e28","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Retail/label/Default","type":"symbol","source":"esri","source-layer":"Retail/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#9d5a48","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Landmark/label/Default","type":"symbol","source":"esri","source-layer":"Landmark/label","minzoom":13,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#446757","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Openspace or forest/label/Default","type":"symbol","source":"esri","source-layer":"Openspace or forest/label","minzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Park or farming/label/Default","type":"symbol","source":"esri","source-layer":"Park or farming/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Point of interest/Park","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_label_class",1],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":"#006200","text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Education/label/Default","type":"symbol","source":"esri","source-layer":"Education/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#505000","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Medical/label/Default","type":"symbol","source":"esri","source-layer":"Medical/label","minzoom":11,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#3d5d69","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 forest or park/label/Default","type":"symbol","source":"esri","source-layer":"Admin1 forest or park/label","minzoom":7,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 forest or park/label/Default","type":"symbol","source":"esri","source-layer":"Admin0 forest or park/label","minzoom":6,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":25,"symbol-avoid-edges":true},"paint":{"text-color":"#006200","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Airport/label/Airport property","type":"symbol","source":"esri","source-layer":"Airport/label","minzoom":9,"layout":{"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[9,8.5],[15,9.5],[20,12.5],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15,"symbol-avoid-edges":true},"paint":{"text-color":"#5f5e5c","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin2 area/label/small","type":"symbol","source":"esri","source-layer":"Admin2 area/label","filter":["==","_label_class",1],"minzoom":9,"maxzoom":11,"layout":{"text-letter-spacing":0.2,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":11,"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-transform":"uppercase"},"paint":{"text-color":"#80755f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin2 area/label/large","type":"symbol","source":"esri","source-layer":"Admin2 area/label","filter":["==","_label_class",0],"minzoom":9,"maxzoom":11,"layout":{"text-letter-spacing":0.2,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":13,"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-transform":"uppercase"},"paint":{"text-color":"#80755f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/x small","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",5],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,8.5],[5,9.5],[6,10.3],[9,11]]},"text-letter-spacing":{"stops":[[4,0.1],[8,0.2]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/small","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",4],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,8.5],[5,9.5],[6,10.5],[9,11.5]]},"text-letter-spacing":{"stops":[[4,0.1],[8,0.2]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/medium","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",3],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,9.5],[5,10.5],[6,11.3],[9,12]]},"text-letter-spacing":{"stops":[[4,0.15],[8,0.4]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/large","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",2],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,9.5],[5,11.3],[6,13],[9,17]]},"text-letter-spacing":{"stops":[[4,0.1],[8,0.5]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/x large","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",1],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,10.3],[5,12],[6,13.5],[9,19]]},"text-letter-spacing":{"stops":[[4,0.15],[8,0.6]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin1 area/label/2x large","type":"symbol","source":"esri","source-layer":"Admin1 area/label","filter":["==","_label_class",0],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Montserrat SemiBold"],"text-transform":"uppercase","text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-size":{"stops":[[4,11.5],[5,12.3],[6,14],[9,19]]},"text-letter-spacing":{"stops":[[4,0.15],[8,0.75]]}},"paint":{"text-color":{"stops":[[4,"#554434"],[6,"#39240e"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Point of interest/General","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_label_class",0],"minzoom":9,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":{"stops":[[9,"#5a3514"],[11,"#5a3514"]]},"text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Point of interest/Bus station","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_symbol",2],"minzoom":12,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":{"stops":[[9,"#5a3514"],[11,"#5a3514"]]},"text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Point of interest/Rail station","type":"symbol","source":"esri","source-layer":"Point of interest","filter":["==","_symbol",3],"minzoom":12,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[15,9.5],[20,11],[22,15]]},"text-letter-spacing":{"stops":[[15,0.05],[20,0.15]]},"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-color":{"stops":[[9,"#5a3514"],[11,"#5a3514"]]},"text-halo-width":1,"text-halo-color":"#EBE7E2","text-halo-blur":1}},{"id":"Neighborhood","type":"symbol","source":"esri","source-layer":"Neighborhood","minzoom":14,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,10],[16,14]]},"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":1},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/town small","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",5],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,11],[16,15]]},"text-letter-spacing":0.08,"text-max-width":8,"text-field":"{_name_global}","text-padding":15},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/town large","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",4],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-size":{"stops":[[10,11],[16,17]]},"text-letter-spacing":0.09,"text-max-width":8,"text-field":"{_name_global}","text-padding":1},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/small","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",3],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,12],[16,18]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/medium","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",2],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,13],[16,20]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/large","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",1],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,14],[16,26]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City large scale/x large","type":"symbol","source":"esri","source-layer":"City large scale","filter":["==","_label_class",0],"minzoom":10,"maxzoom":17,"layout":{"symbol-avoid-edges":true,"text-font":["Montserrat SemiBold"],"text-letter-spacing":0.1,"text-max-width":8,"text-field":"{_name_global}","text-padding":1,"text-size":{"stops":[[10,14.5],[16,31]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town small non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",17],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town large non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",15],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/small non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",12],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/medium non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",9],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",18],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town large other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",14],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/small other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",11],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-size":11.5,"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left"},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/medium other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",8],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/x small","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",5],"minzoom":5,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[5,0.13],[8,0.5]]},"text-size":{"stops":[[5,13],[10,18]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/small","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",4],"minzoom":4,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[4,0.13],[8,0.5]]},"text-size":{"stops":[[4,13],[10,18]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/medium","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",3],"minzoom":2,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[2,0.13],[8,0.5]]},"text-size":{"stops":[[2,10],[4,14],[10,22]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/large","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",2],"minzoom":2,"maxzoom":10,"layout":{"text-font":["Avenir Next LT Pro Bold"],"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-letter-spacing":{"stops":[[2,0.13],[8,0.5]]},"text-size":{"stops":[[2,11],[4,14],[6,22]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/x large","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",1],"minzoom":2,"maxzoom":8,"layout":{"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-line-height":1.5,"text-letter-spacing":{"stops":[[2,0.15],[6,0.5]]},"text-size":{"stops":[[2,11.5],[4,15],[6,23]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town small admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",16],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/town large admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",13],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/small admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",10],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/medium admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",7],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":"#343434","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/large other capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",5],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large admin2 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",2],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/large non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",6],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,12.3],[8,13]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/large admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",4],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#2d2d2d"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large non capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",3],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large admin1 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",1],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#343434"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"City small scale/x large admin0 capital","type":"symbol","source":"esri","source-layer":"City small scale","filter":["==","_symbol",0],"minzoom":3,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"icon-image":"City small scale","icon-padding":1,"text-font":["Montserrat SemiBold"],"text-anchor":"bottom-left","text-max-width":8,"text-field":"{_name}","text-padding":1,"text-offset":[0.2,0.1],"text-justify":"left","text-size":{"stops":[[4,12.3],[6,13.5],[8,14.3]]}},"paint":{"text-color":{"stops":[[2,"#2d2d2d"],[3,"#000000"]]},"text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Admin0 point/2x large","type":"symbol","source":"esri","source-layer":"Admin0 point","filter":["==","_label_class",0],"minzoom":2,"maxzoom":6,"layout":{"text-max-width":8,"text-field":"{_name}","text-padding":1,"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-line-height":1.7,"text-letter-spacing":{"stops":[[2,0.3],[5,0.5]]},"text-size":{"stops":[[2,14],[4,22.5],[5,28]]}},"paint":{"text-color":"#0f010f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Continent","type":"symbol","source":"esri","source-layer":"Continent","maxzoom":2,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[0,8.3],[1,10.3]]},"text-letter-spacing":0.35,"text-max-width":8,"text-line-height":1.75,"text-field":"{_name_global}","text-padding":1,"text-transform":"uppercase"},"paint":{"text-color":"#363636","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"Disputed label point/Island","type":"symbol","source":"esri","source-layer":"Disputed label point","filter":["all",["==","_label_class",1],["in","DisputeID",0]],"minzoom":6,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[6,7],[15,10]]},"text-letter-spacing":0.13,"text-line-height":1.5,"text-max-width":4,"text-field":"{_name}","text-padding":1},"paint":{"text-color":"#595959","text-halo-blur":1,"text-halo-color":"#EBE7E2","text-halo-width":1}},{"id":"Disputed label point/Waterbody","type":"symbol","source":"esri","source-layer":"Disputed label point","filter":["all",["==","_label_class",0],["in","DisputeID",1006]],"minzoom":2,"maxzoom":10,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Demi Italic"],"text-size":{"stops":[[2,8],[6,9.3]]},"text-letter-spacing":0.1,"text-max-width":6,"text-field":"{_name}","text-padding":1},"paint":{"text-color":{"stops":[[1,"#0d6c9a"],[6,"#0d6c9a"]]},"text-halo-blur":1,"text-halo-color":"#82CFF5","text-halo-width":0.5}},{"id":"Disputed label point/Admin0","type":"symbol","source":"esri","source-layer":"Disputed label point","filter":["all",["==","_label_class",2],["in","DisputeID",1021]],"minzoom":2,"layout":{"symbol-avoid-edges":true,"text-font":["Avenir Next LT Pro Bold"],"text-size":{"stops":[[2,10],[4,14],[10,22]]},"text-letter-spacing":{"stops":[[2,0.13],[8,0.5]]},"text-max-width":8,"text-field":"{_name}","text-padding":1},"paint":{"text-color":"#1f1d1f","text-halo-color":"#EBE7E2","text-halo-width":1,"text-halo-blur":1}},{"id":"mapillary-images","type":"circle","source":"mly","source-layer":"image","maxzoom":22,"minzoom":11,"filter":["all",["==","is_pano",true],["==","organization_id",518073312556755]],"layout":{"visibility":"visible"},"paint":{"circle-radius":{"base":1,"stops":[[13,0.1],[14,0.5],[17,2],[18.5,4],[19,7],[19.5,10]]},"circle-color":"rgba(20,20,120,0)"}},{"id":"mapillary-location","type":"symbol","source":"mapillary","layout":{"icon-rotate":["get","bearing"],"icon-rotation-alignment":"map","icon-image":"video"}},{"id":"parcels","type":"line","source":"parcels","source-layer":"parcels","minzoom":11,"layout":{"visibility":"visible"},"paint":{"line-color":{"stops":[[14,"#222"],[17,"#333"],[17.1,"#444"],[18,"#333"]]},"line-width":{"base":1,"stops":[[12,0.1],[14,0.75],[17,1.5],[20,4]]},"line-opacity":{"base":1,"stops":[[12,0],[12.1,0.5],[22,1]]}}},{"id":"parcels-highlight","type":"line","source":"parcels","source-layer":"parcels","minzoom":11,"filter":["==","parcelno",""],"layout":{"visibility":"visible"},"paint":{"line-color":"#feb70d","line-width":{"base":1,"stops":[[12,0.5],[14,2],[15,3],[22,10]]},"line-opacity":{"base":1,"stops":[[12,0],[12.1,0.1],[12.5,1],[22,1]]}}},{"id":"parcels-fill","type":"fill","source":"parcels","source-layer":"parcels","interactive":true,"minzoom":12,"layout":{"visibility":"visible"},"paint":{"fill-color":"rgba(0,0,0,0)"}}],"metadata":{"arcgisStyleUrl":"https://www.arcgis.com/sharing/rest/content/items/273bf8d5c8ac400183fc24e109d20bcf/resources/styles/root.json","arcgisOriginalItemTitle":"Community"}}'),h=e(521);class f extends HTMLElement{static get observedAttributes(){return["data-map-state","data-map-mode"]}constructor(){super();const t=this.attachShadow({mode:"open"});this.styles=document.createElement("style"),this.styles.textContent="#map-wrapper {\n position: relative;\n}\n\n#map {\n width: 100%;\n min-height: 50em;\n}\n\ncod-button {\n position: absolute;\n bottom: 0;\n right: 0;\n}\n\n@media all and (min-width: 1024px) {\n cod-button {\n top: 0;\n left: 0;\n bottom: auto;\n right: auto;\n }\n}\n",this.maplibreStyles=document.createElement("style"),this.maplibreStyles.textContent=h.Z,t.appendChild(this.maplibreStyles),t.appendChild(this.styles),this.mapWrapper=document.createElement("section"),this.mapWrapper.id="map-wrapper";const n=document.createElement("article");n.id="map",this.mapWrapper.appendChild(n),t.appendChild(this.mapWrapper),this.map=new(g().Map)({container:n,style:u,center:[-83.1,42.36],zoom:9})}attributeChangedCallback(t,n,e){switch(t){case"data-map-state":{const t=JSON.parse(this.getAttribute("data-location"));this.map.addControl(new(g().NavigationControl)),this.map.on("style.load",(()=>{if(this.map.resize(),t){const n=[t.location.x,t.location.y],e=new(g().Marker);e.setLngLat(n),e.addTo(this.map),this.map.flyTo({center:n,zoom:12,bearing:0,speed:1.5,curve:1,easing:function(t){return t},essential:!0})}const n=JSON.parse(this.getAttribute("data-map-data"));n&&(this.map.addSource("data-points",{type:"geojson",data:n.data}),this.map.addLayer({id:"data-points",type:"circle",source:"data-points",paint:{"circle-radius":{base:5,stops:[[12,5],[22,120]]},"circle-color":"#004544"}}))}));const n=this;this.map.on("click","data-points",(function(t){switch(n.getAttribute("data-map-mode")){case"my-home-info":const e=n.getAttribute("data-map-active-data");n.buildPopup(e,t.features[0],n,t);break;case"map-panel":const o=n.getAttribute("data-parent-component");console.log(o);const a=document.getElementsByTagName(o);console.log(a),a[0].setAttribute("data-panel-data",JSON.stringify(t.features[0])),a[0].setAttribute("data-app-state","active-panel")}})),this.map.on("mouseenter","data-points",(function(){n.map.getCanvas().style.cursor="pointer"})),this.map.on("mouseleave","data-points",(function(){n.map.getCanvas().style.cursor=""}));break}case"data-map-mode":switch(this.getAttribute("data-map-mode")){case"my-home-info":{const t=this.getAttribute("data-parent-component"),n=document.getElementsByTagName(t),e=document.createElement("cod-button");e.addEventListener("click",(()=>{n[0]&&n[0].setAttribute("data-app-state","results")})),e.setAttribute("data-primary",!0),e.setAttribute("data-label","x"),e.setAttribute("data-size","large"),e.setAttribute("data-hover",!1),e.setAttribute("data-background-color","warning"),e.setAttribute("data-img",""),e.setAttribute("data-img-alt",""),e.setAttribute("data-icon",""),e.setAttribute("data-shape","square"),e.setAttribute("data-extra-classes","fw-bold"),this.mapWrapper.appendChild(e),n[0]&&n[0].setAttribute("data-map-state","init");break}}break}}buildPopup(t,n,e,o){switch(t){case"schools":(new(g().Popup)).setLngLat(o.lngLat).setHTML("School Name: ".concat(o.features[0].properties.EntityOfficialName)).addTo(e.map);break;case"demos-data":(new(g().Popup)).setLngLat(o.lngLat).setHTML("Demo Address: ".concat(o.features[0].properties.address)).addTo(e.map);break;case"stabilization-data":(new(g().Popup)).setLngLat(o.lngLat).setHTML("Stabilization Address: ".concat(o.features[0].properties.address)).addTo(e.map);break;case"improve-det":(new(g().Popup)).setLngLat(o.lngLat).setHTML("Issue type: ".concat(o.features[0].properties.request_type_title)).addTo(e.map)}}}customElements.define("cod-map",f);const x=document.createElement("template");x.innerHTML="\n\n";class v extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(x.content.cloneNode(!0)),this.navbar=document.createElement("nav"),this.navbarContainer=document.createElement("div"),this.navbarToggle=document.createElement("div"),this.navbarBrand=document.createElement("div"),this.navbarCollapse=document.createElement("div"),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-NAVBAR-TOGGLE":"offcanvas"===this.getAttribute("data-target-toggle")&&t.setAttribute("data-target-toggle","offcanvas"),"true"===this.getAttribute("data-show")&&t.setAttribute("data-show",!0),this.navbarToggle.appendChild(t),this.navbarContainer.appendChild(this.navbarToggle);break;case"COD-NAVBAR-COLLAPSE":this.navbarCollapse.appendChild(t),this.navbarContainer.appendChild(this.navbarCollapse);break;case"COD-NAVBAR-BRAND":this.navbarBrand.appendChild(t),this.navbarContainer.appendChild(this.navbarBrand);break;case"COD-OFFCANVAS":{const n=this.getAttribute("data-expand");n&&t.setAttribute("data-expand",n),this.navbarContainer.appendChild(t);break}default:t.className.split(" ").includes("no-wc")&&t.remove();break}}))})),this.navbar.appendChild(this.navbarContainer);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".navbar-brand {\n padding-top: 0;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){if(this.navbarToggle.querySelector("cod-navbar-toggle").setAttribute("data-show",e),this.navbarToggle.setAttribute("aria-expanded",e),this.navbarCollapse.querySelector("cod-navbar-collapse")){const t=this.navbarCollapse.className.split(" "),n=t.pop();"show"!==n&&t.push(n),"true"===e&&t.push("show"),this.navbarCollapse.className=t.join(" ")}}connectedCallback(){const t=this.getAttribute("data-expand"),n=this.getAttribute("data-id"),e=this.getAttribute("data-show"),o=this.getAttribute("data-position"),a=this.getAttribute("data-extra-classes"),r=this.getAttribute("data-container-classes"),i=this.getAttribute("data-collapse-classes"),l=["navbar"],s=[""],d=["collapse navbar-collapse"];r&&s.push(r),a&&l.push(a),i&&d.push(i),o&&l.push(o);"true"===this.getAttribute("data-navbar-dark")&&l.push(["navbar-dark"]),t&&("always"===t?l.push("navbar-expand"):l.push("navbar-expand-".concat(t))),"true"===e?(this.navbarCollapseClasses.push("show"),this.navbarToggle.setAttribute("aria-expanded","true")):this.navbarToggle.setAttribute("aria-expanded","false"),n&&(this.navbar.id=n,this.navbarCollapse.id="".concat(n,"-collapse"),this.navbarToggle.setAttribute("data-bs-target","#".concat(n,"-collapse")),this.navbarToggle.setAttribute("aria-control","".concat(n,"-collapse")),this.navbarToggle.setAttribute("aria-label","".concat(n," toggle navigation"))),this.navbar.className=l.join(" "),this.navbarContainer.className=s.join(" "),this.navbarBrand.className=["navbar-brand"].join(" "),this.navbarToggle.className=["navbar-toggler"].join(" "),this.navbarToggle.setAttribute("data-bs-toggle","collapse"),this.navbarCollapse.className=d.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.navbar)}}customElements.define("cod-navbar",v);const y=document.createElement("template");y.innerHTML="\n\n";class w extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(y.content.cloneNode(!0)),this.offcanvas=document.createElement("div"),this.offcanvasBackdrop=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{"true"==this.getAttribute("data-show")&&t.setAttribute("data-show",!0),"COD-OFFCANVAS-HEADER"==t.tagName&&("true"==this.getAttribute("data-button-dark")&&t.setAttribute("data-button-dark",!0),t.setAttribute("data-parent-id",this.getAttribute("data-id")));const n=this.getAttribute("data-expand");n&&t.setAttribute("data-expand",n),t.className.split(" ").includes("no-wc")?t.remove():this.offcanvas.appendChild(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){let o=this.offcanvas.className.split(" "),a=o.pop();"show"!=a&&o.push(a),"true"==e?(o.push("show"),"false"!=this.getAttribute("data-backdrop")&&("true"!=this.getAttribute("data-static")&&this.offcanvasBackdrop.addEventListener("click",this._onClick),this.shadowRoot.appendChild(this.offcanvasBackdrop))):this.shadowRoot.querySelector("div.offcanvas-backdrop")&&this.shadowRoot.removeChild(this.offcanvasBackdrop),this.offcanvas.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-show"),n=this.getAttribute("data-placement"),e=this.getAttribute("data-id"),o=this.getAttribute("data-backdrop"),a=this.getAttribute("data-backdrop-extra-classes"),r=this.getAttribute("data-scroll"),i=this.getAttribute("data-static"),l=this.getAttribute("data-extra-classes"),s=["offcanvas"],d=["offcanvas-backdrop fade show"];"true"==t&&s.push("show"),"false"==o&&this.offcanvas.setAttribute("data-bs-backdrop",!1),"true"==r&&this.offcanvas.setAttribute("data-bs-scroll",!0),"true"==i&&this.offcanvas.setAttribute("data-bs-backdrop","static"),void 0!=a&&null!=a&&d.push(a),void 0!=l&&null!=l&&s.push(l),void 0!=n&&null!=n?s.push("offcanvas-".concat(n)):s.push("offcanvas-start");const c=this.getAttribute("data-expand");c&&("always"===c?s.push("navbar-expand"):s.push("navbar-expand-".concat(c))),void 0!=e&&null!=e&&(this.offcanvas.id=e,this.offcanvas.setAttribute("aria-labelledby","".concat(e,"-label"))),this.offcanvas.setAttribute("tabindex",-1),this.offcanvas.className=s.join(" "),this.offcanvasBackdrop.className=d.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.offcanvas)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-offcanvas",w);const k=document.createElement("template");k.innerHTML="\n\n";class z extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(k.content.cloneNode(!0)),this.tableContainer=document.createElement("div"),this.table=document.createElement("table"),this.tableContainer.appendChild(this.table),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{switch(t.tagName){case"COD-TABLE-HEADER":"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),"true"===this.getAttribute("data-stacked")&&t.setIsStacked(!0,"true"===this.getAttribute("data-label-block")),this.table.appendChild(t);break;case"COD-TABLE-BODY":"true"==this.getAttribute("data-hover")&&t.setAttribute("data-hover","true"),"true"==this.getAttribute("data-striped-row")&&t.setAttribute("data-striped-row","true"),"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),"true"===this.getAttribute("data-stacked")&&t.setIsStacked(!0,"true"===this.getAttribute("data-label-block")),this.table.appendChild(t);break;default:t.className.split(" ").includes("no-wc")&&t.remove()}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-id"),n=this.getAttribute("data-extra-classes"),e=["table"];void 0!=n&&null!=n&&e.push(n),void 0!=t&&null!=t&&(this.table.id=t),"true"===this.getAttribute("data-scrollable")&&(this.tableContainer.className="table-responsive"),this.table.className=e.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.tableContainer)}}customElements.define("cod-table",z);const C=document.createElement("template");C.innerHTML="\n\n";class E extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(C.content.cloneNode(!0)),this.accordion=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{t.target.assignedElements().forEach(((t,n)=>{if("COD-ACCORDION-ITEM"===t.tagName){let e=document.createElement("div");e.className="accordion-item",t.setAttribute("data-parent-id",this.getAttribute("data-id")),t.setAttribute("data-index",n),null!==this.getAttribute("data-ol")&&t.setAttribute("data-li",""),e.appendChild(t),this.accordion.append(e)}else{t.className.split(" ").includes("no-wc")?t.remove():this.card.appendChild(t)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".accordion-ol {\n --bs-accordion-btn-padding-x: 0rem;\n --bs-accordion-btn-padding-y: 0rem;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-flush");const n=this.getAttribute("data-ol");let e=this.getAttribute("data-id"),o=this.getAttribute("data-extra-classes"),a=["accordion"];"true"==t&&a.push("accordion-flush"),null!==n&&a.push("accordion-ol"),void 0!=o&&null!=o&&a.push(o),this.accordion.className=a.join(" "),this.accordion.id=e,this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.accordion)}}customElements.define("cod-accordion",E);const A=document.createElement("template");A.innerHTML="\n
\n\n";class _ extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(A.content.cloneNode(!0)),this.btnGroup=t.querySelector("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{t.className.split(" ").includes("no-wc")?t.remove():this.btnGroup.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-type"),n=this.getAttribute("data-label"),e=this.getAttribute("data-size"),o=this.getAttribute("data-vertical"),a=this.getAttribute("data-extra-classes");this.btnGroup.role="group"==t?"group":"toolbar",void 0!=e&&null!=e&&(e="btn-group-".concat(e)),"true"==o&&(o="btn-group-vertical"),this.btnGroup.setAttribute("aria-label",n),this.btnGroup.className=["btn-".concat(t),"".concat(e||""),"".concat(o||""),"".concat(a||"")].join(" ")}}customElements.define("cod-button-group",_);const R=document.createElement("template");R.innerHTML="\n\n";class B extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(R.content.cloneNode(!0)),this.dropdown=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{t.className.split(" ").includes("no-wc")?t.remove():this.dropdown.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-split");t="true"===t?"btn-group":"dropdown",this.dropdown.className=t,this.querySelector('cod-button[data-bs-toggle="dropdown"]')&&this.querySelector('cod-button[data-bs-toggle="dropdown"]').addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.dropdown)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){"dropdown"===t.target.getAttribute("data-bs-toggle")&&("true"===this.getAttribute("aria-expanded")?(this.setAttribute("aria-expanded","false"),this.parentElement.querySelector("cod-dropdown-menu").setAttribute("data-show","false")):(this.setAttribute("aria-expanded","true"),this.parentElement.querySelector("cod-dropdown-menu").setAttribute("data-show","true")))}}customElements.define("cod-dropdown",B);const L=document.createElement("template");L.innerHTML="\n\n";const S=40,M=37,N=39,j=32,F=38,T=36,H=35;class V extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"}).appendChild(L.content.cloneNode(!0))}connectedCallback(){this.hasAttribute("role")||("radio"==this.getAttribute("data-type")?this.setAttribute("role","radiogroup"):this.setAttribute("role","group"));let t=this.checkedFormCheck;t?(this._uncheckAll(),this._checkNode(t)):this.querySelector("cod-form-check").setAttribute("tabindex",0),this.addEventListener("keydown",this._onKeyDown),this.addEventListener("click",this._onClick)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown),this.removeEventListener("click",this._onClick)}_onKeyDown(t){switch(t.keyCode){case F:case M:t.preventDefault(),this._setCheckedToPrevButton();break;case S:case N:t.preventDefault(),this._setCheckedToNextButton();break;case T:t.preventDefault(),this._setChecked(this.firstFormCheck);break;case H:t.preventDefault(),this._setChecked(this.lastFormCheck);break;case j:t.preventDefault(),"cod-form-check"===t.target.tagName.toLowerCase()&&this._setChecked(t.target)}}get checkedFormCheck(){return this.querySelector('[data-checked="true"]')}get firstFormCheck(){return this.querySelector("cod-form-check:first-of-type")}get lastFormCheck(){return this.querySelector("cod-form-check:last-of-type")}_prevFormCheck(t){let n=t.previousElementSibling;for(;n;){if("radio"===n.getAttribute("data-type")||"checkbox"===n.getAttribute("data-type"))return n;n=n.previousElementSibling}return null}_nextFormCheck(t){let n=t.nextElementSibling;for(;n;){if("radio"===n.getAttribute("data-type")||"checkbox"===prev.getAttribute("data-type"))return n;n=n.nextElementSibling}return null}_setCheckedToPrevButton(){let t=this.checkedFormCheck||this.firstFormCheck;t===this.firstFormCheck?this._setChecked(this.lastFormCheck):this._setChecked(this._prevFormCheck(t))}_setCheckedToNextButton(){let t=this.checkedRadioButton||this.firstFormCheck;t===this.lastFormCheck?this._setChecked(this.firstFormCheck):this._setChecked(this._nextFormCheck(t))}_setChecked(t){this._uncheckAll(),this._checkNode(t),this._focusNode(t)}_uncheckAll(){const t=this.querySelectorAll("cod-form-check");for(let n=0;n\n";class P extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(D.content.cloneNode(!0)),this.listGroup=null;const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-tag"),n=this.getAttribute("data-flushed"),e=this.getAttribute("data-numbered"),o=this.getAttribute("data-horizontal"),a=this.getAttribute("data-extra-classes");this.listGroup=document.createElement(t),n="true"==n?"list-group-flush":null,e="true"==e?"list-group-numbered":null,o="true"==o?"list-group-horizontal":null,this.listGroup.className=["list-group","".concat(n||""),"".concat(e||""),"".concat(o||""),"".concat(a||"")].join(" "),this.shadowRoot.querySelector(t)||(this.shadowRoot.addEventListener("slotchange",(t=>{let a=Array.from(this.children),r=a.length;a.forEach(((t,a)=>{let i=null;switch(a){case 0:t.setAttribute("data-order","first");break;case r-1:t.setAttribute("data-order","last");break;default:t.setAttribute("data-order","middle")}n&&(i="".concat(n," ")),e&&(i="".concat(e," "),t.setAttribute("data-order-index",a+1)),o&&(i="".concat(o," ")),i&&t.setAttribute("data-parent-classes",i),t.className.split(" ").includes("no-wc")?t.remove():this.listGroup.append(t)}))})),this.shadowRoot.appendChild(this.listGroup))}}customElements.define("cod-listgroup",P);const I=document.createElement("template");I.innerHTML="\n\n";class W extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(I.content.cloneNode(!0)),this.nav=document.createElement("ul"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{const n=document.createElement("li");n.className="nav-item",n.appendChild(t),this.nav.append(n);t.className.split(" ").includes("no-wc")?t.remove():this.nav.append(n)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".nav-item {\n font-family: var(--font-family);\n}\n\n.navbar-nav .nav-link {\n --bs-nav-link-padding-x: 0.75em;\n --bs-btn-padding-x: var(--bs-nav-link-padding-x);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-vertical"),n=this.getAttribute("data-horizontal-alignment"),e=this.getAttribute("data-tabs"),o=this.getAttribute("data-pills"),a=this.getAttribute("data-underline"),r=this.getAttribute("data-fill"),i=this.getAttribute("data-justified"),l=this.getAttribute("data-extra-classes"),s=["nav"],d=this.getAttribute("data-expand");d&&("always"===d?s.push("navbar-expand"):s.push("navbar-expand-".concat(d))),"true"===t&&s.push("flex-column"),"true"===e&&s.push("nav-tabs"),"true"===o&&s.push("nav-pills"),"true"===a&&s.push("nav-underline"),"true"===r&&s.push("nav-fill"),"true"===i&&s.push("nav-justified"),n&&s.push("justify-content-".concat(n)),l&&s.push(l),this.nav.className=s.join(" "),this.shadowRoot.querySelector("ul")||this.shadowRoot.appendChild(this.nav)}}customElements.define("cod-nav",W);const G=document.createElement("template");G.innerHTML="\n\n";class q extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(G.content.cloneNode(!0)),this.paginationContainer=document.createElement("nav"),this.pagination=document.createElement("ul"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{let e=document.createElement("li"),o=["page-item"];"true"==t.getAttribute("data-active")&&(o.push("active"),e.setAttribute("aria-current","page")),"true"==t.getAttribute("data-disabled")&&(o.push("disabled"),e.setAttribute("tabindex","-1")),e.className=o.join(" "),t.setAttribute("data-index",n),e.appendChild(t),t.className.split(" ").includes("no-wc")?t.remove():this.pagination.append(e)}))})),this.paginationContainer.appendChild(this.pagination);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-label"),n=this.getAttribute("data-id"),e=this.getAttribute("data-size"),o=this.getAttribute("data-extra-classes"),a=["pagination"];void 0!=e&&null!=e&&a.push("pagination-".concat(e)),void 0!=o&&null!=o&&a.push(o),void 0!=n&&null!=n&&(this.paginationContainer.id=n),this.paginationContainer.setAttribute("aria-label",t),this.pagination.className=a.join(" "),this.shadowRoot.querySelector("nav")||this.shadowRoot.appendChild(this.paginationContainer)}}customElements.define("cod-pagination",q);const O=document.createElement("template");O.innerHTML="\n\n";class U extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(O.content.cloneNode(!0)),this.accordionBody=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.accordionBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".accordion-body.data-li {\n border-left: 3px solid;\n border-color: var(--color-1);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-extra-classes"),n=["accordion-body"];null!==this.getAttribute("data-li")&&n.push("data-li"),void 0!=t&&null!=t&&n.push(t),this.accordionBody.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.accordionBody)}}customElements.define("cod-accordion-body",U);const Z=document.createElement("template");Z.innerHTML="\n\n";class Y extends HTMLElement{static get observedAttributes(){return["data-expanded"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Z.content.cloneNode(!0)),this.accordionHeader=document.createElement("div"),this.accordionBtn=document.createElement("button"),this.accordionHeader.appendChild(this.accordionBtn),this.shadowRoot.addEventListener("slotchange",(t=>{t.target.assignedElements().forEach((t=>{this.accordionBtn.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".li-num-box {\n /* TODO: Dynamically update list numbers to match accordion\n header text styles */\n width: 3rem;\n height: 3rem;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 2rem;\n}\n\n.accordion-button.data-li {\n padding-right: 1rem;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){this.accordionBtn.setAttribute("aria-expanded",e);let o=this.accordionBtn.className.split(" "),a=o.pop();"collapsed"!=a&&o.push(a),"false"==e&&o.push("collapsed"),this.accordionBtn.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-expanded"),e=this.getAttribute("data-extra-classes");let o=["accordion-button"];null!==this.getAttribute("data-li")&&o.push("data-li"),this.accordionBtn.setAttribute("type","button"),this.accordionBtn.setAttribute("data-bs-toggle","collapse"),this.accordionBtn.setAttribute("aria-controls",t),this.accordionBtn.setAttribute("data-bs-target","#".concat(t)),"true"==n?this.accordionBtn.setAttribute("aria-expanded","true"):(o.push("collapsed"),this.accordionBtn.setAttribute("aria-expanded","false")),void 0!=e&&null!=e&&o.push(e),this.accordionBtn.className=o.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.accordionHeader)}addListNumber(t,n){const e=document.createElement("div");e.innerText="".concat(t+1),n.push("li-num-box"),e.className=n.join(" "),this.accordionBtn.prepend(e)}}customElements.define("cod-accordion-header",Y);const X=document.createElement("template");X.innerHTML="\n\n";class J extends HTMLElement{static get observedAttributes(){return["data-expanded"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(X.content.cloneNode(!0)),this.accordionHeader=document.createElement("div"),this.accordionBody=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{t.target.assignedElements().forEach((t=>{if(t.setAttribute("data-parent-id","".concat(this.getAttribute("data-parent-id"),"-").concat(this.getAttribute("data-index"))),"true"==this.getAttribute("data-expanded")&&t.setAttribute("data-expanded",!0),"COD-ACCORDION-HEADER"==t.tagName){if(null!==this.getAttribute("data-li")){t.setAttribute("data-li","");const n=this.getHeaderListItemClasses();t.addListNumber(Number(this.getAttribute("data-index")),n)}this.accordionHeader.append(t)}else this.accordionBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){this.accordionHeader.querySelector("cod-accordion-header").setAttribute("data-expanded",e),this.accordionBody.querySelector("cod-accordion-body").setAttribute("data-expanded",e);let o=this.accordionBody.className.split(" "),a=o.pop();"show"!=a&&o.push(a),"true"==e&&o.push("show"),this.accordionBody.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-index"),e=["accordion-collapse collapse"];"true"==this.getAttribute("data-expanded")&&e.push("show"),null!==this.getAttribute("data-li")&&(e=e.concat(this.getBodyListItemClasses())),this.accordionBody.id="".concat(t,"-").concat(n),this.accordionHeader.className=["accordion-header"].join(" "),this.accordionBody.className=e.join(" "),this.querySelector("cod-accordion-header")&&this.querySelector("cod-accordion-header").addEventListener("click",this._onClick),this.shadowRoot.querySelector("ul")||(this.shadowRoot.appendChild(this.accordionHeader),this.shadowRoot.appendChild(this.accordionBody))}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}getListItemBackgroundColor(){const t=this.getAttribute("data-li-bg");return null!==t?t:"primary"}getListItemTextColor(){const t=this.getAttribute("data-li-text");return null!==t?t:"light"}getHeaderListItemClasses(){return["li-bg-"+this.getListItemBackgroundColor(),"text-"+this.getListItemTextColor()]}getBodyListItemClasses(){return["border-start","border-"+this.getListItemBackgroundColor()]}_onClick(t){"true"==t.target.getAttribute("data-expanded")?this.getRootNode().host.setAttribute("data-expanded","false"):this.getRootNode().host.setAttribute("data-expanded","true")}}customElements.define("cod-accordion-item",J);const K=document.createElement("template");K.innerHTML="\n\n";class $ extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(K.content.cloneNode(!0)),this.alert=document.createElement("div");const n=document.createElement("div");n.id="alert-content",this.alert.appendChild(n),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{t.className.split(" ").includes("no-wc")?t.remove():this.alert.querySelector("#alert-content").append(t)}))}))}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".alert {\n font-family: var(--font-family);\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-icon"),i=this.getAttribute("data-icon-order"),l=this.getAttribute("data-icon-size"),s=this.getAttribute("data-background-color"),d=this.getAttribute("data-extra-classes");this.alert.role="alert";let c="";if(void 0!=r&&null!=r){this.alert.querySelector("#alert-content").className="col";let t=document.createElement("cod-icon");t.setAttribute("data-icon",r),t.setAttribute("data-size",l);let n=document.createElement("div");switch(n.appendChild(t),c="d-flex",i){case"left":n.className="pe-2 m-0",this.alert.insertBefore(n,this.alert.querySelector("#alert-content"));break;case"right":n.className="ps-2 m-0",this.alert.appendChild(n)}}this.alert.className=["alert","alert-".concat(s||""),"".concat(d||""),c].join(" "),this.shadowRoot.appendChild(this.alert)}}customElements.define("cod-alert",$);class Q extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".badge {\n font-family: var(--font-family);\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-tag"),i=this.getAttribute("data-background-color"),l=this.getAttribute("data-text"),s=this.getAttribute("data-hidden-text"),d=this.getAttribute("data-pill"),c=this.getAttribute("data-url"),m=this.getAttribute("data-extra-classes"),b=null;if(d="true"==d?"rounded-pill":"",void 0!=c||null!=c?(b=document.createElement("a"),b.href=c):b=document.createElement(r),b.innerText=l,void 0!=s||null!=s){const t=document.createElement("span");t.className="visually-hidden",t.innerText=s,b.appendChild(t)}b.className=["badge","text-bg-".concat(i||""),"".concat(d||""),"".concat(m||"")].join(" "),this.shadowRoot.querySelector(r)||this.shadowRoot.appendChild(b)}}customElements.define("cod-badge",Q);const tt=document.createElement("template");tt.innerHTML='\n\n\n';class nt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(tt.content.cloneNode(!0)),this.nav=t.querySelector("nav"),this.breadcrumb=t.querySelector("ol"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{if(t.className.split(" ").includes("no-wc"))t.remove();else{let t=this.querySelector("li");t&&this.breadcrumb.append(t)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-no-divider"),n=this.getAttribute("data-svg-divider");"true"==t&&(this.nav.style.cssText="--bs-breadcrumb-divider: '';"),void 0==n&&null==n||(this.nav.style.cssText="--bs-breadcrumb-divider: url(".concat(n,");")),this.shadowRoot.appendChild(this.nav)}}customElements.define("cod-breadcrumb",nt);class et extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const t=this.getAttribute("data-close"),n=this.getAttribute("data-link"),e=this.getAttribute("data-id"),r=this.getAttribute("data-aria-label"),i=this.getAttribute("data-primary"),l=this.getAttribute("data-background-color"),s=this.getAttribute("data-shape"),d=this.getAttribute("data-icon"),c=this.getAttribute("data-icon-size"),m=this.getAttribute("data-icon-order"),b=this.getAttribute("data-hidden-label"),p=this.getAttribute("data-img"),g=this.getAttribute("data-img-alt"),u=this.getAttribute("data-size"),h=this.getAttribute("data-extra-classes"),f=this.getAttribute("data-label"),x=this.getAttribute("data-disable"),v=document.createElement("button"),y=["btn"];if(v.type="button",e&&(v.id=e),v.disabled="true"===x,v.setAttribute("aria-label","".concat(r||"")),"true"===i?y.push("btn-".concat(l)):"false"===i&&y.push("btn-outline-".concat(l)),"square"===s?y.push("cod-button--square"):y.push("cod-button-fluid"),null!==u&&y.push("btn-".concat(u)),null!==h&&y.push(h),g?y.push("cod-button--img"):y.push("cod-button--not-img"),"true"===t&&y.push("btn-close"),v.className=y.join(" "),d){const t=document.createElement("span"),n=document.createElement("cod-icon");n.setAttribute("data-icon",d),n.setAttribute("data-size",c),t.appendChild(n),v.innerText=f,"left"===m?v.insertBefore(t,v.firstChild):v.appendChild(t)}else if(g){v.innerText=f;const t=document.createElement("img");t.src=p,t.setAttribute("alt",g),v.appendChild(t)}else v.innerText=f;if(null!==b){const t=document.createElement("span");t.className="visually-hidden",t.innerText=b,v.appendChild(t)}if(!this.shadowRoot.querySelector("button")){const t=document.createElement("style");t.textContent=a,this.shadowRoot.appendChild(t);const e=document.createElement("style");e.textContent=o,this.shadowRoot.appendChild(e);const r=document.createElement("style");if(r.textContent=".btn {\n font-family: var(--font-family);\n border-radius: 0;\n}\n\n.cod-button--xsmall.cod-button--fluid {\n font-size: 0.85em;\n padding: 0.25em;\n}\n\n.cod-button--small.cod-button--fluid {\n font-size: 1em;\n padding: 0.8em 1.1em;\n}\n\n.cod-button--medium.cod-button--fluid {\n font-size: 1.1em;\n padding: 0.75em 1.25em;\n}\n\n.cod-button--large.cod-button--fluid {\n font-size: 1.2em;\n padding: 1em 2em;\n}\n\n.btn.cod-button--square {\n font-size: 1.1em;\n height: 2.5em;\n width: 2.5em;\n}\n\n.btn.cod-button--square.close {\n --bs-btn-close-bg: url(\n data:image/svg + xml,\n %3csvgxmlns='http://www.w3.org/2000/svg'viewBox='0 0 16 16'fill='%23000'%3e%3cpathd='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\n );\n background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n}\n\n.btn-sm.cod-button--square {\n font-size: 1em;\n height: 2em;\n width: 2em;\n}\n\n.btn-lg.cod-button--square {\n font-size: 1.2em;\n height: 3em;\n width: 3em;\n}\n\n.cod-button--img {\n display: flex;\n}\n\n.cod-button--square.cod-button--img {\n padding: 1px 6px;\n}\n\n.cod-button--img img {\n height: 1em;\n margin-left: 0.5em;\n position: relative;\n top: 0.1em;\n}\n\n.cod-button--square.cod-button--img img {\n height: auto;\n max-width: 100%;\n margin: auto;\n top: 0;\n}\n\ncod-icon {\n position: relative;\n top: 0.1em;\n margin: 0 0.5em;\n}\n",this.shadowRoot.appendChild(r),n){const t=document.createElement("a");t.href=n,t.appendChild(v),this.shadowRoot.appendChild(t)}else{this.shadowRoot.appendChild(v);const t=this.appendChild(document.createElement("button"));this.onclick=()=>t.click()}}}}customElements.define("cod-button",et);const ot=document.createElement("template");ot.innerHTML="\n\n";class at extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(ot.content.cloneNode(!0)),this.cardBody=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardBody)}}customElements.define("cod-card-body",at);const rt=document.createElement("template");rt.innerHTML="\n\n";class it extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(rt.content.cloneNode(!0)),this.cardFooter=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardFooter.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardFooter)}}customElements.define("cod-card-footer",it);const lt=document.createElement("template");lt.innerHTML="\n\n";class st extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(lt.content.cloneNode(!0)),this.cardHeader=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardHeader.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardHeader)}}customElements.define("cod-card-header",st);const dt=document.createElement("template");dt.innerHTML="\n\n";class ct extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(dt.content.cloneNode(!0)),this.cardOverlay=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.cardOverlay.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="div {\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.cardOverlay)}}customElements.define("cod-card-overlay",ct);const mt=document.createElement("template");mt.innerHTML="\n\n";class bt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(mt.content.cloneNode(!0)),this.carouselCaption=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.carouselCaption.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-extra-classes"),n=["carousel-caption d-none d-md-block"];void 0!=t&&null!=t&&n.push(t),this.carouselCaption.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.carouselCaption)}}customElements.define("cod-carousel-caption",bt);const pt=document.createElement("template");pt.innerHTML="\n\n";class gt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(pt.content.cloneNode(!0)),this.carouselItem=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.carouselItem.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.carouselItem)}}customElements.define("cod-carousel-item",gt);const ut=document.createElement("template");ut.innerHTML="\n\n";class ht extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){this.shadowRoot.addEventListener("slotchange",(t=>{const n=t.target.assignedElements();n.forEach((t=>{if("function"===typeof t.setIsClickable){const n=this.getAttribute("data-btn-color");t.setIsClickable(!0,n)}})),this.clickable.append(...n)})),this.clickable=document.createElement("a");const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".btn {\n --bs-btn-padding-x: 0;\n --bs-btn-padding-y: 0;\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);const r=this.getAttribute("href");this.clickable.setAttribute("href",r);const i=this.getAttribute("target");this.clickable.setAttribute("target",i);const l=this.getAttribute("data-btn-color");this.clickable.classList.add("btn",l),this.clickable.appendChild(ut.content.cloneNode(!0)),this.shadowRoot.appendChild(this.clickable)}}customElements.define("cod-clickable",ht);const ft=document.createElement("template");ft.innerHTML="\n\n";class xt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(ft.content.cloneNode(!0)),this.container=document.createElement("div"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.container.append(t)}))}))}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".container.color-1,\n.container-fluid.color-1,\n.container-xxl.color-1,\n.container-xl.color-1,\n.container-lg.color-1,\n.container-md.color-1,\n.container-sm.color-1 {\n background-color: var(--color-1);\n color: var(--color-light);\n}\n\n.container.color-2,\n.container-fluid.color-2,\n.container-xxl.color-2,\n.container-xl.color-2,\n.container-lg.color-2,\n.container-md.color-2,\n.container-sm.color-2 {\n background-color: var(--color-2);\n color: var(--color-1);\n}\n\n.container.color-3,\n.container-fluid.color-3,\n.container-xxl.color-3,\n.container-xl.color-3,\n.container-lg.color-3,\n.container-md.color-3,\n.container-sm.color-3 {\n background-color: var(--color-3);\n color: var(--color-dark);\n}\n\n.container.color-4,\n.container-fluid.color-4,\n.container-xxl.color-4,\n.container-xl.color-4,\n.container-lg.color-4,\n.container-md.color-4,\n.container-sm.color-4 {\n background-color: var(--color-4);\n color: var(--color-light);\n}\n\n.container.color-5,\n.container-fluid.color-5,\n.container-xxl.color-5,\n.container-xl.color-5,\n.container-lg.color-5,\n.container-md.color-5,\n.container-sm.color-5 {\n background-color: var(--color-5);\n color: var(--color-dark);\n}\n\n.container.color-light,\n.container-fluid.color-light,\n.container-xxl.color-light,\n.container-xl.color-light,\n.container-lg.color-light,\n.container-md.color-light,\n.container-sm.color-light {\n background-color: var(--color-light);\n color: var(--color-dark);\n}\n\n.container.color-dark,\n.container-fluid.color-dark,\n.container-xxl.color-dark,\n.container-xl.color-dark,\n.container-lg.color-dark,\n.container-md.color-dark,\n.container-sm.color-dark {\n background-color: var(--color-dark);\n color: var(--color-light);\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-type"),i=this.getAttribute("data-text"),l=this.getAttribute("data-background-color"),s=this.getAttribute("data-extra-classes");this.container.className=[r,"".concat(l||""),"".concat(s||"")].join(" "),this.container.innerText=i,this.shadowRoot.appendChild(this.container)}}customElements.define("cod-container",xt);const vt=document.createElement("template");vt.innerHTML="\n\n";class yt extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(vt.content.cloneNode(!0)),this.dropdownMenu=document.createElement("ul"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.dropdownMenu.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){console.log(e);let o=this.dropdownMenu.className.split(" "),a=o.pop();"show"!=a&&o.push(a),console.log(o),"true"==e&&o.push("show"),this.dropdownMenu.className=o.join(" ")}connectedCallback(){let t=this.getAttribute("data-dark-mode"),n=this.getAttribute("data-alignment"),e=this.getAttribute("data-show"),o=["dropdown-menu"];"true"==t&&o.push("dropdown-menu-dark"),void 0!=n&&null!=n&&o.push("dropdown-menu-".concat(n)),"true"==e&&o.push("show"),this.dropdownMenu.className=o.join(" "),this.shadowRoot.querySelector("ul")||this.shadowRoot.appendChild(this.dropdownMenu)}}customElements.define("cod-dropdown-menu",yt);var wt=e(572);class kt extends HTMLElement{static get observedAttributes(){return["data-invalid","data-checked","data-required"]}constructor(){super();this.attachShadow({mode:"open"});this.internals=this.attachInternals(),this.container=document.createElement("div"),this.formCheck=document.createElement("input"),this.formCheckLabel=null,this.invalid=!1,this.pristine=!0}attributeChangedCallback(t,n,e){let o=this.formCheck.className.split(" "),a=o.pop();switch("is-invalid"!=a&&o.push(a),e){case"true":switch(t){case"data-invalid":o.push("is-invalid"),this.formCheck.className=o.join(" ");break;case"data-checked":this.formCheck.checked=!0,this.formCheck.setAttribute("aria-checked","true");break;case"data-required":this.formCheck.required=!0,this.validateInput()}break;case"false":switch(t){case"data-invalid":this.formCheck.className=o.join(" ");break;case"data-checked":this.formCheck.checked=!1,this.formCheck.setAttribute("aria-checked","false");break;case"data-required":this.formCheck.required=!1,this.validateInput()}}}connectedCallback(){let t=this.getAttribute("data-type"),n=this.getAttribute("data-id"),e=this.getAttribute("data-value"),r=this.getAttribute("data-name"),i=this.getAttribute("data-disabled"),l=this.getAttribute("data-required"),s=this.getAttribute("data-checked"),d=this.getAttribute("data-mode"),c=this.getAttribute("data-nolabel"),m=this.getAttribute("data-label"),b=this.getAttribute("data-extra-classes"),p=this.getAttribute("data-background-color"),g=this.getAttribute("data-btn-color");if(this.formCheck.id=n,this.formCheck.type=t,this.formCheck.value=e,this.formCheck.name=r,this.formCheck.setAttribute("autocomplete","off"),"true"==l&&this.formCheck.setAttribute("required",!0),"true"==s?(this.formCheck.checked=!0,this.formCheck.setAttribute("aria-checked","true")):this.formCheck.setAttribute("aria-checked","false"),"true"==i&&this.formCheck.setAttribute("disabled",!0),"switch"==d&&this.formCheck.setAttribute("role",d),"btn"==d||"btn-outline"==d?(this.formCheck.className="btn-check",d=null):this.formCheck.className="form-check-input",!this.shadowRoot.querySelector("div")){const t=document.createElement("style");t.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");if(r.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(r),this.container.className=["form-check","form-".concat(d||""),"bg-".concat(p||""),"".concat(b||"")].join(" "),this.container.appendChild(this.formCheck),"true"!=c){const t=document.createElement("label");t.setAttribute("for",n),t.innerText=m,"btn"!=this.getAttribute("data-mode")&&"btn-outline"!=this.getAttribute("data-mode")||(t.className="btn ".concat(this.getAttribute("data-mode"),"-").concat(g)),this.container.appendChild(t)}this.shadowRoot.appendChild(this.container)}this.formCheck.addEventListener("change",(t=>{this.setAttribute("data-invalid",!1);const n=new t.constructor(t.type,t);this.dispatchEvent(n),this.validateInput()})),this.addEventListener("invalid",(t=>{this.invalid=!0,this.pristine=!1,this.setAttribute("data-invalid",!0),this.customErrorDisplay&&t.preventDefault()})),this.addEventListener("focus",(()=>this.formCheck.focus())),this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.validateInput()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}validateInput(){const t=this.formCheck.validity;if(this.invalid=!1,t.valid)this.internals.setValidity({}),this.setAttribute("data-invalid",!1);else for(let n in t){const e="data-".concat(n.toString());if(t[n]){this.validationError=n.toString(),this.invalid=!this.pristine&&!t.valid;const o=this.hasAttribute(e)?this.getAttribute(e):this.formCheck.validationMessage;this.internals.setValidity({[this.validationError]:!0},o),this.invalid&&this.customErrorDisplay&&this.dispatchEvent(new Event("invalid"))}}}}(0,wt.Z)(kt,"formAssociated",!0),customElements.define("cod-form-check",kt);class zt extends HTMLElement{static get observedAttributes(){return["data-invalid"]}constructor(){super();this.attachShadow({mode:"open"});this.internals=this.attachInternals(),this.formControl=null,this.invalid=!1,this.pristine=!0}attributeChangedCallback(t,n,e){let o=this.formControl.className.split(" "),a=o.pop();switch("is-invalid"!=a&&o.push(a),e){case"true":console.log("invalid input"),o.push("is-invalid"),this.formControl.className=o.join(" ");break;case"false":this.formControl.className=o.join(" ")}}connectedCallback(){let t=this.getAttribute("data-tag"),n=this.getAttribute("data-type"),e=this.getAttribute("data-id"),r=this.getAttribute("data-minlength"),i=this.getAttribute("data-maxlength"),l=this.getAttribute("data-pattern"),s=this.getAttribute("data-placeholder-txt"),d=this.getAttribute("data-read-only"),c=this.getAttribute("data-disabled"),m=this.getAttribute("data-plain-txt"),b=this.getAttribute("data-required"),p=this.getAttribute("data-rows"),g=this.getAttribute("data-size"),u=this.getAttribute("data-value"),h=this.getAttribute("data-background-color");const f=document.createElement(t);let x;if(f.id=e,f.placeholder=s,"true"==b&&f.setAttribute("required",!0),"textarea"!=t&&(f.type=n),void 0!=r&&null!=r&&f.setAttribute("minlength",r),void 0!=i&&null!=i&&f.setAttribute("maxlength",i),void 0!=l&&null!=l&&f.setAttribute("pattern",l),void 0!=p&&null!=p&&f.setAttribute("rows",p),void 0!=u&&null!=u&&(f.value=u),"true"==d&&f.setAttribute("readonly",!0),"true"==c&&f.setAttribute("disabled",!0),x="color"==n?n:"",f.className=["form-control","form-control-".concat(g||""),"form-control-".concat(x||""),"bg-".concat(h||""),"form-control-".concat(m||"")].join(" "),f.addEventListener("change",(t=>{this.setAttribute("data-invalid",!1);const n=new t.constructor(t.type,t);this.dispatchEvent(n),this.validateInput()})),this.addEventListener("invalid",(t=>{this.invalid=!0,this.pristine=!1,this.setAttribute("data-invalid",!0),this.customErrorDisplay&&t.preventDefault()})),this.addEventListener("focus",(()=>f.focus())),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),!this.shadowRoot.querySelector(t)){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".form-control {\n border-radius: 0;\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(f),this.formControl=f}this.validateInput()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}validateInput(){const t=this.formControl.validity;if(this.invalid=!1,t.valid)this.internals.setValidity({});else for(let n in t){const e="data-".concat(n.toString());if(t[n]){this.validationError=n.toString(),this.invalid=!this.pristine&&!t.valid;const o=this.hasAttribute(e)?this.getAttribute(e):this.formControl.validationMessage;this.internals.setValidity({[this.validationError]:!0},o),this.invalid&&this.customErrorDisplay&&this.dispatchEvent(new Event("invalid"))}}}}(0,wt.Z)(zt,"formAssociated",!0),customElements.define("cod-form-control",zt);class Ct extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){let t=this.getAttribute("data-input-id"),n=this.getAttribute("data-hidden"),e=this.getAttribute("data-color"),r=this.getAttribute("data-required"),i=this.getAttribute("data-text"),l=this.getAttribute("data-extra-classes");n="true"==n?"visually-hidden":"","true"==r&&(r="required-field");const s=document.createElement("label");if(s.innerText=i,s.setAttribute("for",t),s.className=["form-label",n,r,"".concat(l||""),"text-".concat(e||"")].join(" "),!this.shadowRoot.querySelector("label")){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="label.required-field:after {\n color: var(--bs-danger);\n content: ' *';\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(s)}}}customElements.define("cod-form-label",Ct);const Et=document.createElement("template");Et.innerHTML="\n \n \n";class At extends HTMLElement{static get observedAttributes(){return["data-invalid"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Et.content.cloneNode(!0)),this.internals=this.attachInternals(),this.select=t.querySelector("select"),t.addEventListener("slotchange",(t=>{let n=this.querySelector("option");n&&this.select.append(n)}))}attributeChangedCallback(t,n,e){let o=this.select.className.split(" "),a=o.pop();switch("is-invalid"!=a&&o.push(a),e){case"true":o.push("is-invalid"),this.select.className=o.join(" ");break;case"false":this.select.className=o.join(" ")}}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent=".form-select {\n border-radius: 0;\n}\n",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-id"),i=this.getAttribute("data-size"),l=this.getAttribute("data-multiple"),s=this.getAttribute("data-display-multiple"),d=this.getAttribute("data-disabled"),c=this.getAttribute("data-required"),m=this.getAttribute("data-aria-label"),b=this.getAttribute("data-extra-classes");this.select.addEventListener("change",(t=>{this.setAttribute("data-invalid",!1);const n=new t.constructor(t.type,t);this.dispatchEvent(n),this.validateSelect()})),this.addEventListener("invalid",(t=>{this.invalid=!0,this.pristine=!1,this.setAttribute("data-invalid",!0),this.customErrorDisplay&&t.preventDefault()})),this.addEventListener("focus",(()=>this.select.focus())),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),"true"==c&&this.select.setAttribute("required",!0),"true"==d&&this.select.setAttribute("disabled",!0),"true"==l&&this.select.setAttribute("multiple",!0),void 0!=s&&null!=s&&this.select.setAttribute("size",s),this.select.setAttribute("aria-label",m),this.select.id=r,this.select.className=["form-select","".concat(b||""),"form-select-".concat(i||"")].join(" "),this.validateSelect()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}checkValidity(){return this.internals.checkValidity()}reportValidity(){return this.internals.reportValidity()}validateSelect(){const t=this.select.validity;if(this.invalid=!1,t.valid)this.internals.setValidity({});else for(let n in t){const e="data-".concat(n.toString());if(t[n]){this.validationError=n.toString(),this.invalid=!this.pristine&&!t.valid;const o=this.hasAttribute(e)?this.getAttribute(e):this.select.validationMessage;this.internals.setValidity({[this.validationError]:!0},o),this.invalid&&this.customErrorDisplay&&this.dispatchEvent(new Event("invalid"))}}}}(0,wt.Z)(At,"formAssociated",!0),customElements.define("cod-form-select",At);class _t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){if(this.isIconConnected())return;const t=this.getAttribute("data-icon");let n=this.getAttribute("data-size");switch(n){case"small":n="16";break;case"medium":n="24";break;case"large":n="36";break;case"x-large":n="54"}const e=document.createElement("span");e.innerHTML=this.getIcon(t,n),this.shadowRoot.appendChild(e)}isIconConnected(){return null!==this.shadowRoot.querySelector("span")}getIcon(t,n){switch(t){case"chevron-right":return'\n \n \n ');case"chevron-right-circle":return'\n \n \n \n \n \n \n ');case"chevron-right-circle-fill":return'\n \n \n \n \n \n \n ');case"chevron-left":return'\n \n \n ');case"chevron-left-circle":return'\n \n \n \n \n \n \n ');case"chevron-left-circle-fill":return'\n \n \n \n \n \n \n ');case"chevron-up":return'\n \n \n ');case"chevron-up-circle":return'\n \n \n \n \n \n \n ');case"chevron-up-circle-fill":return'\n \n \n \n \n \n \n ');case"chevron-down":return'\n \n \n ');case"chevron-down-circle":return'\n \n \n \n \n \n \n ');case"chevron-down-circle-fill":return'\n \n \n \n \n \n \n ');case"house":return'\n \n \n ');case"house-fill":return'\n \n \n \n ');case"exclamation-circle":return'\n \n \n \n ');case"exclamation-circle-fill":return'\n \n \n ');case"exclamation-triangle":return'\n \n \n \n ');case"check-circle":return'\n \n \n \n ');case"check-circle-fill":return'\n \n \n ');case"calendar":return'\n \n \n ');case"calendar-fill":return'\n \n \n ');case"calendar-date":return'\n \n \n \n ');case"calendar-date-fill":return'\n \n \n \n ');case"newspaper":return'\n \n \n \n ');case"building":return'\n \n \n \n ');case"building-fill":return'\n \n \n ');case"buildings":return'\n \n \n \n ');case"buildings-fill":return'\n \n \n ');case"currency-dollar":return'\n \n \n ';case"file-earmark":return'\n \n ';case"list-task":return'\n \n \n \n ';case"journals":return'\n \n \n '}}}customElements.define("cod-icon",_t);const Rt=document.createElement("template");Rt.innerHTML="\n \n \n";class Bt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Rt.content.cloneNode(!0)),this.picture=t.querySelector("picture"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.picture.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(r)}}customElements.define("cod-image",Bt);const Lt=document.createElement("template");Lt.innerHTML="\n\n";class St extends HTMLElement{static get observedAttributes(){return["data-order","data-parent-classes","data-order-index"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Lt.content.cloneNode(!0)),this.listGroupItem=null;const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".list-group-item.first {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-flush.list-group-item {\n border-width: 0 0 var(--bs-list-group-border-width);\n}\n\n.list-group-flush.list-group-item.last {\n border-bottom-width: 0;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){switch(t){case"data-order":case"data-parent-classes":null!=e&&(this.listGroupItem.className="".concat(this.listGroupItem.className," ").concat(e));break;case"data-order-index":if(console.log(e),null!=e){this.listGroupItem.innerHTML="".concat(e,". ").concat(this.listGroupItem.innerHTML),Array.from(this.children).forEach((t=>{this.listGroupItem.append(t)}))}}}connectedCallback(){let t=this.getAttribute("data-tag"),n=this.getAttribute("data-background-color"),e=this.getAttribute("data-current"),o=this.getAttribute("data-disabled"),a=this.getAttribute("data-text"),r=this.getAttribute("data-extra-classes"),i=this.getAttribute("data-url");this.listGroupItem=document.createElement(t);let l="";("a"==t||"button"==t)&&(l="list-group-item-action"),void 0==a&&null==a||(this.listGroupItem.innerText=a),void 0==i&&null==i||(this.listGroupItem.href=i),"true"==e&&(this.listGroupItem.setAttribute("aria-current","true"),e="active"),"true"==o&&(this.listGroupItem.setAttribute("aria-disabled","true"),o="disabled"),this.listGroupItem.className=["list-group-item","list-group-item-".concat(n||""),"".concat(e||""),"".concat(o||""),"".concat(l||""),"".concat(r||"")].join(" "),this.shadowRoot.querySelector(t)||(this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.listGroupItem.append(t)}))})),this.shadowRoot.appendChild(this.listGroupItem))}}customElements.define("cod-listgroup-item",St);class Mt extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=o,this.shadowRoot.appendChild(t);const n=document.createElement("style");n.textContent=".loader-box {\n display: flex;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0.75);\n position: absolute;\n left: -0.2em;\n top: -0.2em;\n}\n\n.cod-loader-container {\n display: flex;\n margin: auto;\n}\n\n.cod-loader-container article {\n margin: auto;\n}\n\n.cod-loader-container article p {\n text-align: center;\n font-family: var(--font-family);\n margin-left: 0.5em;\n}\n\n.cod-loader-bars {\n position: relative;\n width: 75px;\n height: 100px;\n}\n\n.cod-loader.cod-loader--color-1\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-1);\n}\n\n.cod-loader.cod-loader--color-2\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-2);\n}\n\n.cod-loader.cod-loader--color-3\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-3);\n}\n\n.cod-loader.cod-loader--color-4\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-4);\n}\n\n.cod-loader.cod-loader--color-5\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__bar {\n background: var(--color-5);\n}\n\n.cod-loader__bar {\n position: absolute;\n bottom: 0;\n width: 10px;\n height: 50%;\n transform-origin: center bottom;\n box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);\n}\n\n.cod-loader__bar:nth-child(1) {\n left: 0px;\n transform: scale(1, 0.2);\n animation: barUp1 4s infinite;\n}\n\n.cod-loader__bar:nth-child(2) {\n left: 20px;\n transform: scale(1, 0.4);\n animation: barUp2 4s infinite;\n}\n\n.cod-loader__bar:nth-child(3) {\n left: 40px;\n transform: scale(1, 0.6);\n animation: barUp3 4s infinite;\n}\n\n.cod-loader__bar:nth-child(4) {\n left: 60px;\n transform: scale(1, 0.8);\n animation: barUp4 4s infinite;\n}\n\n.cod-loader__bar:nth-child(5) {\n left: 80px;\n transform: scale(1, 1);\n animation: barUp5 4s infinite;\n}\n\n.cod-loader__ball {\n position: absolute;\n bottom: 10px;\n left: 0;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n animation: ball 4s infinite;\n}\n\n.cod-loader.cod-loader--color-1\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-1);\n}\n\n.cod-loader.cod-loader--color-2\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-2);\n}\n\n.cod-loader.cod-loader--color-3\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-3);\n}\n\n.cod-loader.cod-loader--color-4\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-4);\n}\n\n.cod-loader.cod-loader--color-5\n .cod-loader-container\n article\n .cod-loader-bars\n .cod-loader__ball {\n background: var(--color-5);\n}\n\n@keyframes ball {\n 0% {\n transform: translate(0, 0);\n }\n\n 5% {\n transform: translate(10px, -14px);\n }\n\n 10% {\n transform: translate(20px, -10px);\n }\n\n 17% {\n transform: translate(30px, -24px);\n }\n\n 20% {\n transform: translate(40px, -20px);\n }\n\n 27% {\n transform: translate(50px, -34px);\n }\n\n 30% {\n transform: translate(60px, -30px);\n }\n\n 37% {\n transform: translate(70px, -44px);\n }\n\n 40% {\n transform: translate(80px, -40px);\n }\n\n 50% {\n transform: translate(80px, 0);\n }\n\n 57% {\n transform: translate(70px, -14px);\n }\n\n 60% {\n transform: translate(60px, -10px);\n }\n\n 67% {\n transform: translate(50px, -24px);\n }\n\n 70% {\n transform: translate(40px, -20px);\n }\n\n 77% {\n transform: translate(30px, -34px);\n }\n\n 80% {\n transform: translate(20px, -30px);\n }\n\n 87% {\n transform: translate(10px, -44px);\n }\n\n 90% {\n transform: translate(0, -40px);\n }\n\n 100% {\n transform: translate(0, 0);\n }\n}\n\n@keyframes barUp1 {\n 0% {\n transform: scale(1, 0.2);\n }\n\n 40% {\n transform: scale(1, 0.2);\n }\n\n 50% {\n transform: scale(1, 1);\n }\n\n 90% {\n transform: scale(1, 1);\n }\n\n 100% {\n transform: scale(1, 0.2);\n }\n}\n\n@keyframes barUp2 {\n 0% {\n transform: scale(1, 0.4);\n }\n\n 40% {\n transform: scale(1, 0.4);\n }\n\n 50% {\n transform: scale(1, 0.8);\n }\n\n 90% {\n transform: scale(1, 0.8);\n }\n\n 100% {\n transform: scale(1, 0.4);\n }\n}\n\n@keyframes barUp3 {\n 0% {\n transform: scale(1, 0.6);\n }\n\n 100% {\n transform: scale(1, 0.6);\n }\n}\n\n@keyframes barUp4 {\n 0% {\n transform: scale(1, 0.8);\n }\n\n 40% {\n transform: scale(1, 0.8);\n }\n\n 50% {\n transform: scale(1, 0.4);\n }\n\n 90% {\n transform: scale(1, 0.4);\n }\n\n 100% {\n transform: scale(1, 0.8);\n }\n}\n\n@keyframes barUp5 {\n 0% {\n transform: scale(1, 1);\n }\n\n 40% {\n transform: scale(1, 1);\n }\n\n 50% {\n transform: scale(1, 0.2);\n }\n\n 90% {\n transform: scale(1, 0.2);\n }\n\n 100% {\n transform: scale(1, 1);\n }\n}\n",this.shadowRoot.appendChild(n);const e=document.createElement("article");let a=this.getAttribute("data-color");e.className=["cod-loader","cod-loader--".concat(a||"color-1")].join(" "),e.innerHTML='\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

LOADING

\n
\n
',this.shadowRoot.appendChild(e)}}customElements.define("cod-loader",Mt);const Nt=document.createElement("template");Nt.innerHTML="\n\n";class jt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Nt.content.cloneNode(!0)),this.body=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.body.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-extra-classes"),n=["modal-body"];void 0!=t&&null!=t&&n.push(t),this.body.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.body)}}customElements.define("cod-modal-body",jt);const Ft=document.createElement("template");Ft.innerHTML="\n\n";class Tt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Ft.content.cloneNode(!0)),this.modalFooter=document.createElement("div"),this.closeBtn=document.createElement("cod-button"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.modalFooter.appendChild(t)}))})),this.modalFooter.appendChild(this.closeBtn);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-button-extra-classes"),n=this.getAttribute("data-extra-classes"),e=["modal-footer"];this.closeBtn.setAttribute("data-img-alt",""),this.closeBtn.setAttribute("data-icon",""),this.closeBtn.setAttribute("data-label","Close"),this.closeBtn.setAttribute("data-bs-dismiss","modal"),void 0!=n&&null!=n&&e.push(n),void 0!=t&&null!=t&&this.closeBtn.setAttribute("data-extra-classes",t),this.modalFooter.className=e.join(" "),this.closeBtn.addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.modalFooter)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-modal-footer",Tt);const Ht=document.createElement("template");Ht.innerHTML="\n\n";class Vt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Ht.content.cloneNode(!0)),this.modalHeader=document.createElement("div"),this.modalTitle=document.createElement("div"),this.closeBtn=document.createElement("cod-button"),this.shadowRoot.addEventListener("slotchange",(t=>{Array.from(this.children).forEach((t=>{this.modalTitle.appendChild(t)}))})),this.modalHeader.appendChild(this.modalTitle),this.modalHeader.appendChild(this.closeBtn);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-button-dark"),e=this.getAttribute("data-extra-classes"),o=["modal-header"];this.modalTitle.className="modal-title",this.modalTitle.id="".concat(t,"-label"),this.closeBtn.setAttribute("data-img-alt",""),this.closeBtn.setAttribute("data-icon",""),this.closeBtn.setAttribute("data-close","true"),this.closeBtn.setAttribute("data-bs-dismiss","modal"),void 0!=e&&null!=e&&o.push(e),"true"==n&&this.closeBtn.setAttribute("data-extra-classes","btn-close-white"),this.modalHeader.className=o.join(" "),this.closeBtn.addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.modalHeader)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(t){this.getRootNode().host.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-modal-header",Vt);class Dt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="a {\n text-decoration: none;\n font-family: var(--font-family);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-url"),n=this.getAttribute("data-text"),e=this.getAttribute("data-img"),o=this.getAttribute("data-img-alt"),a=this.getAttribute("data-text-classes"),r=this.getAttribute("data-img-classes"),i=this.getAttribute("data-img-size"),l=this.getAttribute("data-extra-classes"),s=[""],d=document.createElement("a"),c=encodeURI(t);if(d.href=decodeURI(c),e){const t=document.createElement("img"),n=encodeURI(e);t.src=decodeURI(n),i&&t.setAttribute("width",i),r&&(t.className=r),t.setAttribute("alt",o),d.appendChild(t)}if(n){const t=document.createElement("span");a&&(t.className=a),t.innerText=n,d.appendChild(t)}l&&s.push(l),d.className=s.join(" "),this.shadowRoot.querySelector("a")||this.shadowRoot.appendChild(d)}}customElements.define("cod-navbar-brand",Dt);const Pt=document.createElement("template");Pt.innerHTML="\n\n";class It extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Pt.content.cloneNode(!0)),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((n=>{t.appendChild(n)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}}customElements.define("cod-navbar-collapse",It);const Wt=document.createElement("template");Wt.innerHTML="\n\n";class Gt extends HTMLElement{static get observedAttributes(){return["data-show"]}constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Wt.content.cloneNode(!0)),this.offcanvas=document.createElement("div"),this.offcanvasBackdrop=document.createElement("div"),t.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{"true"===this.getAttribute("data-show")&&t.setAttribute("data-show",!0),"COD-OFFCANVAS-HEADER"===t.tagName&&("true"===this.getAttribute("data-button-dark")&&t.setAttribute("data-button-dark",!0),t.setAttribute("data-parent-id",this.getAttribute("data-id"))),this.offcanvas.appendChild(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){const o=this.offcanvas.className.split(" "),a=o.pop();"show"!==a&&o.push(a),"true"===e?(o.push("show"),"false"!==this.getAttribute("data-backdrop")&&("true"!==this.getAttribute("data-static")&&this.offcanvasBackdrop.addEventListener("click",this._onClick),this.shadowRoot.appendChild(this.offcanvasBackdrop))):this.shadowRoot.querySelector("div.offcanvas-backdrop")&&this.shadowRoot.removeChild(this.offcanvasBackdrop),this.offcanvas.className=o.join(" ")}connectedCallback(){const t=this.getAttribute("data-show"),n=this.getAttribute("data-placement"),e=this.getAttribute("data-id"),o=this.getAttribute("data-backdrop"),a=this.getAttribute("data-backdrop-extra-classes"),r=this.getAttribute("data-scroll"),i=this.getAttribute("data-static"),l=this.getAttribute("data-extra-classes"),s=["offcanvas"],d=["offcanvas-backdrop fade show"];"true"===t&&s.push("show"),"false"===o&&this.offcanvas.setAttribute("data-bs-backdrop",!1),"true"===r&&this.offcanvas.setAttribute("data-bs-scroll",!0),"true"===i&&this.offcanvas.setAttribute("data-bs-backdrop","static"),a&&d.push(a),l&&s.push(l),n?s.push("offcanvas-".concat(n)):s.push("offcanvas-start"),e&&(this.offcanvas.id=e,this.offcanvas.setAttribute("aria-labelledby","".concat(e,"-label"))),this.offcanvas.setAttribute("tabindex",-1),this.offcanvas.className=s.join(" "),this.offcanvasBackdrop.className=d.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.offcanvas)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(){this.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-navbar-offcanvas",Gt);class qt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent=".navbar-toggler-icon {\n border: none;\n background-color: transparent;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-mode"),n=this.getAttribute("data-extra-classes"),e=document.createElement("button"),o=[""];if("default"===t){const t=document.createElement("span");o.push("navbar-toggler-icon"),e.appendChild(t)}n&&o.push(n),e.className=o.join(" "),this.shadowRoot.querySelector("button")||(e.addEventListener("click",this._onClick.bind(this)),this.shadowRoot.appendChild(e))}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(){"true"===this.getAttribute("data-show")?"offcanvas"===this.getAttribute("data-target-toggle")?this.getRootNode().querySelector("cod-offcanvas").setAttribute("data-show","false"):this.getRootNode().host.setAttribute("data-show","false"):"offcanvas"===this.getAttribute("data-target-toggle")?this.getRootNode().querySelector("cod-offcanvas").setAttribute("data-show","true"):this.getRootNode().host.setAttribute("data-show","true")}}customElements.define("cod-navbar-toggle",qt);const Ot=document.createElement("template");Ot.innerHTML="\n\n";class Ut extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Ot.content.cloneNode(!0)),this.body=document.createElement("div"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{"COD-NAV"===t.tagName&&t.setAttribute("data-extra-classes","navbar-nav");const n=this.getAttribute("data-expand");n&&t.setAttribute("data-expand",n),this.body.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}attributeChangedCallback(t,n,e){if("data-expand"===t)e&&this.shadowRoot.querySelector("cod-nav").setAttribute("data-expand",e)}connectedCallback(){const t=this.getAttribute("data-extra-classes"),n=["offcanvas-body"];t&&n.push(t);const e=this.getAttribute("data-expand");e&&("always"===e?n.push("navbar-expand"):n.push("navbar-expand-".concat(e))),this.body.className=n.join(" "),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.body)}}(0,wt.Z)(Ut,"observedAttributes",["data-expand"]),customElements.define("cod-offcanvas-body",Ut);const Zt=document.createElement("template");Zt.innerHTML="\n\n";class Yt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(Zt.content.cloneNode(!0)),this.offcanvasHeader=document.createElement("div"),this.offcanvasTitle=document.createElement("div"),this.closeBtn=document.createElement("cod-button"),this.shadowRoot.addEventListener("slotchange",(()=>{Array.from(this.children).forEach((t=>{this.offcanvasTitle.appendChild(t)}))})),this.offcanvasHeader.appendChild(this.offcanvasTitle),this.offcanvasHeader.appendChild(this.closeBtn);const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){const t=this.getAttribute("data-parent-id"),n=this.getAttribute("data-button-dark"),e=this.getAttribute("data-extra-classes"),o=["offcanvas-header"];this.offcanvasTitle.className="offcanvas-title",this.offcanvasTitle.id="".concat(t,"-label"),this.closeBtn.setAttribute("data-img-alt",""),this.closeBtn.setAttribute("data-icon",""),this.closeBtn.setAttribute("data-close","true"),this.closeBtn.setAttribute("data-bs-dismiss",t),e&&o.push(e),"true"===n&&this.closeBtn.setAttribute("data-extra-classes","btn-close-white");const a=this.getAttribute("data-expand");a&&("always"===a?o.push("navbar-expand"):o.push("navbar-expand-".concat(a))),this.offcanvasHeader.className=o.join(" "),this.closeBtn.addEventListener("click",this._onClick),this.shadowRoot.querySelector("div")||this.shadowRoot.appendChild(this.offcanvasHeader)}disconnectedCallback(){this.removeEventListener("click",this._onClick.bind(this))}_onClick(){this.getRootNode().host.getRootNode().host.setAttribute("data-show","false")}}customElements.define("cod-offcanvas-header",Yt);class Xt extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="",t.appendChild(n),t.appendChild(e),t.appendChild(r)}connectedCallback(){let t=this.getAttribute("data-url"),n=this.getAttribute("data-special"),e=this.getAttribute("data-label"),o=this.getAttribute("data-text"),a=this.getAttribute("data-disabled"),r=this.getAttribute("data-active"),i=this.getAttribute("data-extra-classes"),l=["page-link"],s=null,d=null;if(void 0!=t&&null!=t)if("true"==a)l.push("disabled"),s=document.createElement("span"),d="span";else{s=document.createElement("a");let n=encodeURI(t);s.href=decodeURI(n),d="a"}else s=document.createElement("span"),d="span";"true"==r&&l.push("active"),void 0!=i&&null!=i&&l.push(i),void 0!=n&&null!=n&&this.setSpecialItem(n,s),void 0!=o&&null!=o&&(s.innerText=o),void 0!=e&&null!=e&&s.setAttribute("aria-label",e),s.className=l.join(" "),this.shadowRoot.querySelector(d)||this.shadowRoot.appendChild(s)}setSpecialItem(t,n){switch(t){case"first":n.innerHTML='';break;case"previous":n.innerHTML='';break;case"next":n.innerHTML='';break;case"last":n.innerHTML='';break;case"ellipsiss":n.innerHTML=''}}}customElements.define("cod-pagination-item",Xt);class Jt extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r=this.getAttribute("data-type"),i=this.getAttribute("data-label"),l=this.getAttribute("data-aria-label"),s=this.getAttribute("data-animated"),d=this.getAttribute("data-value"),c=this.getAttribute("data-background-color"),m=this.getAttribute("data-multi-bars");const b=document.createElement("div");if("undefined"==m||"null"==m){const t=document.createElement("div");t.role="progressbar",t.setAttribute("aria-label",l),t.setAttribute("aria-valuenow",d),t.className="progress";const n=document.createElement("div");n.style="width: ".concat(d,"%"),"undefined"!=i&&"null"!=i&&(n.innerText=i),n.className=["progress-bar","progress-bar-".concat(s||""),"progress-bar-".concat(r||""),"bg-".concat(c||"")].join(" "),t.appendChild(n),b.appendChild(t)}else b.className="progress-stacked",this.buildBar(JSON.parse(m),b);this.shadowRoot.appendChild(b)}buildBar(t,n){t.forEach((t=>{let e=document.createElement("div");e.role="progressbar",e.setAttribute("aria-label",t.ariaLabel),e.setAttribute("aria-valuenow",t.value),e.setAttribute("aria-valuemin","0"),e.setAttribute("aria-valuemax","100"),e.className="progress";const o=document.createElement("div");e.style="width: ".concat(t.value,"%"),void 0!=t.label&&null!=t.label&&(o.innerText=t.label),o.className=["progress-bar","progress-bar-".concat(t.animated||""),"progress-bar-".concat(t.striped||""),"bg-".concat(t.backgroundColor||"")].join(" "),e.appendChild(o),n.appendChild(e)}))}}customElements.define("cod-progress",Jt);class Kt extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);this.getAttribute("data-id");let r=this.getAttribute("data-disabled"),i=this.getAttribute("data-min"),l=this.getAttribute("data-max"),s=this.getAttribute("data-step");const d=document.createElement("input");d.type="range",d.className="form-range","true"==r&&(d.disabled=!0),console.log(i),void 0==i&&null==i||d.setAttribute("min",i),void 0==l&&null==l||d.setAttribute("max",l),void 0==s&&null==s||d.setAttribute("step",s),this.shadowRoot.appendChild(d)}}customElements.define("cod-range",Kt);class $t extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){const t=document.createElement("style");t.textContent=a;const n=document.createElement("style");n.textContent=o;const e=document.createElement("style");e.textContent="",this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(n),this.shadowRoot.appendChild(e);let r,i,l=this.getAttribute("data-type"),s=this.getAttribute("data-size"),d=this.getAttribute("data-background-color"),c=this.getAttribute("data-display-type");r="sm"==s?"spinner-".concat(l,"-").concat(s):"",i="inline"==c?document.createElement("span"):document.createElement("div"),i.className=["spinner-".concat(l||""),r,"text-".concat(d||"")].join(" "),i.role="status";let m=document.createElement("span");m.innerText="Loading...",m.className="visually-hidden",i.appendChild(m),this.shadowRoot.appendChild(i)}}customElements.define("cod-spinner",$t);const Qt="table-stacked",tn="cell-header-block",nn="first",en=document.createElement("template");en.innerHTML="\n\n";class on extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(en.content.cloneNode(!0)),this.tableBody=document.createElement("tbody"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{0===n?t.setIsFirst():n%2!==0&&t.setIsOdd(),"true"==this.getAttribute("data-striped-row")&&n%2==0&&t.setAttribute("data-striped-row","true"),"true"==this.getAttribute("data-hover")&&t.setAttribute("data-hover","true"),"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),this.isStacked()&&t.setIsStacked(!0,this.isCellHeaderBlock()),this.tableBody.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="tbody {\n display: block;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableBody)}setIsStacked(t,n){t?this.tableBody.classList.add(Qt):this.tableBody.classList.remove(Qt),n?this.tableBody.classList.add(tn):this.tableBody.classList.remove(tn)}isStacked(){return this.tableBody.classList.contains(Qt)}isCellHeaderBlock(){return this.tableBody.classList.contains(tn)}}customElements.define("cod-table-body",on);const an=document.createElement("template");an.innerHTML="\n\n";class rn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(an.content.cloneNode(!0)),this.tableCell=document.createElement("td"),t.addEventListener("slotchange",(t=>{t.target.assignedNodes().forEach((t=>{if(t.nodeType!==Node.TEXT_NODE||!/^\s*$/.test(t.textContent)){const n=document.createElement("div");n.classList.add("content"),n.appendChild(t),this.tableCell.appendChild(n)}}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="td {\n display: block;\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom: solid var(--bs-border-width) var(--bs-secondary);\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n height: 100%;\n}\n\ntd.table-striped,\ntd.table-striped-columns {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n}\n\ntd.table-scrollable {\n width: 5em;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableCell)}connectedCallback(){let t=this.getAttribute("data-striped-row"),n=this.getAttribute("data-striped-col"),e=this.getAttribute("data-vertical-align"),o=this.getAttribute("data-extra-classes");void 0!=e&&null!=e&&this.tableCell.classList.add(e),"true"===this.getAttribute("data-scrollable")&&this.tableCell.classList.add("table-scrollable"),"true"==t&&this.tableCell.classList.add("table-striped"),"true"==n&&this.tableCell.classList.add("table-striped-columns"),void 0!=o&&null!=o&&this.tableCell.classList.add(o);const a=this.getAttribute("data-label");a&&this.tableCell.setAttribute("data-label",a)}setIsStacked(t,n){t?this.tableCell.classList.add(Qt):this.tableCell.classList.remove(Qt),n?this.tableCell.classList.add(tn):this.tableCell.classList.remove(tn)}isStacked(){return this.tableCell.classList.contains(Qt)}}customElements.define("cod-table-cell",rn);const ln=document.createElement("template");ln.innerHTML="\n\n";class sn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(ln.content.cloneNode(!0)),this.tableCellHeader=document.createElement("th"),t.addEventListener("slotchange",(t=>{Array.from(this.childNodes).forEach((t=>{this.tableCellHeader.appendChild(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="th {\n display: block;\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom: solid var(--bs-border-width) var(--bs-secondary);\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n font-weight: bold;\n height: 100%;\n}\n\nth.table-striped-columns {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n}\n\nth.table-scrollable {\n width: 5em;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableCellHeader)}connectedCallback(){let t=this.getAttribute("data-striped-row"),n=this.getAttribute("data-striped-col"),e=this.getAttribute("data-vertical-align"),o=this.getAttribute("data-extra-classes");void 0!=e&&null!=e&&this.tableCellHeader.classList.add(e),"true"===this.getAttribute("data-scrollable")&&this.tableCellHeader.classList.add("table-scrollable"),"true"==t&&this.tableCellHeader.classList.add("table-striped"),"true"==n&&this.tableCellHeader.classList.add("table-striped-columns"),void 0!=o&&null!=o&&this.tableCellHeader.classList.add(o)}setIsStacked(t,n){t?this.tableCellHeader.classList.add(Qt):this.tableCellHeader.classList.remove(Qt),n?this.tableCellHeader.classList.add(tn):this.tableCellHeader.classList.remove(tn)}isStacked(){return this.tableCellHeader.classList.contains(Qt)}}customElements.define("cod-table-cell-header",sn);const dn=document.createElement("template");dn.innerHTML="\n\n";class cn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(dn.content.cloneNode(!0)),this.tableHeader=document.createElement("thead"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{0===n&&t.setIsFirst(),"true"==this.getAttribute("data-striped-col")&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),this.isStacked()&&t.setIsStacked(!0,this.isCellHeaderBlock()),this.tableHeader.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="thead {\n display: block;\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableHeader)}setIsStacked(t,n){t?this.tableHeader.classList.add(Qt):this.tableHeader.classList.remove(Qt),n?this.tableHeader.classList.add(tn):this.tableHeader.classList.remove(tn)}isStacked(){return this.tableHeader.classList.contains(Qt)}isCellHeaderBlock(){return this.tableHeader.classList.contains(tn)}}customElements.define("cod-table-header",cn);const mn=document.createElement("template");mn.innerHTML="\n\n";class bn extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.appendChild(mn.content.cloneNode(!0)),this.tableRow=document.createElement("tr"),t.addEventListener("slotchange",(t=>{Array.from(this.children).forEach(((t,n)=>{"true"==this.getAttribute("data-striped-row")&&t.setAttribute("data-striped-row","true"),"true"==this.getAttribute("data-striped-col")&&n%2!=0&&t.setAttribute("data-striped-col","true"),"true"==this.getAttribute("data-vertical-align")&&t.setAttribute("data-vertical-align","true"),"true"===this.getAttribute("data-scrollable")&&t.setAttribute("data-scrollable","true"),this.isStacked()&&t.setIsStacked(!0,this.isCellHeaderBlock()),this.tableRow.append(t)}))}));const n=document.createElement("style");n.textContent=a;const e=document.createElement("style");e.textContent=o;const r=document.createElement("style");r.textContent="tr {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n display: flex;\n align-items: stretch;\n}\n\ntr cod-table-cell,\ntr cod-table-cell-header {\n flex: 1;\n}\n\ntr cod-table-cell[colspan='2'],\ntr cod-table-cell-header[colspan='2'] {\n flex: 2;\n}\n\ntr cod-table-cell[colspan='3'],\ntr cod-table-cell-header[colspan='3'] {\n flex: 3;\n}\n\ntr cod-table-cell[colspan='4'],\ntr cod-table-cell-header[colspan='4'] {\n flex: 4;\n}\n\ntr cod-table-cell[colspan='5'],\ntr cod-table-cell-header[colspan='5'] {\n flex: 5;\n}\n\ntr.table-hover:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n}\n",t.appendChild(n),t.appendChild(e),t.appendChild(r),t.appendChild(this.tableRow)}connectedCallback(){let t=this.getAttribute("data-extra-classes");"true"==this.getAttribute("data-hover")&&this.tableRow.classList.add("table-hover"),void 0!=t&&null!=t&&this.tableRow.classList.add(t)}setIsStacked(t,n){t?this.tableRow.classList.add(Qt):this.tableRow.classList.remove(Qt),n?this.tableRow.classList.add(tn):this.tableRow.classList.remove(tn)}isStacked(){return this.tableRow.classList.contains(Qt)}isCellHeaderBlock(){return this.tableRow.classList.contains(tn)}setIsFirst(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.tableRow.classList.add(nn):this.tableRow.classList.remove(nn)}setIsOdd(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.tableRow.classList.add("odd"):this.tableRow.classList.remove("odd")}}customElements.define("cod-table-row",bn)}},function(t){t.O(0,[578,635],(function(){return n=730,t(t.s=n);var n}));t.O()}]); \ No newline at end of file diff --git a/public/build/assets/js/runtime.js b/public/build/assets/js/runtime.js new file mode 100644 index 0000000..3578182 --- /dev/null +++ b/public/build/assets/js/runtime.js @@ -0,0 +1 @@ +!function(){"use strict";var n,r={},e={};function t(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return r[n].call(u.exports,u,u.exports,t),u.exports}t.m=r,n=[],t.O=function(r,e,o,u){if(!e){var i=1/0;for(a=0;a=u)&&Object.keys(t.O).every((function(n){return t.O[n](e[c])}))?e.splice(c--,1):(f=!1,u0&&n[a-1][2]>u;a--)n[a]=n[a-1];n[a]=[e,o,u]},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,{a:r}),r},t.d=function(n,r){for(var e in r)t.o(r,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:r[e]})},t.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},function(){var n={666:0};t.O.j=function(r){return 0===n[r]};var r=function(r,e){var o,u,i=e[0],f=e[1],c=e[2],s=0;if(i.some((function(r){return 0!==n[r]}))){for(o in f)t.o(f,o)&&(t.m[o]=f[o]);if(c)var a=c(t)}for(r&&r(e);s.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' 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}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' 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,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' 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,.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover,.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-attrib-empty,.maplibregl-attrib-empty{display:none}.mapboxgl-ctrl-scale,.maplibregl-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}.mapboxgl-popup,.maplibregl-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,.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right,.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left,.maplibregl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right,.maplibregl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip,.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button,.maplibregl-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,.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content,.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content,.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content,.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer,.maplibregl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *,.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer,.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer,.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.mapboxgl-marker,.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.mapboxgl-user-location-dot,.maplibregl-user-location-dot{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before,.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;background-color:#1da1f2;border-radius:50%;content:\"\";height:15px;position:absolute;width:15px}.mapboxgl-user-location-dot:after,.maplibregl-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}@keyframes maplibregl-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,.maplibregl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after,.maplibregl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle,.maplibregl-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,.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom,.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);bottom:0;color:#fff;display:flex;font-size:1.4em;justify-content:center;left:0;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease 1s}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}"},613:function(t){t.exports=function(){"use strict";var t,e,i;function r(r,n){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),i=n(o),"undefined"!==typeof window&&(i.workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"})))}else e=n;else t=n}return r(["exports"],(function(t){var e=i;function i(t,e,i,r){this.cx=3*t,this.bx=3*(i-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(r-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=i,this.p2y=r}function r(t,i,r,n){const a=new e(t,i,r,n);return function(t){return a.solve(t)}}i.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?o=i:s=i,i=.5*(s-o)+o;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};const n=r(.25,.1,.25,1);function a(t,e,i){return Math.min(i,Math.max(e,t))}function o(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function s(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let l=1;function c(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e))}))}function h(t,e,i){const r={};for(const n in t)r[n]=e.call(i||this,t[n],n,t);return r}function u(t,e,i){const r={};for(const n in t)e.call(i||this,t[n],n,t)&&(r[n]=t[n]);return r}function p(t){return Array.isArray(t)?t.map(p):"object"==typeof t&&t?h(t,p):t}const d={};function m(t){d[t]||("undefined"!=typeof console&&console.warn(t),d[t]=!0)}function f(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function g(t){let e=0;for(let i,r,n=0,a=t.length,o=a-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,r,n)=>{const a=r||n;return e[i]=!a||a.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e}let x,v,b=null;function w(t){if(null==b){const e=t.navigator?t.navigator.userAgent:null;b=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return b}function T(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(t){const e=requestAnimationFrame(t);return{cancel:()=>cancelAnimationFrame(e)}},getImageData(t,e=0){const i=window.document.createElement("canvas"),r=i.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return i.width=t.width,i.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:t=>(x||(x=document.createElement("a")),x.href=t,x.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==v&&(v=matchMedia("(prefers-reduced-motion: reduce)")),v.matches)}};var S=I;function I(t,e){this.x=t,this.y=e}I.prototype={clone:function(){return new I(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),i=Math.sin(t),r=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=r,this},_rotateAround:function(t,e){var i=Math.cos(t),r=Math.sin(t),n=e.y+r*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-r*(this.y-e.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},I.convert=function(t){return t instanceof I?t:Array.isArray(t)?new I(t[0],t[1]):t};const z={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},C="mapbox-tiles";let A,k,M=500,P=50;function D(){"undefined"==typeof caches||A||(A=caches.open(C))}let L=1/0;const B={supported:!1,testSupport:function(t){!O&&F&&(V?U(t):R=t)}};let R,F,O=!1,V=!1;function U(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,F),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),O=!0}"undefined"!=typeof document&&(F=document.createElement("img"),F.onload=function(){R&&U(R),R=null,V=!0},F.onerror=function(){O=!0,R=null},F.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const N={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(N);class $ extends Error{constructor(t,e,i,r){super(`AJAXError: ${e} (${t}): ${i}`),this.status=t,this.statusText=e,this.url=i,this.body=r}}const G=_()?()=>self.worker&&self.worker.referrer:()=>("blob:"===window.location.protocol?window.parent:window).location.href;function q(t,e){const i=new AbortController,r=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:G(),signal:i.signal});let n=!1,a=!1;return"json"===t.type&&r.headers.set("Accept","application/json"),((i,o,s)=>{if(a)return;const l=Date.now();fetch(r).then((i=>i.ok?((i,o,s)=>{("arrayBuffer"===t.type?i.arrayBuffer():"json"===t.type?i.json():i.text()).then((t=>{a||(o&&s&&function(t,e,i){if(D(),!A)return;const r={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach(((t,e)=>r.headers.set(e,t)));const n=y(e.headers.get("Cache-Control")||"");n["no-store"]||(n["max-age"]&&r.headers.set("Expires",new Date(i+1e3*n["max-age"]).toUTCString()),new Date(r.headers.get("Expires")).getTime()-i<42e4||function(t,e){if(void 0===k)try{new Response(new ReadableStream),k=!0}catch(t){k=!1}k?e(t.body):t.blob().then(e)}(e,(e=>{const i=new Response(e,r);D(),A&&A.then((e=>e.put(function(t){const e=t.indexOf("?");return e<0?t:t.slice(0,e)}(t.url),i))).catch((t=>m(t.message)))})))}(r,o,s),n=!0,e(null,t,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((t=>{a||e(new Error(t.message))}))})(i,null,l):i.blob().then((r=>e(new $(i.status,i.statusText,t.url,r)))))).catch((t=>{20!==t.code&&e(new Error(t.message))}))})(),{cancel:()=>{a=!0,n||i.abort()}}}const Z=function(t,e){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e);if(!_()){const i=t.url.substring(0,t.url.indexOf("://"));return(z.REGISTERED_PROTOCOLS[i]||q)(t,e)}}if(!(/^file:/.test(i=t.url)||/^file:/.test(G())&&!/^\w+:/.test(i))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return q(t,e);if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var i;return function(t,e){const i=new XMLHttpRequest;i.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(i.responseType="arraybuffer");for(const r in t.headers)i.setRequestHeader(r,t.headers[r]);return"json"===t.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===t.credentials,i.onerror=()=>{e(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===t.type)try{r=JSON.parse(i.response)}catch(t){return e(t)}e(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else{const r=new Blob([i.response],{type:i.getResponseHeader("Content-Type")});e(new $(i.status,i.statusText,t.url,r))}},i.send(t.body),{cancel:()=>i.abort()}}(t,e)},j=function(t,e){return Z(s(t,{type:"arrayBuffer"}),e)};function X(t){const e=window.document.createElement("a");return e.href=t,e.protocol===window.document.location.protocol&&e.host===window.document.location.host}const H="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let W,K;W=[],K=0;const J=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),K>=z.MAX_PARALLEL_IMAGE_REQUESTS){const i={requestParameters:t,callback:e,cancelled:!1,cancel(){this.cancelled=!0}};return W.push(i),i}K++;let i=!1;const r=()=>{if(!i)for(i=!0,K--;W.length&&K{r(),t?e(t):i&&function(t,e){"function"==typeof createImageBitmap?function(t,e){const i=new Blob([new Uint8Array(t)],{type:"image/png"});createImageBitmap(i).then((t=>{e(null,t)})).catch((t=>{e(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(t,e):function(t,e){const i=new Image;i.onload=()=>{e(null,i),URL.revokeObjectURL(i.src),i.onload=null,window.requestAnimationFrame((()=>{i.src=H}))},i.onerror=()=>e(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 r=new Blob([new Uint8Array(t)],{type:"image/png"});i.src=t.byteLength?URL.createObjectURL(r):H}(t,e)}(i,((t,i)=>{null!=t?e(t):null!=i&&e(null,i,{cacheControl:n,expires:a})}))}));return{cancel:()=>{n.cancel(),r()}}};function Y(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function Q(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class tt{constructor(t,e={}){s(this,e),this.type=t}}class et extends tt{constructor(t,e={}){super("error",s({error:t},e))}}class it{on(t,e){return this._listeners=this._listeners||{},Y(t,e,this._listeners),this}off(t,e){return Q(t,e,this._listeners),Q(t,e,this._oneTimeListeners),this}once(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},Y(t,e,this._oneTimeListeners),this}fire(t,e){"string"==typeof t&&(t=new tt(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const a of r)Q(i,a,this._oneTimeListeners),a.call(this,t);const n=this._eventedParent;n&&(s(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof et&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var rt={$version:8,$root:{version:{required:!0,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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,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:!0,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:!1},"*":{type:"*"}},source_raster:{type:{required:!0,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:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,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:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,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:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},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_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,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:!1,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"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,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:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,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:!0,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:!1,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:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,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:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,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:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,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:!0,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:!1,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:!1,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:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,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:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,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_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:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1},elevationOffset:{type:"number",default:450}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,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"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};class nt{constructor(t,e,i,r){this.message=(t?`${t}: `:"")+i,r&&(this.identifier=r),null!=e&&e.__line__&&(this.line=e.__line__)}}function at(t){const e=t.value;return e?[new nt(t.key,e,"constants have been deprecated as of v8")]:[]}function ot(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}function st(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function lt(t){if(Array.isArray(t))return t.map(lt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const i in t)e[i]=lt(t[i]);return e}return st(t)}class ct extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}class ht{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[i,r]of e)this.bindings[i]=r}concat(t){return new ht(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const ut={kind:"null"},pt={kind:"number"},dt={kind:"string"},mt={kind:"boolean"},ft={kind:"color"},gt={kind:"object"},_t={kind:"value"},yt={kind:"collator"},xt={kind:"formatted"},vt={kind:"padding"},bt={kind:"resolvedImage"};function wt(t,e){return{kind:"array",itemType:t,N:e}}function Tt(t){if("array"===t.kind){const e=Tt(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const Et=[ut,pt,dt,mt,ft,xt,gt,wt(_t),vt,bt];function St(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!St(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of Et)if(!St(t,e))return null}return`Expected ${Tt(t)} but found ${Tt(e)} instead.`}function It(t,e){return e.some((e=>e.kind===t.kind))}function zt(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var Ct,At={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 kt(t){return(t=Math.round(t))<0?0:t>255?255:t}function Mt(t){return kt("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Pt(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function Dt(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}try{Ct={}.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in At)return At[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var a=i.substr(0,r),o=i.substr(r+1,n-(r+1)).split(","),s=1;switch(a){case"rgba":if(4!==o.length)return null;s=Pt(o.pop());case"rgb":return 3!==o.length?null:[Mt(o[0]),Mt(o[1]),Mt(o[2]),s];case"hsla":if(4!==o.length)return null;s=Pt(o.pop());case"hsl":if(3!==o.length)return null;var l=(parseFloat(o[0])%360+360)%360/360,c=Pt(o[1]),h=Pt(o[2]),u=h<=.5?h*(c+1):h+c-h*c,p=2*h-u;return[kt(255*Dt(p,u,l+1/3)),kt(255*Dt(p,u,l)),kt(255*Dt(p,u,l-1/3)),s];default:return null}}return null}}catch(t){}class Lt{constructor(t,e,i,r=1){this.r=t,this.g=e,this.b=i,this.a=r}static parse(t){if(!t)return;if(t instanceof Lt)return t;if("string"!=typeof t)return;const e=Ct(t);return e?new Lt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,i,r]=this.toArray();return`rgba(${Math.round(t)},${Math.round(e)},${Math.round(i)},${r})`}toArray(){const{r:t,g:e,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*t/r,255*e/r,255*i/r,r]}}Lt.black=new Lt(0,0,0,1),Lt.white=new Lt(1,1,1,1),Lt.transparent=new Lt(0,0,0,0),Lt.red=new Lt(1,0,0,1);class Bt{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Rt{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Ft{constructor(t){this.sections=t}static fromString(t){return new Ft([new Rt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Ft?t:Ft.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Ot{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Ot)return t;if("number"==typeof t)return new Ot([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Ot(t)}}toString(){return JSON.stringify(this.values)}}class Vt{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Vt({name:t,available:!1}):null}}function Ut(t,e,i,r){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[t,e,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[t,e,i,r]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Nt(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Lt)return!0;if(t instanceof Bt)return!0;if(t instanceof Ft)return!0;if(t instanceof Ot)return!0;if(t instanceof Vt)return!0;if(Array.isArray(t)){for(const e of t)if(!Nt(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Nt(t[e]))return!1;return!0}return!1}function $t(t){if(null===t)return ut;if("string"==typeof t)return dt;if("boolean"==typeof t)return mt;if("number"==typeof t)return pt;if(t instanceof Lt)return ft;if(t instanceof Bt)return yt;if(t instanceof Ft)return xt;if(t instanceof Ot)return vt;if(t instanceof Vt)return bt;if(Array.isArray(t)){const e=t.length;let i;for(const r of t){const t=$t(r);if(i){if(i===t)continue;i=_t;break}i=t}return wt(i||_t,e)}return gt}function Gt(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Lt||t instanceof Ft||t instanceof Ot||t instanceof Vt?t.toString():JSON.stringify(t)}class qt{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Nt(t[1]))return e.error("invalid value");const i=t[1];let r=$t(i);const n=e.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new qt(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Zt{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const jt={string:dt,number:pt,boolean:mt,object:gt};class Xt{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,r=1;const n=t[0];if("array"===n){let n,a;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in jt)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=jt[i],r++}else n=_t;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);a=t[2],r++}i=wt(n,a)}else{if(!jt[n])throw new Error(`Types doesn't contain name = ${n}`);i=jt[n]}const a=[];for(;rt.outputDefined()))}}const Ht={"to-boolean":mt,"to-color":ft,"to-number":pt,"to-string":dt};class Wt{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(!Ht[i])throw new Error(`Can't parse ${i} as it is not part of the known types`);if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const r=Ht[i],n=[];for(let a=1;a4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Ut(e[0],e[1],e[2],e[3]),!i))return new Lt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Zt(i||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("padding"===this.type.kind){let e;for(const i of this.args){e=i.evaluate(t);const r=Ot.parse(e);if(r)return r}throw new Zt(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("number"===this.type.kind){let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const r=Number(e);if(!isNaN(r))return r}throw new Zt(`Could not convert ${JSON.stringify(e)} to number.`)}return"formatted"===this.type.kind?Ft.fromString(Gt(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Vt.fromString(Gt(this.args[0].evaluate(t))):Gt(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const Kt=["Unknown","Point","LineString","Polygon"];class Jt{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Kt[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||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Lt.parse(t)),e}}class Yt{constructor(t,e,i,r){this.name=t,this.type=e,this._evaluate=i,this.args=r}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const i=t[0],r=Yt.definitions[i];if(!r)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,a=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let s=null;for(const[l,c]of o){s=new be(e.registry,e.path,null,e.scope);const r=[];let a=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(Tt).join(", ")})`:`(${Tt(e.type)}...)`;var e})).join(" | "),r=[];for(let n=1;n=e[2]||t[1]<=e[1]||t[3]>=e[3])}function re(t,e){const i=(180+t[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,n=Math.pow(2,e.z);return[Math.round(i*n*te),Math.round(r*n*te)]}function ne(t,e,i){const r=t[0]-e[0],n=t[1]-e[1],a=t[0]-i[0],o=t[1]-i[1];return r*o-a*n==0&&r*a<=0&&n*o<=0}function ae(t,e){let i=!1;for(let o=0,s=e.length;o(r=t)[1]!=(a=s[e+1])[1]>r[1]&&r[0]<(a[0]-n[0])*(r[1]-n[1])/(a[1]-n[1])+n[0]&&(i=!i)}}var r,n,a;return i}function oe(t,e){for(let i=0;i0&&s<0||o<0&&s>0}function le(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*r;let n=t[0]-i[0]>e?-r:i[0]-t[0]>e?r:0;0===n&&(n=t[0]-i[2]>e?-r:i[2]-t[0]>e?r:0),t[0]+=n}ee(e,t)}function me(t,e,i,r){const n=Math.pow(2,r.z)*te,a=[r.x*te,r.y*te],o=[];for(const s of t)for(const t of s){const r=[t.x+a[0],t.y+a[1]];de(r,e,i,n),o.push(r)}return o}function fe(t,e,i,r){const n=Math.pow(2,r.z)*te,a=[r.x*te,r.y*te],o=[];for(const l of t){const t=[];for(const i of l){const r=[i.x+a[0],i.y+a[1]];ee(e,r),t.push(r)}o.push(t)}if(e[2]-e[0]<=n/2){(s=e)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(const t of o)for(const r of t)de(r,e,i,n)}var s;return o}class ge{constructor(t,e){this.type=mt,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Nt(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!_e(t)&&(e=!1)})),e}function ye(t){if(t instanceof Yt&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!ye(t)&&(e=!1)})),e}function xe(t,e){if(t instanceof Yt&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!xe(t,e)&&(i=!1)})),i}class ve{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const i=t[1];return e.scope.has(i)?new ve(i,e.scope.get(i)):e.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}}class be{constructor(t,e=[],i,r=new ht,n=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i}parse(t,e,i,r,n={}){return e?this.concat(e,i,r)._parse(t,n):this._parse(t,n)}_parse(t,e){function i(t,e,i){return"assert"===i?new Xt(e,[t]):"coerce"===i?new Wt(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[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(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,n=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==n.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==n.kind&&"string"!==n.kind)if("padding"!==t.kind||"value"!==n.kind&&"number"!==n.kind&&"array"!==n.kind){if(this.checkSubtype(t,n))return null}else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"assert")}if(!(r instanceof qt)&&"resolvedImage"!==r.type.kind&&we(r)){const e=new Jt;try{r=new qt(r.type,r.evaluate(e))}catch(t){return this.error(t.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,i){const r="number"==typeof t?this.path.concat(t):this.path,n=i?this.scope.concat(i):this.scope;return new be(this.registry,r,e||null,n,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new ct(i,t))}checkSubtype(t,e){const i=St(t,e);return i&&this.error(i),i}}function we(t){if(t instanceof ve)return we(t.boundExpression);if(t instanceof Yt&&"error"===t.name)return!1;if(t instanceof Qt)return!1;if(t instanceof ge)return!1;const e=t instanceof Wt||t instanceof Xt;let i=!0;return t.eachChild((t=>{i=e?i&&we(t):i&&t instanceof qt})),!!i&&_e(t)&&xe(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Te(t,e){const i=t.length-1;let r,n,a=0,o=i,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=t[s],n=t[s+1],r<=e){if(s===i||ee))throw new Zt("Input is not a number.");o=s-1}return 0}class Ee{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[r,n]of i)this.labels.push(r),this.outputs.push(n)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=[];let n=null;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(let a=1;a=i)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);const c=e.parse(o,l,n);if(!c)return null;n=n||c.type,r.push([i,c])}return new Ee(n,i,r)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;return r>=e[n-1]?i[n-1].evaluate(t):i[Te(e,r)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t,e,i){return t*(1-i)+e*i}var Ie=Object.freeze({__proto__:null,number:Se,color:function(t,e,i){return new Lt(Se(t.r,e.r,i),Se(t.g,e.g,i),Se(t.b,e.b,i),Se(t.a,e.a,i))},array:function(t,e,i){return t.map(((t,r)=>Se(t,e[r],i)))},padding:function(t,e,i){const r=t.values,n=e.values;return new Ot([Se(r[0],n[0],i),Se(r[1],n[1],i),Se(r[2],n[2],i),Se(r[3],n[3],i)])}});const ze=.95047,Ce=1.08883,Ae=4/29,ke=6/29,Me=3*ke*ke,Pe=Math.PI/180,De=180/Math.PI;function Le(t){return t>.008856451679035631?Math.pow(t,1/3):t/Me+Ae}function Be(t){return t>ke?t*t*t:Me*(t-Ae)}function Re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Oe(t){const e=Fe(t.r),i=Fe(t.g),r=Fe(t.b),n=Le((.4124564*e+.3575761*i+.1804375*r)/ze),a=Le((.2126729*e+.7151522*i+.072175*r)/1);return{l:116*a-16,a:500*(n-a),b:200*(a-Le((.0193339*e+.119192*i+.9503041*r)/Ce)),alpha:t.a}}function Ve(t){let e=(t.l+16)/116,i=isNaN(t.a)?e:e+t.a/500,r=isNaN(t.b)?e:e-t.b/200;return e=1*Be(e),i=ze*Be(i),r=Ce*Be(r),new Lt(Re(3.2404542*i-1.5371385*e-.4985314*r),Re(-.969266*i+1.8760108*e+.041556*r),Re(.0556434*i-.2040259*e+1.0572252*r),t.alpha)}function Ue(t,e,i){const r=e-t;return t+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const Ne={forward:Oe,reverse:Ve,interpolate:function(t,e,i){return{l:Se(t.l,e.l,i),a:Se(t.a,e.a,i),b:Se(t.b,e.b,i),alpha:Se(t.alpha,e.alpha,i)}}},$e={forward:function(t){const{l:e,a:i,b:r}=Oe(t),n=Math.atan2(r,i)*De;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Pe,i=t.c;return Ve({l:t.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:t.alpha})},interpolate:function(t,e,i){return{h:Ue(t.h,e.h,i),c:Se(t.c,e.c,i),l:Se(t.l,e.l,i),alpha:Se(t.alpha,e.alpha,i)}}};var Ge=Object.freeze({__proto__:null,lab:Ne,hcl:$e});class qe{constructor(t,e,i,r,n){this.type=t,this.operator=e,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[a,o]of n)this.labels.push(a),this.outputs.push(o)}static interpolationFactor(t,i,r,n){let a=0;if("exponential"===t.name)a=Ze(i,t.base,r,n);else if("linear"===t.name)a=Ze(i,1,r,n);else if("cubic-bezier"===t.name){const o=t.controlPoints;a=new e(o[0],o[1],o[2],o[3]).solve(Ze(i,1,r,n))}return a}static parse(t,e){let[i,r,n,...a]=t;if(!Array.isArray(r)||0===r.length)return e.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const t=r[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:t}}else{if("cubic-bezier"!==r[0])return e.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const t=r.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(n=e.parse(n,2,pt),!n)return null;const o=[];let s=null;"interpolate-hcl"===i||"interpolate-lab"===i?s=ft:e.expectedType&&"value"!==e.expectedType.kind&&(s=e.expectedType);for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=e.parse(i,n,s);if(!c)return null;s=s||c.type,o.push([t,c])}return"number"===s.kind||"color"===s.kind||"padding"===s.kind||"array"===s.kind&&"number"===s.itemType.kind&&"number"==typeof s.N?new qe(s,i,r,n,o):e.error(`Type ${Tt(s)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;if(r>=e[n-1])return i[n-1].evaluate(t);const a=Te(e,r),o=qe.interpolationFactor(this.interpolation,r,e[a],e[a+1]),s=i[a].evaluate(t),l=i[a+1].evaluate(t);return"interpolate"===this.operator?Ie[this.type.kind.toLowerCase()](s,l,o):"interpolate-hcl"===this.operator?$e.reverse($e.interpolate($e.forward(s),$e.forward(l),o)):Ne.reverse(Ne.interpolate(Ne.forward(s),Ne.forward(l),o))}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ze(t,e,i,r){const n=r-i,a=t-i;return 0===n?0:1===e?a/n:(Math.pow(e,a)-1)/(Math.pow(e,n)-1)}class je{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let i=null;const r=e.expectedType;r&&"value"!==r.kind&&(i=r);const n=[];for(const o of t.slice(1)){const t=e.parse(o,1+n.length,i,void 0,{typeAnnotation:"omit"});if(!t)return null;i=i||t.type,n.push(t)}if(!i)throw new Error("No output type");const a=r&&n.some((t=>St(r,t.type)));return new je(a?_t:i,n)}evaluate(t){let e,i=null,r=0;for(const n of this.args)if(r++,i=n.evaluate(t),i&&i instanceof Vt&&!i.available&&(e||(e=i.name),i=null,r===this.args.length&&(i=e)),null!==i)break;return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class Xe{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new Zt(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new Zt(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class We{constructor(t,e){this.type=mt,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);return i&&r?It(i.type,[mt,dt,pt,ut,_t])?new We(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!zt(e,["boolean","string","number","null"]))throw new Zt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt($t(e))} instead.`);if(!zt(i,["string","array"]))throw new Zt(`Expected second argument to be of type array or string, but found ${Tt($t(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class Ke{constructor(t,e,i){this.type=pt,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);if(!i||!r)return null;if(!It(i.type,[mt,dt,pt,ut,_t]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Ke(i,r,n):null}return new Ke(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!zt(e,["boolean","string","number","null"]))throw new Zt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt($t(e))} instead.`);if(!zt(i,["string","array"]))throw new Zt(`Expected second argument to be of type array or string, but found ${Tt($t(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(t);return i.indexOf(e,r)}return i.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class Je{constructor(t,e,i,r,n,a){this.inputType=t,this.type=e,this.input=i,this.cases=r,this.outputs=n,this.otherwise=a}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let i,r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n={},a=[];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 t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,$t(t)))return null}else i=$t(t);if(void 0!==n[String(t)])return c.error("Branch labels must be unique.");n[String(t)]=a.length}const h=e.parse(s,l,r);if(!h)return null;r=r||h.type,a.push(h)}const o=e.parse(t[1],1,_t);if(!o)return null;const s=e.parse(t[t.length-1],t.length-1,r);return s?"value"!==o.type.kind&&e.concat(1).checkSubtype(i,o.type)?null:new Je(i,r,o,n,a,s):null}evaluate(t){const e=this.input.evaluate(t);return($t(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class Ye{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r=[];for(let a=1;ae.outputDefined()))&&this.otherwise.outputDefined()}}class Qe{constructor(t,e,i,r){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,pt);if(!i||!r)return null;if(!It(i.type,[wt(_t),dt,_t]))return e.error(`Expected first argument to be of type array or string, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Qe(i.type,i,r,n):null}return new Qe(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!zt(e,["string","array"]))throw new Zt(`Expected first argument to be of type array or string, but found ${Tt($t(e))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(t);return e.slice(i,r)}return e.slice(i)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ti(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function ei(t,e,i,r){return 0===r.compare(e,i)}function ii(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=mt,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let a=e.parse(t[1],1,_t);if(!a)return null;if(!ti(i,a.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${Tt(a.type)}'.`);let o=e.parse(t[2],2,_t);if(!o)return null;if(!ti(i,o.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${Tt(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${Tt(a.type)}' and '${Tt(o.type)}'.`);r&&("value"===a.type.kind&&"value"!==o.type.kind?a=new Xt(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new Xt(a.type,[o])));let s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(s=e.parse(t[3],3,yt),!s)return null}return new n(a,o,s)}evaluate(n){const a=this.lhs.evaluate(n),o=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const e=$t(a),i=$t(o);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new Zt(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const t=$t(a),i=$t(o);if("string"!==t.kind||"string"!==i.kind)return e(n,a,o)}return this.collator?i(n,a,o,this.collator.evaluate(n)):e(n,a,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const ri=ii("==",(function(t,e,i){return e===i}),ei),ni=ii("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!ei(0,e,i,r)})),ai=ii("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),si=ii("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),li=ii(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class ci{constructor(t,e,i,r,n){this.type=dt,this.number=t,this.locale=e,this.currency=i,this.minFractionDigits=r,this.maxFractionDigits=n}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=t[2];if("object"!=typeof r||Array.isArray(r))return e.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=e.parse(r.locale,1,dt),!n))return null;let a=null;if(r.currency&&(a=e.parse(r.currency,1,dt),!a))return null;let o=null;if(r["min-fraction-digits"]&&(o=e.parse(r["min-fraction-digits"],1,pt),!o))return null;let s=null;return r["max-fraction-digits"]&&(s=e.parse(r["max-fraction-digits"],1,pt),!s)?null:new ci(i,n,a,o,s)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class hi{constructor(t){this.type=xt,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const r=[];let n=!1;for(let a=1;a<=t.length-1;++a){const i=t[a];if(n&&"object"==typeof i&&!Array.isArray(i)){n=!1;let t=null;if(i["font-scale"]&&(t=e.parse(i["font-scale"],1,pt),!t))return null;let a=null;if(i["text-font"]&&(a=e.parse(i["text-font"],1,wt(dt)),!a))return null;let o=null;if(i["text-color"]&&(o=e.parse(i["text-color"],1,ft),!o))return null;const s=r[r.length-1];s.scale=t,s.font=a,s.textColor=o}else{const i=e.parse(t[a],1,_t);if(!i)return null;const o=i.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.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 hi(r)}evaluate(t){return new Ft(this.sections.map((e=>{const i=e.content.evaluate(t);return $t(i)===bt?new Rt("",i,null,null,null):new Rt(Gt(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class ui{constructor(t){this.type=bt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,dt);return i?new ui(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Vt.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class pi{constructor(t){this.type=pt,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${Tt(i.type)} instead.`):new pi(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Zt(`Expected value to be of type string or array, but found ${Tt($t(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const di={"==":ri,"!=":ni,">":oi,"<":ai,">=":li,"<=":si,array:Xt,at:He,boolean:Xt,case:Ye,coalesce:je,collator:Qt,format:hi,image:ui,in:We,"index-of":Ke,interpolate:qe,"interpolate-hcl":qe,"interpolate-lab":qe,length:pi,let:Xe,literal:qt,match:Je,number:Xt,"number-format":ci,object:Xt,slice:Qe,step:Ee,string:Xt,"to-boolean":Wt,"to-color":Wt,"to-number":Wt,"to-string":Wt,var:ve,within:ge};function mi(t,[e,i,r,n]){e=e.evaluate(t),i=i.evaluate(t),r=r.evaluate(t);const a=n?n.evaluate(t):1,o=Ut(e,i,r,a);if(o)throw new Zt(o);return new Lt(e/255*a,i/255*a,r/255*a,a)}function fi(t,e){return t in e}function gi(t,e){const i=e[t];return void 0===i?null:i}function _i(t){return{type:t}}function yi(t){return{result:"success",value:t}}function xi(t){return{result:"error",value:t}}function vi(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function bi(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function wi(t){return!!t.expression&&t.expression.interpolated}function Ti(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Ei(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Si(t){return t}function Ii(t,e){const i="color"===e.type,r=t.stops&&"object"==typeof t.stops[0][0],n=r||!(r||void 0!==t.property),a=t.type||(wi(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?Lt.parse:Ot.parse;(t=ot({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],r(t[1])]))),t.default=r(t.default?t.default:e.default)}if(t.colorSpace&&"rgb"!==t.colorSpace&&!Ge[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let o,s,l;if("exponential"===a)o=ki;else if("interval"===a)o=Ai;else if("categorical"===a){o=Ci,s=Object.create(null);for(const e of t.stops)s[e[0]]=e[1];l=typeof t.stops[0][0]}else{if("identity"!==a)throw new Error(`Unknown function type "${a}"`);o=Mi}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>ki({stops:n,base:t.base},e,i).evaluate(i,r)}}if(n){const i="exponential"===a?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:qe.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>o(t,e,i,s,l)}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[t.property]:void 0;return void 0===n?zi(t.default,e.default):o(t,e,n,s,l)}}}function zi(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function Ci(t,e,i,r,n){return zi(typeof i===n?r[i]:void 0,t.default,e.default)}function Ai(t,e,i){if("number"!==Ti(i))return zi(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const n=Te(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function ki(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==Ti(i))return zi(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const a=Te(t.stops.map((t=>t[0])),i),o=function(t,e,i,r){const n=r-i,a=t-i;return 0===n?0:1===e?a/n:(Math.pow(e,a)-1)/(Math.pow(e,n)-1)}(i,r,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1];let c=Ie[e.type]||Si;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=Ge[t.colorSpace];c=(t,i)=>e.reverse(e.interpolate(e.forward(t),e.forward(i),o))}return"function"==typeof s.evaluate?{evaluate(...t){const e=s.evaluate.apply(void 0,t),i=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==i)return c(e,i,o)}}:c(s,l,o)}function Mi(t,e,i){switch(e.type){case"color":i=Lt.parse(i);break;case"formatted":i=Ft.fromString(i.toString());break;case"resolvedImage":i=Vt.fromString(i.toString());break;case"padding":i=Ot.parse(i);break;default:Ti(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return zi(i,t.default,e.default)}Yt.register(di,{error:[{kind:"error"},[dt],(t,[e])=>{throw new Zt(e.evaluate(t))}],typeof:[dt,[_t],(t,[e])=>Tt($t(e.evaluate(t)))],"to-rgba":[wt(pt,4),[ft],(t,[e])=>e.evaluate(t).toArray()],rgb:[ft,[pt,pt,pt],mi],rgba:[ft,[pt,pt,pt,pt],mi],has:{type:mt,overloads:[[[dt],(t,[e])=>fi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>fi(e.evaluate(t),i.evaluate(t))]]},get:{type:_t,overloads:[[[dt],(t,[e])=>gi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>gi(e.evaluate(t),i.evaluate(t))]]},"feature-state":[_t,[dt],(t,[e])=>gi(e.evaluate(t),t.featureState||{})],properties:[gt,[],t=>t.properties()],"geometry-type":[dt,[],t=>t.geometryType()],id:[_t,[],t=>t.id()],zoom:[pt,[],t=>t.globals.zoom],"heatmap-density":[pt,[],t=>t.globals.heatmapDensity||0],"line-progress":[pt,[],t=>t.globals.lineProgress||0],accumulated:[_t,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pt,_i(pt),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[pt,_i(pt),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:pt,overloads:[[[pt,pt],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[pt],(t,[e])=>-e.evaluate(t)]]},"/":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[pt,[],()=>Math.LN2],pi:[pt,[],()=>Math.PI],e:[pt,[],()=>Math.E],"^":[pt,[pt,pt],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[pt,[pt],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))],log2:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pt,[pt],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pt,[pt],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pt,[pt],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pt,[pt],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pt,[pt],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pt,[pt],(t,[e])=>Math.atan(e.evaluate(t))],min:[pt,_i(pt),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[pt,_i(pt),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[pt,[pt],(t,[e])=>Math.abs(e.evaluate(t))],round:[pt,[pt],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[pt,[pt],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pt,[pt],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[mt,[dt,_t],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[mt,[_t],(t,[e])=>t.id()===e.value],"filter-type-==":[mt,[dt],(t,[e])=>t.geometryType()===e.value],"filter-<":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r{const i=t.id(),r=e.value;return typeof i==typeof r&&i":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[mt,[_t],(t,[e])=>e.value in t.properties()],"filter-has-id":[mt,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[mt,[wt(dt)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[mt,[wt(_t)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[mt,[dt,wt(_t)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[mt,[dt,wt(_t)],(t,[e,i])=>function(t,e,i,r){for(;i<=r;){const n=i+r>>1;if(e[n]===t)return!0;e[n]>t?r=n-1:i=n+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[mt,[mt],(t,[e])=>!e.evaluate(t)],"is-supported-script":[mt,[dt],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[dt,[dt],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[dt,[dt],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[dt,_i(_t),(t,e)=>e.map((e=>Gt(e.evaluate(t)))).join("")],"resolved-locale":[dt,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Pi{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Jt,this._defaultValue=e?function(t){return"color"===t.type&&Ei(t.default)?new Lt(0,0,0,0):"color"===t.type?Lt.parse(t.default)||null:"padding"===t.type?Ot.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,r,n,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,r,n,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Zt(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Di(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in di}function Li(t,e){const i=new be(di,[],e?function(t){const e={color:ft,string:dt,number:pt,enum:dt,boolean:mt,formatted:xt,padding:vt,resolvedImage:bt};return"array"===t.type?wt(e[t.value]||_t,t.length):e[t.type]}(e):void 0),r=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return r?yi(new Pi(r,e)):xi(i.errors)}class Bi{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!ye(e.expression)}evaluateWithoutErrorHandling(t,e,i,r,n,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,a)}evaluate(t,e,i,r,n,a){return this._styleExpression.evaluate(t,e,i,r,n,a)}}class Ri{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!ye(e.expression),this.interpolationType=r}evaluateWithoutErrorHandling(t,e,i,r,n,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,a)}evaluate(t,e,i,r,n,a){return this._styleExpression.evaluate(t,e,i,r,n,a)}interpolationFactor(t,e,i){return this.interpolationType?qe.interpolationFactor(this.interpolationType,t,e,i):0}}function Fi(t,e){const i=Li(t,e);if("error"===i.result)return i;const r=i.value.expression,n=_e(r);if(!n&&!vi(e))return xi([new ct("","data expressions not supported")]);const a=xe(r,["zoom"]);if(!a&&!bi(e))return xi([new ct("","zoom expressions not supported")]);const o=Vi(r);return o||a?o instanceof ct?xi([o]):o instanceof qe&&!wi(e)?xi([new ct("",'"interpolate" expressions cannot be used with this property')]):yi(o?new Ri(n?"camera":"composite",i.value,o.labels,o instanceof qe?o.interpolation:void 0):new Bi(n?"constant":"source",i.value)):xi([new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Oi{constructor(t,e){this._parameters=t,this._specification=e,ot(this,Ii(this._parameters,this._specification))}static deserialize(t){return new Oi(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Vi(t){let e=null;if(t instanceof Xe)e=Vi(t.result);else if(t instanceof je){for(const i of t.args)if(e=Vi(i),e)break}else(t instanceof Ee||t instanceof qe)&&t.input instanceof Yt&&"zoom"===t.input.name&&(e=t);return e instanceof ct||t.eachChild((t=>{const i=Vi(t);i instanceof ct?e=i:!e&&i?e=new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new ct("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Ui(t){const e=t.key,i=t.value,r=t.valueSpec||{},n=t.objectElementValidators||{},a=t.style,o=t.styleSpec;let s=[];const l=Ti(i);if("object"!==l)return[new nt(e,i,`object expected, ${l} found`)];for(const c in i){const t=c.split(".")[0],l=r[t]||r["*"];let h;if(n[t])h=n[t];else if(r[t])h=mr;else if(n["*"])h=n["*"];else{if(!r["*"]){s.push(new nt(e,i[c],`unknown property "${c}"`));continue}h=mr}s=s.concat(h({key:(e?`${e}.`:e)+c,value:i[c],valueSpec:l,style:a,styleSpec:o,object:i,objectKey:c},i))}for(const c in r)n[c]||r[c].required&&void 0===r[c].default&&void 0===i[c]&&s.push(new nt(e,i,`missing required property "${c}"`));return s}function Ni(t){const e=t.value,i=t.valueSpec,r=t.style,n=t.styleSpec,a=t.key,o=t.arrayElementValidator||mr;if("array"!==Ti(e))return[new nt(a,e,`array expected, ${Ti(e)} found`)];if(i.length&&e.length!==i.length)return[new nt(a,e,`array length ${i.length} expected, length ${e.length} found`)];if(i["min-length"]&&e.lengthr.maximum?[new nt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function Gi(t){const e=t.valueSpec,i=st(t.value.type);let r,n,a,o={};const s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===Ti(t.value.stops)&&"array"===Ti(t.value.stops[0])&&"object"===Ti(t.value.stops[0][0]),h=Ui({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nt(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const r=t.value;return e=e.concat(Ni({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===Ti(r)&&0===r.length&&e.push(new nt(t.key,r,"array must have at least one stop")),e},default:function(t){return mr({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&h.push(new nt(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||h.push(new nt(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!wi(t.valueSpec)&&h.push(new nt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!vi(t.valueSpec)?h.push(new nt(t.key,t.value,"property functions not supported")):s&&!bi(t.valueSpec)&&h.push(new nt(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||h.push(new nt(t.key,t.value,'"property" property is required')),h;function u(t){let i=[];const r=t.value,s=t.key;if("array"!==Ti(r))return[new nt(s,r,`array expected, ${Ti(r)} found`)];if(2!==r.length)return[new nt(s,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==Ti(r[0]))return[new nt(s,r,`object expected, ${Ti(r[0])} found`)];if(void 0===r[0].zoom)return[new nt(s,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new nt(s,r,"object stop key must have value")];if(a&&a>st(r[0].zoom))return[new nt(s,r[0].zoom,"stop zoom values must appear in ascending order")];st(r[0].zoom)!==a&&(a=st(r[0].zoom),n=void 0,o={}),i=i.concat(Ui({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:$i,value:p}}))}else i=i.concat(p({key:`${s}[0]`,value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},r));return Di(lt(r[1]))?i.concat([new nt(`${s}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(mr({key:`${s}[1]`,value:r[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,a){const s=Ti(t.value),l=st(t.value),c=null!==t.value?t.value:a;if(r){if(s!==r)return[new nt(t.key,c,`${s} stop domain type must match previous stop domain type ${r}`)]}else r=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new nt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){let r=`number expected, ${s} found`;return vi(e)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nt(t.key,c,r)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==n&&lnew nt(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nt(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!xe(i,["zoom","feature-state"]))return[new nt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!_e(i))return[new nt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Zi(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(st(i))&&n.push(new nt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(st(i))&&n.push(new nt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function ji(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!ji(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Xi={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Hi(t){if(null==t)return{filter:()=>!0,needGeometry:!1};ji(t)||(t=Ji(t));const e=Li(t,Xi);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,i,r)=>e.value.evaluate(t,i,{},r),needGeometry:Ki(t)}}function Wi(t,e){return te?1:0}function Ki(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Yi(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(Ji))):"all"===e?["all"].concat(t.slice(1).map(Ji)):"none"===e?["all"].concat(t.slice(1).map(Ji).map(er)):"in"===e?Qi(t[1],t.slice(2)):"!in"===e?er(Qi(t[1],t.slice(2))):"has"===e?tr(t[1]):"!has"===e?er(tr(t[1])):"within"!==e||t;var i}function Yi(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function Qi(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(Wi)]]:["filter-in-small",t,["literal",e]]}}function tr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function er(t){return["!",t]}function ir(t){return ji(lt(t.value))?qi(ot({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):rr(t)}function rr(t){const e=t.value,i=t.key;if("array"!==Ti(e))return[new nt(i,e,`array expected, ${Ti(e)} found`)];const r=t.styleSpec;let n,a=[];if(e.length<1)return[new nt(i,e,"filter array must have at least 1 element")];switch(a=a.concat(Zi({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),st(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===st(e[1])&&a.push(new nt(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&a.push(new nt(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(n=Ti(e[1]),"string"!==n&&a.push(new nt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let o=2;o{t in i&&e.push(new nt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{st(e.id)===s&&(t=e)})),t?t.ref?e.push(new nt(r,i.ref,"ref cannot reference another ref layer")):o=st(t.type):e.push(new nt(r,i.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(i.source){const t=n.sources&&n.sources[i.source],a=t&&st(t.type);t?"vector"===a&&"raster"===o?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster"===a&&"raster"!==o?e.push(new nt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==a||i["source-layer"]?"raster-dem"===a&&"hillshade"!==o?e.push(new nt(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!i.paint||!i.paint["line-gradient"]||"geojson"===a&&t.lineMetrics||e.push(new nt(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nt(r,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nt(r,i.source,`source "${i.source}" not found`))}else e.push(new nt(r,i,'missing required property "source"'));return e=e.concat(Ui({key:r,value:i,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>mr({key:`${r}.type`,value:i.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:i,objectKey:"type"}),filter:ir,layout:t=>Ui({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>or(ot({layerType:o},t))}}),paint:t=>Ui({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>ar(ot({layerType:o},t))}})}})),e}function lr(t){const e=t.value,i=t.key,r=Ti(e);return"string"!==r?[new nt(i,e,`string expected, ${r} found`)]:[]}const cr={promoteId:function({key:t,value:e}){if("string"===Ti(e))return lr({key:t,value:e});{const i=[];for(const r in e)i.push(...lr({key:`${t}.${r}`,value:e[r]}));return i}}};function hr(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style;if(!e.type)return[new nt(i,e,'"type" is required')];const a=st(e.type);let o;switch(a){case"vector":case"raster":case"raster-dem":return o=Ui({key:i,value:e,valueSpec:r[`source_${a.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:cr}),o;case"geojson":if(o=Ui({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,objectElementValidators:cr}),e.cluster)for(const t in e.clusterProperties){const[r,n]=e.clusterProperties[t],a="string"==typeof r?[r,["accumulated"],["get",t]]:r;o.push(...qi({key:`${i}.${t}.map`,value:n,expressionContext:"cluster-map"})),o.push(...qi({key:`${i}.${t}.reduce`,value:a,expressionContext:"cluster-reduce"}))}return o;case"video":return Ui({key:i,value:e,valueSpec:r.source_video,style:n,styleSpec:r});case"image":return Ui({key:i,value:e,valueSpec:r.source_image,style:n,styleSpec:r});case"canvas":return[new nt(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Zi({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,styleSpec:r})}}function ur(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let a=[];const o=Ti(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new nt("light",e,`object expected, ${o} found`)]),a;for(const s in e){const t=s.match(/^(.*)-transition$/);a=a.concat(t&&r[t[1]]&&r[t[1]].transition?mr({key:s,value:e[s],valueSpec:i.transition,style:n,styleSpec:i}):r[s]?mr({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)])}return a}function pr(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let a=[];const o=Ti(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new nt("terrain",e,`object expected, ${o} found`)]),a;for(const s in e)a=a.concat(r[s]?mr({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)]);return a}const dr={"*":()=>[],array:Ni,boolean:function(t){const e=t.value,i=t.key,r=Ti(e);return"boolean"!==r?[new nt(i,e,`boolean expected, ${r} found`)]:[]},number:$i,color:function(t){const e=t.key,i=t.value,r=Ti(i);return"string"!==r?[new nt(e,i,`color expected, ${r} found`)]:null===Ct(i)?[new nt(e,i,`color expected, "${i}" found`)]:[]},constants:at,enum:Zi,filter:ir,function:Gi,layer:sr,object:Ui,source:hr,light:ur,terrain:pr,string:lr,formatted:function(t){return 0===lr(t).length?[]:qi(t)},resolvedImage:function(t){return 0===lr(t).length?[]:qi(t)},padding:function(t){const e=t.key,i=t.value;if("array"===Ti(i)){if(i.length<1||i.length>4)return[new nt(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const t={type:"number"};let r=[];for(let n=0;n[]}})),t.constants&&(i=i.concat(at({key:"constants",value:t.constants,style:t,styleSpec:e}))),_r(i)}function _r(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function yr(t){return function(...e){return _r(t.apply(this,e))}}gr.source=yr(hr),gr.light=yr(ur),gr.terrain=yr(pr),gr.layer=yr(sr),gr.filter=yr(ir),gr.paintProperty=yr(ar),gr.layoutProperty=yr(or);const xr=gr,vr=xr.light,br=xr.paintProperty,wr=xr.layoutProperty;function Tr(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new et(new Error(r.message))),i=!0;return i}class Er{constructor(t,e,i){const r=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const n=new Int32Array(this.arrayBuffer);t=n[0],this.d=(e=n[1])+2*(i=n[2]);for(let t=0;t=c[l+0]&&r>=c[l+1])?(o[u]=!0,a.push(n[u])):o[u]=!1}}}}_forEachCell(t,e,i,r,n,a,o,s){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++){const c=this.d*l+p;if((!s||s(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&n.call(this,t,e,i,r,c,a,o,s))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let i=0;for(let a=0;a=0)continue;const a=t[i];n[i]=Sr[r].shallow.indexOf(i)>=0?a:Cr(a,e)}t instanceof Error&&(n.message=t.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 t)}function Ar(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||zr(t)||T(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Ar);if("object"==typeof t){const e=t.$name||"Object";if(!Sr[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=Sr[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const r=Object.create(i.prototype);for(const n of Object.keys(t)){if("$name"===n)continue;const i=t[n];r[n]=Sr[e].shallow.indexOf(n)>=0?i:Ar(i)}return r}throw new Error("can't deserialize object of type "+typeof t)}class kr{constructor(){this.first=!0}update(t,e){const i=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function Pr(t){for(const e of t)if(Br(e.charCodeAt(0)))return!0;return!1}function Dr(t){for(const e of t)if(!Lr(e.charCodeAt(0)))return!1;return!0}function Lr(t){return!(Mr.Arabic(t)||Mr["Arabic Supplement"](t)||Mr["Arabic Extended-A"](t)||Mr["Arabic Presentation Forms-A"](t)||Mr["Arabic Presentation Forms-B"](t))}function Br(t){return!(746!==t&&747!==t&&(t<4352||!(Mr["Bopomofo Extended"](t)||Mr.Bopomofo(t)||Mr["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Mr["CJK Compatibility Ideographs"](t)||Mr["CJK Compatibility"](t)||Mr["CJK Radicals Supplement"](t)||Mr["CJK Strokes"](t)||!(!Mr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Mr["CJK Unified Ideographs Extension A"](t)||Mr["CJK Unified Ideographs"](t)||Mr["Enclosed CJK Letters and Months"](t)||Mr["Hangul Compatibility Jamo"](t)||Mr["Hangul Jamo Extended-A"](t)||Mr["Hangul Jamo Extended-B"](t)||Mr["Hangul Jamo"](t)||Mr["Hangul Syllables"](t)||Mr.Hiragana(t)||Mr["Ideographic Description Characters"](t)||Mr.Kanbun(t)||Mr["Kangxi Radicals"](t)||Mr["Katakana Phonetic Extensions"](t)||Mr.Katakana(t)&&12540!==t||!(!Mr["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Mr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Mr["Unified Canadian Aboriginal Syllabics"](t)||Mr["Unified Canadian Aboriginal Syllabics Extended"](t)||Mr["Vertical Forms"](t)||Mr["Yijing Hexagram Symbols"](t)||Mr["Yi Syllables"](t)||Mr["Yi Radicals"](t))))}function Rr(t){return!(Br(t)||function(t){return!!(Mr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Mr["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Mr["Letterlike Symbols"](t)||Mr["Number Forms"](t)||Mr["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Mr["Control Pictures"](t)&&9251!==t||Mr["Optical Character Recognition"](t)||Mr["Enclosed Alphanumerics"](t)||Mr["Geometric Shapes"](t)||Mr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Mr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Mr["CJK Symbols and Punctuation"](t)||Mr.Katakana(t)||Mr["Private Use Area"](t)||Mr["CJK Compatibility Forms"](t)||Mr["Small Form Variants"](t)||Mr["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Fr(t){return t>=1424&&t<=2303||Mr["Arabic Presentation Forms-A"](t)||Mr["Arabic Presentation Forms-B"](t)}function Or(t,e){return!(!e&&Fr(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Mr.Khmer(t))}function Vr(t){for(const e of t)if(Fr(e.charCodeAt(0)))return!0;return!1}const Ur="deferred",Nr="loading",$r="loaded";let Gr=null,qr="unavailable",Zr=null;const jr=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(qr="error"),Gr&&Gr(t)};function Xr(){Hr.fire(new tt("pluginStateChange",{pluginStatus:qr,pluginURL:Zr}))}const Hr=new it,Wr=function(){return qr},Kr=function(){if(qr!==Ur||!Zr)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");qr=Nr,Xr(),Zr&&j({url:Zr},(t=>{t?jr(t):(qr=$r,Xr())}))},Jr={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>qr===$r||null!=Jr.applyArabicShaping,isLoading:()=>qr===Nr,setState(t){if(!_())throw new Error("Cannot set the state of the rtl-text-plugin when not in the web-worker context");qr=t.pluginStatus,Zr=t.pluginURL},isParsed(){if(!_())throw new Error("rtl-text-plugin is only parsed on the worker-threads");return null!=Jr.applyArabicShaping&&null!=Jr.processBidirectionalText&&null!=Jr.processStyledBidirectionalText},getPluginURL(){if(!_())throw new Error("rtl-text-plugin url can only be queried from the worker threads");return Zr}};class Yr{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new kr,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Or(i.charCodeAt(0),e))return!1;return!0}(t,Jr.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*e}}}class Qr{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Ei(t))return new Oi(t,e);if(Di(t)){const i=Fi(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"color"===e.type&&"string"==typeof t?i=Lt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)||(i=Ot.parse(t)),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class tn{constructor(t){this.property=t,this.value=new Qr(t,void 0)}transitioned(t,e){return new rn(this.property,this.value,e,s({},t.transition,this.transition),t.now)}untransitioned(){return new rn(this.property,this.value,null,{},0)}}class en{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return p(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].value=new Qr(this._values[t].property,null===e?void 0:p(e))}getTransition(t){return p(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].transition=p(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const r=this.getTransition(e);void 0!==r&&(t[`${e}-transition`]=r)}return t}transitioned(t,e){const i=new nn(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(t,e._values[r]);return i}untransitioned(){const t=new nn(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class rn{constructor(t,e,i,r,n){this.property=t,this.value=e,this.begin=n+r.delay||0,this.end=this.begin+r.duration||0,t.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const r=t.now||0,n=this.value.possiblyEvaluate(t,e,i),a=this.prior;if(a){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}(o))}}return n}}class nn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new sn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class an{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}getValue(t){return p(this._values[t].value)}setValue(t,e){this._values[t]=new Qr(this._values[t].property,null===e?void 0:p(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i)}return t}possiblyEvaluate(t,e,i){const r=new sn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class on{constructor(t,e,i){this.property=t,this.value=e,this.parameters=i}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,i,r){return this.property.evaluate(this.value,this.parameters,t,e,i,r)}}class sn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class ln{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)}interpolate(t,e,i){const r=Ie[this.specification.type];return r?r(t,e,i):t}}class cn{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new on(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},i,r)}:t.expression,e)}interpolate(t,e,i){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new on(this,{kind:"constant",value:void 0},t.parameters);const r=Ie[this.specification.type];return r?new on(this,{kind:"constant",value:r(t.value.value,e.value.value,i)},t.parameters):t}evaluate(t,e,i,r,n,a){return"constant"===t.kind?t.value:t.evaluate(e,i,r,n,a)}}class hn extends cn{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new on(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r),a="resolvedImage"===t.property.specification.type&&"string"!=typeof n?n.name:n,o=this._calculate(a,a,a,e);return new on(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){const i=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new on(this,{kind:"constant",value:i},e)}return new on(this,t.expression,e)}evaluate(t,e,i,r,n,a){if("source"===t.kind){const o=t.evaluate(e,i,r,n,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},i,r),t.evaluate({zoom:Math.floor(e.zoom)},i,r),t.evaluate({zoom:Math.floor(e.zoom)+1},i,r),e):t.value}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class un{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){if(void 0!==t.value){if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r);return this._calculate(n,n,n,e)}return this._calculate(t.expression.evaluate(new Yr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class pn{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class dn{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const i=t[e];i.specification.overridable&&this.overridableProperties.push(e);const r=this.defaultPropertyValues[e]=new Qr(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new tn(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}Ir("DataDrivenProperty",cn),Ir("DataConstantProperty",ln),Ir("CrossFadedDataDrivenProperty",hn),Ir("CrossFadedProperty",un),Ir("ColorRampProperty",pn);const mn="-transition";class fn extends it{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new an(e.layout)),e.paint)){this._transitionablePaint=new en(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new sn(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(wr,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(mn)?this._transitionablePaint.getTransition(t.slice(0,-mn.length)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(br,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(mn))return this._transitionablePaint.setTransition(t.slice(0,-mn.length),e||void 0),!1;{const i=this._transitionablePaint._values[t],r="cross-faded-data-driven"===i.property.specification["property-type"],n=i.value.isDataDriven(),a=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||n||r||this._handleOverridablePaintPropertyUpdate(t,a,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={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&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),u(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,r,n={}){return(!n||!1!==n.validate)&&Tr(this,t.call(xr,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:rt,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof on&&vi(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const gn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class _n{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class yn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xn(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=gn[t.type].BYTES_PER_ELEMENT,a=i=vn(i,Math.max(e,n)),o=t.components||1;return r=Math.max(r,n),i+=n*o,{name:t.name,type:t.type,components:o,offset:a}})),size:vn(i,Math.max(r,e)),alignment:e}}function vn(t,e){return Math.ceil(t/e)*e}class bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.int16[r+0]=e,this.int16[r+1]=i,t}}bn.prototype.bytesPerElement=4,Ir("StructArrayLayout2i4",bn);class wn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,t}}wn.prototype.bytesPerElement=8,Ir("StructArrayLayout4i8",wn);class Tn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,a)}emplace(t,e,i,r,n,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=a,this.int16[s+5]=o,t}}Tn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i4i12",Tn);class En extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,a)}emplace(t,e,i,r,n,a,o){const s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.uint8[l+4]=r,this.uint8[l+5]=n,this.uint8[l+6]=a,this.uint8[l+7]=o,t}}En.prototype.bytesPerElement=8,Ir("StructArrayLayout2i4ub8",En);class Sn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.float32[r+0]=e,this.float32[r+1]=i,t}}Sn.prototype.bytesPerElement=8,Ir("StructArrayLayout2f8",Sn);class In extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c){const h=this.length;return this.resize(h+1),this.emplace(h,t,e,i,r,n,a,o,s,l,c)}emplace(t,e,i,r,n,a,o,s,l,c,h){const u=10*t;return this.uint16[u+0]=e,this.uint16[u+1]=i,this.uint16[u+2]=r,this.uint16[u+3]=n,this.uint16[u+4]=a,this.uint16[u+5]=o,this.uint16[u+6]=s,this.uint16[u+7]=l,this.uint16[u+8]=c,this.uint16[u+9]=h,t}}In.prototype.bytesPerElement=20,Ir("StructArrayLayout10ui20",In);class zn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c,h,u){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,i,r,n,a,o,s,l,c,h,u)}emplace(t,e,i,r,n,a,o,s,l,c,h,u,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=r,this.int16[d+3]=n,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=h,this.int16[d+10]=u,this.int16[d+11]=p,t}}zn.prototype.bytesPerElement=24,Ir("StructArrayLayout4i4ui4i24",zn);class Cn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.float32[n+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}Cn.prototype.bytesPerElement=12,Ir("StructArrayLayout3f12",Cn);class An extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}An.prototype.bytesPerElement=4,Ir("StructArrayLayout1ul4",An);class kn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,i,r,n,a,o,s,l)}emplace(t,e,i,r,n,a,o,s,l,c){const h=10*t,u=5*t;return this.int16[h+0]=e,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=a,this.int16[h+5]=o,this.uint32[u+3]=s,this.uint16[h+8]=l,this.uint16[h+9]=c,t}}kn.prototype.bytesPerElement=20,Ir("StructArrayLayout6i1ul2ui20",kn);class Mn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,a)}emplace(t,e,i,r,n,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=a,this.int16[s+5]=o,t}}Mn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i2i2i12",Mn);class Pn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n)}emplace(t,e,i,r,n,a){const o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=i,this.float32[o+2]=r,this.int16[s+6]=n,this.int16[s+7]=a,t}}Pn.prototype.bytesPerElement=16,Ir("StructArrayLayout2f1f2i16",Pn);class Dn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=i,this.float32[o+1]=r,this.float32[o+2]=n,t}}Dn.prototype.bytesPerElement=12,Ir("StructArrayLayout2ub2f12",Dn);class Ln extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,this.uint16[n+2]=r,t}}Ln.prototype.bytesPerElement=6,Ir("StructArrayLayout3ui6",Ln);class Bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g){const _=this.length;return this.resize(_+1),this.emplace(_,t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g)}emplace(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_){const y=24*t,x=12*t,v=48*t;return this.int16[y+0]=e,this.int16[y+1]=i,this.uint16[y+2]=r,this.uint16[y+3]=n,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=h,this.float32[x+7]=u,this.float32[x+8]=p,this.uint8[v+36]=d,this.uint8[v+37]=m,this.uint8[v+38]=f,this.uint32[x+10]=g,this.int16[y+22]=_,t}}Bn.prototype.bytesPerElement=48,Ir("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Bn);class Rn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,z){const C=this.length;return this.resize(C+1),this.emplace(C,t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,z)}emplace(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,z,C){const A=34*t,k=17*t;return this.int16[A+0]=e,this.int16[A+1]=i,this.int16[A+2]=r,this.int16[A+3]=n,this.int16[A+4]=a,this.int16[A+5]=o,this.int16[A+6]=s,this.int16[A+7]=l,this.uint16[A+8]=c,this.uint16[A+9]=h,this.uint16[A+10]=u,this.uint16[A+11]=p,this.uint16[A+12]=d,this.uint16[A+13]=m,this.uint16[A+14]=f,this.uint16[A+15]=g,this.uint16[A+16]=_,this.uint16[A+17]=y,this.uint16[A+18]=x,this.uint16[A+19]=v,this.uint16[A+20]=b,this.uint16[A+21]=w,this.uint16[A+22]=T,this.uint32[k+12]=E,this.float32[k+13]=S,this.float32[k+14]=I,this.float32[k+15]=z,this.float32[k+16]=C,t}}Rn.prototype.bytesPerElement=68,Ir("StructArrayLayout8i15ui1ul4f68",Rn);class Fn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Fn.prototype.bytesPerElement=4,Ir("StructArrayLayout1f4",Fn);class On extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.int16[n+0]=e,this.int16[n+1]=i,this.int16[n+2]=r,t}}On.prototype.bytesPerElement=6,Ir("StructArrayLayout3i6",On);class Vn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=4*t;return this.uint32[2*t+0]=e,this.uint16[n+2]=i,this.uint16[n+3]=r,t}}Vn.prototype.bytesPerElement=8,Ir("StructArrayLayout1ul2ui8",Vn);class Un extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,t}}Un.prototype.bytesPerElement=4,Ir("StructArrayLayout2ui4",Un);class Nn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Nn.prototype.bytesPerElement=2,Ir("StructArrayLayout1ui2",Nn);class $n extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=i,this.float32[a+2]=r,this.float32[a+3]=n,t}}$n.prototype.bytesPerElement=16,Ir("StructArrayLayout4f16",$n);class Gn extends _n{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new S(this.anchorPointX,this.anchorPointY)}}Gn.prototype.size=20;class qn extends kn{get(t){return new Gn(this,t)}}Ir("CollisionBoxArray",qn);class Zn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Zn.prototype.size=48;class jn extends Bn{get(t){return new Zn(this,t)}}Ir("PlacedSymbolArray",jn);class Xn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get textOffset0(){return this._structArray.float32[this._pos4+14]}get textOffset1(){return this._structArray.float32[this._pos4+15]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+16]}}Xn.prototype.size=68;class Hn extends Rn{get(t){return new Xn(this,t)}}Ir("SymbolInstanceArray",Hn);class Wn extends Fn{getoffsetX(t){return this.float32[1*t+0]}}Ir("GlyphOffsetArray",Wn);class Kn extends On{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Ir("SymbolLineVertexArray",Kn);class Jn extends _n{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]}}Jn.prototype.size=8;class Yn extends Vn{get(t){return new Jn(this,t)}}Ir("FeatureIndexArray",Yn);class Qn extends bn{}class ta extends bn{}class ea extends bn{}class ia extends Tn{}class ra extends En{}class na extends Sn{}class aa extends In{}class oa extends zn{}class sa extends Cn{}class la extends An{}class ca extends Mn{}class ha extends Dn{}class ua extends Ln{}class pa extends Un{}const da=xn([{name:"a_pos",components:2,type:"Int16"}],4),{members:ma}=da;class fa{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>fa.MAX_VERTEX_ARRAY_LENGTH&&m(`Max vertices per segment is ${fa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>fa.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:e.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 t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,r){return new fa([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function ga(t,e){return 256*(t=a(Math.floor(t),0,255))+a(Math.floor(e),0,255)}fa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ir("SegmentVector",fa);const _a=xn([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var ya={exports:{}},xa={exports:{}};xa.exports=function(t,e){var i,r,n,a,o,s,l,c;for(r=t.length-(i=3&t.length),n=e,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return n^=t.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 va={exports:{}};va.exports=function(t,e){for(var i,r=t.length,n=e^r,a=0;r>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<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,++a;switch(r){case 3:n^=(255&t.charCodeAt(a+2))<<16;case 2:n^=(255&t.charCodeAt(a+1))<<8;case 1:n=1540483477*(65535&(n^=255&t.charCodeAt(a)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var ba=xa.exports,wa=va.exports;ya.exports=ba,ya.exports.murmur3=ba,ya.exports.murmur2=wa;class Ta{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(Ea(t)),this.positions.push(e,i,r)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const e=Ea(t);let i=0,r=this.ids.length-1;for(;i>1;this.ids[t]>=e?r=t:i=t+1}const n=[];for(;this.ids[i]===e;)n.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return n}static serialize(t,e){const i=new Float64Array(t.ids),r=new Uint32Array(t.positions);return Sa(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new Ta;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Ea(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ya.exports(String(t))}function Sa(t,e,i,r){for(;i>1];let a=i-1,o=r+1;for(;;){do{a++}while(t[a]n);if(a>=o)break;Ia(t,a,o),Ia(e,3*a,3*o),Ia(e,3*a+1,3*o+1),Ia(e,3*a+2,3*o+2)}o-i`u_${t}`)),this.type=i}setUniform(t,e,i){t.set(i.constantOr(this.value))}getBinding(t,e,i){return"color"===this.type?new ka(t,e):new Ca(t,e)}}class La{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,i,r){const n="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;n&&t.set(n)}getBinding(t,e,i){return"u_pattern"===i.substr(0,9)?new Aa(t,e):new Ca(t,e)}}class Ba{constructor(t,e,i,r){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(t,e,i,r,n){const a=this.paintVertexArray.length,o=this.expression.evaluate(new Yr(0),e,{},r,[],n);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(t,e,n)}_setPaintValue(t,e,i){if("color"===this.type){const r=Pa(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(t,e,i,r,n){const a=this.expression.evaluate(new Yr(this.zoom),e,{},r,[],n),o=this.expression.evaluate(new Yr(this.zoom+1),e,{},r,[],n),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:this.zoom},i,r),a=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(t,e,n,a)}_setPaintValue(t,e,i,r){if("color"===this.type){const n=Pa(i),a=Pa(r);for(let i=t;i`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof Ba||i instanceof Ra)for(let e=0;e!0)){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new Oa(r,e,i);this.needsUpload=!1,this._featureMap=new Ta,this._bufferOffset=0}populatePaintArrays(t,e,i,r,n,a){for(const o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,r,n,a);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,r){for(const n of i)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(t,this._featureMap,e,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function Ua(t,e){return{"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_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}function Na(t,e,i){const r={color:{source:Sn,composite:$n},number:{source:Fn,composite:Sn}},n=function(t){return{"line-pattern":{source:aa,composite:aa},"fill-pattern":{source:aa,composite:aa},"fill-extrusion-pattern":{source:aa,composite:aa}}[t]}(t);return n&&n[i]||r[e][i]}Ir("ConstantBinder",Da),Ir("CrossFadedConstantBinder",La),Ir("SourceExpressionBinder",Ba),Ir("CrossFadedCompositeBinder",Fa),Ir("CompositeExpressionBinder",Ra),Ir("ProgramConfiguration",Oa,{omit:["_buffers"]}),Ir("ProgramConfigurationSet",Va);var $a=8192;const Ga=Math.pow(2,14)-1,qa=-Ga-1;function Za(t){const e=$a/t.extent,i=t.loadGeometry();for(let r=0;rr.x+1||or.y+1)&&m("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function ja(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Za(t):[]}}function Xa(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class Ha{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new ua,this.segments=new fa,this.programConfigurations=new Va(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){const r=this.layers[0],n=[];let a=null,o=!1;"circle"===r.type&&(a=r.layout.get("circle-sort-key"),o=!a.isConstant());for(const{feature:s,id:l,index:c,sourceLayerIndex:h}of t){const t=this.layers[0]._featureFilter.needGeometry,e=ja(s,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),e,i))continue;const r=o?a.evaluate(e,{},i):void 0,u={id:l,properties:s.properties,type:s.type,sourceLayerIndex:h,index:c,geometry:t?e.geometry:Za(s),patterns:{},sortKey:r};n.push(u)}o&&n.sort(((t,e)=>t.sortKey-e.sortKey));for(const s of n){const{geometry:r,index:n,sourceLayerIndex:a}=s,o=t[n].feature;this.addFeature(s,r,n,i),e.featureIndex.insert(o,r,n,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ma),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,i,r){for(const n of e)for(const e of n){const i=e.x,r=e.y;if(i<0||i>=$a||r<0||r>=$a)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=n.vertexLength;Xa(this.layoutVertexArray,i,r,-1,-1),Xa(this.layoutVertexArray,i,r,1,-1),Xa(this.layoutVertexArray,i,r,1,1),Xa(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),n.vertexLength+=4,n.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},r)}}function Wa(t,e){for(let i=0;i1){if(Qa(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function ro(t,e){let i,r,n,a=!1;for(let o=0;oe.y!=n.y>e.y&&e.x<(n.x-r.x)*(e.y-r.y)/(n.y-r.y)+r.x&&(a=!a)}return a}function no(t,e){let i=!1;for(let r=0,n=t.length-1;re.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(i=!i)}return i}function ao(t,e,i){const r=i[0],n=i[2];if(t.xn.x&&e.x>n.x||t.yn.y&&e.y>n.y)return!1;const a=f(t,e,i[0]);return a!==f(t,e,i[1])||a!==f(t,e,i[2])||a!==f(t,e,i[3])}function oo(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function so(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,i,r,n){if(!e[0]&&!e[1])return t;const a=S.convert(e)._mult(n);"viewport"===i&&a._rotate(-r);const o=[];for(let s=0;st.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const o=t.data,s=e.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{e[t.evaluationKey]=a;const o=t.expression.evaluate(e);n.data[i+r+0]=Math.floor(255*o.r/o.a),n.data[i+r+1]=Math.floor(255*o.g/o.a),n.data[i+r+2]=Math.floor(255*o.b/o.a),n.data[i+r+3]=Math.floor(255*o.a)};if(t.clips)for(let o=0,s=0;o80*i){r=a=t[0],n=o=t[1];for(var m=i;ma&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-r,o-n))?32767/c:0}return Vo(p,d,i,r,n,c,0),d}function Fo(t,e,i,r,n){var a,o;if(n===ss(t,e,i,r)>0)for(a=e;a=e;a-=r)o=ns(a,t[a],t[a+1],o);return o&&Yo(o,o.next)&&(as(o),o=o.next),o}function Oo(t,e){if(!t)return t;e||(e=t);var i,r=t;do{if(i=!1,r.steiner||!Yo(r,r.next)&&0!==Jo(r.prev,r,r.next))r=r.next;else{if(as(r),(r=e=r.prev)===r.next)break;i=!0}}while(i||r!==e);return e}function Vo(t,e,i,r,n,a,o){if(t){!o&&a&&function(t,e,i,r){var n=t;do{0===n.z&&(n.z=Xo(n.x,n.y,e,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,i,r,n,a,o,s,l,c=1;do{for(i=t,t=null,a=null,o=0;i;){for(o++,r=i,s=0,e=0;e0||l>0&&r;)0!==s&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,s--):(n=r,r=r.nextZ,l--),a?a.nextZ=n:t=n,n.prevZ=a,a=n;i=r}a.nextZ=null,c*=2}while(o>1)}(n)}(t,r,n,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?No(t,r,n,a):Uo(t))e.push(s.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),as(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Vo(t=$o(Oo(t),e,i),e,i,r,n,a,2):2===o&&Go(t,e,i,r,n,a):Vo(Oo(t),e,i,r,n,a,1);break}}}function Uo(t){var e=t.prev,i=t,r=t.next;if(Jo(e,i,r)>=0)return!1;for(var n=e.x,a=i.x,o=r.x,s=e.y,l=i.y,c=r.y,h=na?n>o?n:o:a>o?a:o,d=s>l?s>c?s:c:l>c?l:c,m=r.next;m!==e;){if(m.x>=h&&m.x<=p&&m.y>=u&&m.y<=d&&Wo(n,s,a,l,o,c,m.x,m.y)&&Jo(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function No(t,e,i,r){var n=t.prev,a=t,o=t.next;if(Jo(n,a,o)>=0)return!1;for(var s=n.x,l=a.x,c=o.x,h=n.y,u=a.y,p=o.y,d=sl?s>c?s:c:l>c?l:c,g=h>u?h>p?h:p:u>p?u:p,_=Xo(d,m,e,i,r),y=Xo(f,g,e,i,r),x=t.prevZ,v=t.nextZ;x&&x.z>=_&&v&&v.z<=y;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Wo(s,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Wo(s,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=_;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Wo(s,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Wo(s,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function $o(t,e,i){var r=t;do{var n=r.prev,a=r.next.next;!Yo(n,a)&&Qo(n,r,r.next,a)&&is(n,a)&&is(a,n)&&(e.push(n.i/i|0),e.push(r.i/i|0),e.push(a.i/i|0),as(r),as(r.next),r=t=a),r=r.next}while(r!==t);return Oo(r)}function Go(t,e,i,r,n,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Ko(o,s)){var l=rs(o,s);return o=Oo(o,o.next),l=Oo(l,l.next),Vo(o,e,i,r,n,a,0),void Vo(l,e,i,r,n,a,0)}s=s.next}o=o.next}while(o!==t)}function qo(t,e){return t.x-e.x}function Zo(t,e){var i=function(t,e){var i,r=e,n=t.x,a=t.y,o=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var s=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>o&&(o=s,i=r.x=r.x&&r.x>=h&&n!==r.x&&Wo(ai.x||r.x===i.x&&jo(i,r)))&&(i=r,p=l)),r=r.next}while(r!==c);return i}(t,e);if(!i)return e;var r=rs(i,t);return Oo(r,r.next),Oo(i,i.next)}function jo(t,e){return Jo(t.prev,t,e.prev)<0&&Jo(e.next,t,t.next)<0}function Xo(t,e,i,r,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Ho(t){var e=t,i=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(r-s)>=(i-o)*(e-s)&&(i-o)*(a-s)>=(n-o)*(r-s)}function Ko(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&Qo(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(is(t,e)&&is(e,t)&&function(t,e){var i=t,r=!1,n=(t.x+e.x)/2,a=(t.y+e.y)/2;do{i.y>a!=i.next.y>a&&i.next.y!==i.y&&n<(i.next.x-i.x)*(a-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==t);return r}(t,e)&&(Jo(t.prev,t,e.prev)||Jo(t,e.prev,e))||Yo(t,e)&&Jo(t.prev,t,t.next)>0&&Jo(e.prev,e,e.next)>0)}function Jo(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Yo(t,e){return t.x===e.x&&t.y===e.y}function Qo(t,e,i,r){var n=es(Jo(t,e,i)),a=es(Jo(t,e,r)),o=es(Jo(i,r,t)),s=es(Jo(i,r,e));return n!==a&&o!==s||!(0!==n||!ts(t,i,e))||!(0!==a||!ts(t,r,e))||!(0!==o||!ts(i,t,r))||!(0!==s||!ts(i,e,r))}function ts(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function es(t){return t>0?1:t<0?-1:0}function is(t,e){return Jo(t.prev,t,t.next)<0?Jo(t,e,t.next)>=0&&Jo(t,t.prev,e)>=0:Jo(t,e,t.prev)<0||Jo(t,t.next,e)<0}function rs(t,e){var i=new os(t.i,t.x,t.y),r=new os(e.i,e.x,e.y),n=t.next,a=e.prev;return t.next=e,e.prev=t,i.next=n,n.prev=i,r.next=i,i.prev=r,a.next=r,r.prev=a,r}function ns(t,e,i,r){var n=new os(t,e,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 as(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function os(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ss(t,e,i,r){for(var n=0,a=e,o=i-r;ai;){if(r-i>600){var a=r-i+1,o=e-i+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);cs(t,e,Math.max(i,Math.floor(e-o*l/a+c)),Math.min(r,Math.floor(e+(a-o)*l/a+c)),n)}var h=t[e],u=i,p=r;for(hs(t,i,e),n(t[r],h)>0&&hs(t,i,r);u0;)p--}0===n(t[i],h)?hs(t,i,p):hs(t,++p,r),p<=e&&(i=p+1),e<=p&&(r=p-1)}}function hs(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function us(t,e){return te?1:0}function ps(t,e){const i=t.length;if(i<=1)return[t];const r=[];let n,a;for(let o=0;o1)for(let o=0;o0&&i.holes.push(r+=t[n-1].length)}return i};class gs{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ea,this.indexArray=new ua,this.indexArray2=new pa,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new fa,this.segments2=new fa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ms("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),n=!r.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,h=ja(o,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,p={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:Za(o),patterns:{},sortKey:u};a.push(p)}n&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const o of a){const{geometry:r,index:n,sourceLayerIndex:a}=o;if(this.hasPattern){const t=fs("fill",this.layers,o,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(o,r,n,i,{});e.featureIndex.insert(t[n].feature,r,n,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Lo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,i,r,n){for(const a of ps(e,500)){let t=0;for(const s of a)t+=s.length;const e=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),i=e.vertexLength,r=[],n=[];for(const s of a){if(0===s.length)continue;s!==a[0]&&n.push(r.length/2);const t=this.segments2.prepareSegment(s.length,this.layoutVertexArray,this.indexArray2),e=t.vertexLength;this.layoutVertexArray.emplaceBack(s[0].x,s[0].y),this.indexArray2.emplaceBack(e+s.length-1,e),r.push(s[0].x),r.push(s[0].y);for(let i=1;i>3}if(n--,1===r||2===r)a+=t.readSVarint(),o+=t.readSVarint(),1===r&&(e&&s.push(e),e=[]),e.push(new Ts(a,o));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&s.push(e),s},Ss.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,r=0,n=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(r--,1===i||2===i)(n+=t.readSVarint())s&&(s=n),(a+=t.readSVarint())c&&(c=a);else if(7!==i)throw new Error("unknown command "+i)}return[o,l,s,c]},Ss.prototype.toGeoJSON=function(t,e,i){var r,n,a=this.extent*Math.pow(2,i),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ss.types[this.type];function h(t){for(var e=0;e>3;e=1===r?t.readString():2===r?t.readFloat():3===r?t.readDouble():4===r?t.readVarint64():5===r?t.readVarint():6===r?t.readSVarint():7===r?t.readBoolean():null}return e}(i))}ks.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Cs(this._pbf,e,this.extent,this._keys,this._values)};var Ps=As;function Ds(t,e,i){if(3===t){var r=new Ps(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}ws.VectorTile=function(t,e){this.layers=t.readFields(Ds,{},e)},ws.VectorTileFeature=Es,ws.VectorTileLayer=As;const Ls=ws.VectorTileFeature.types,Bs=Math.pow(2,13);function Rs(t,e,i,r,n,a,o,s){t.emplaceBack(e,i,2*Math.floor(r*Bs)+o,n*Bs*2,a*Bs*2,Math.round(s))}class Fs{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.centroidVertexArray=new Qn,this.indexArray=new ua,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new fa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=ms("fill-extrusion",this.layers,e);for(const{feature:r,id:n,index:a,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,s=ja(r,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),s,i))continue;const l={id:n,sourceLayerIndex:o,index:a,geometry:t?s.geometry:Za(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(fs("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,i,{}),e.featureIndex.insert(r,l.geometry,a,o,this.index,!0)}}addFeatures(t,e,i){for(const r of this.features){const{geometry:t}=r;this.addFeature(r,t,r.index,e,i)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bs),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,vs.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,i,r,n){const a={x:0,y:0,vertexCount:0};for(const o of ps(e,500)){let e=0;for(const t of o)e+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of o){if(0===t.length)continue;if(Vs(t))continue;let e=0;for(let r=0;r=1){const o=t[r-1];if(!Os(n,o)){i.vertexLength+4>fa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=n.sub(o)._perp()._unit(),r=o.dist(n);e+r>32768&&(e=0),Rs(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,0,e),Rs(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,1,e),a.x+=2*n.x,a.y+=2*n.y,a.vertexCount+=2,e+=r,Rs(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,e),Rs(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,e),a.x+=2*o.x,a.y+=2*o.y,a.vertexCount+=2;const s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+e>fa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),"Polygon"!==Ls[t.type])continue;const r=[],n=[],s=i.vertexLength;for(const t of o)if(0!==t.length){t!==o[0]&&n.push(r.length/2);for(let e=0;e$a)||t.y===e.y&&(t.y<0||t.y>$a)}function Vs(t){return t.every((t=>t.x<0))||t.every((t=>t.x>$a))||t.every((t=>t.y<0))||t.every((t=>t.y>$a))}Ir("FillExtrusionBucket",Fs,{omit:["layers","features"]});var Us={paint:new dn({"fill-extrusion-opacity":new ln(rt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new cn(rt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new hn(rt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new cn(rt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new cn(rt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ln(rt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};function Ns(t,e){return t.x*e.x+t.y*e.y}function $s(t,e){if(1===t.length){let i=0;const r=e[i++];let n;for(;!n||r.equals(n);)if(n=e[i++],!n)return 1/0;for(;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new ra,this.layoutVertexArray2=new na,this.indexArray=new ua,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new fa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ms("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),n=!r.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,e=ja(o,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),e,i))continue;const h=n?r.evaluate(e,{},i):void 0,u={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?e.geometry:Za(o),patterns:{},sortKey:h};a.push(u)}n&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const o of a){const{geometry:r,index:n,sourceLayerIndex:a}=o;if(this.hasPattern){const t=fs("line",this.layers,o,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(o,r,n,i,{});e.featureIndex.insert(t[n].feature,r,n,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,js)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,r,n){const a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const h of e)this.addLine(h,t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,n,r)}addLine(t,e,i,r,n,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[s-1].equals(t[s-2]);)s--;let l=0;for(;l0;if(b&&g>l){const t=u.dist(p);if(t>2*c){const e=u.sub(u.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,m,0,0,h),p=e}}const T=p&&d;let E=T?i:o?"butt":r;if(T&&"round"===E&&(xn&&(E="bevel"),"bevel"===E&&(x>2&&(E="flipbevel"),x100)e=f.mult(-1);else{const t=x*m.add(f).mag()/m.sub(f).mag();e._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,e,0,0,h),this.addCurrentVertex(u,e.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(u,m,e,i,h),"fakeround"===E){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(d.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,f,0,0,h),u=e}}}}addCurrentVertex(t,e,i,r,n,a=!1){const o=e.y*r-e.x,s=-e.y-e.x*r;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,a,!1,i,n),this.addHalfVertex(t,o,s,a,!0,-r,n),this.distance>Ws/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,i,r,n,a))}addHalfVertex({x:t,y:e},i,r,n,a,o,s){const l=.5*(this.lineClips?this.scaledDistance*(Ws-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(n?1:0),(e<<1)+(a?1:0),Math.round(63*i)+128,Math.round(63*r)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}Ir("LineBucket",Ks,{omit:["layers","patternFeatures"]});const Js=new dn({"line-cap":new ln(rt.layout_line["line-cap"]),"line-join":new cn(rt.layout_line["line-join"]),"line-miter-limit":new ln(rt.layout_line["line-miter-limit"]),"line-round-limit":new ln(rt.layout_line["line-round-limit"]),"line-sort-key":new cn(rt.layout_line["line-sort-key"])});var Ys={paint:new dn({"line-opacity":new cn(rt.paint_line["line-opacity"]),"line-color":new cn(rt.paint_line["line-color"]),"line-translate":new ln(rt.paint_line["line-translate"]),"line-translate-anchor":new ln(rt.paint_line["line-translate-anchor"]),"line-width":new cn(rt.paint_line["line-width"]),"line-gap-width":new cn(rt.paint_line["line-gap-width"]),"line-offset":new cn(rt.paint_line["line-offset"]),"line-blur":new cn(rt.paint_line["line-blur"]),"line-dasharray":new un(rt.paint_line["line-dasharray"]),"line-pattern":new hn(rt.paint_line["line-pattern"]),"line-gradient":new pn(rt.paint_line["line-gradient"])}),layout:Js};const Qs=new class extends cn{possiblyEvaluate(t,e){return e=new Yr(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,r){return e=s({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}(Ys.paint.properties["line-width"].specification);function tl(t,e){return e>0?e+2*t:t}Qs.useIntegerZoom=!0;const el=xn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),il=xn([{name:"a_projected_pos",components:3,type:"Float32"}],4);xn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const rl=xn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);xn([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const nl=xn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),al=xn([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ol(t,e,i){return t.sections.forEach((t=>{t.text=function(t,e,i){const r=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?t=t.toLocaleUpperCase():"lowercase"===r&&(t=t.toLocaleLowerCase()),Jr.applyArabicShaping&&(t=Jr.applyArabicShaping(t)),t}(t.text,e,i)})),t}xn([{name:"triangle",components:3,type:"Uint16"}]),xn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{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"}]),xn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{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",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),xn([{type:"Float32",name:"offsetX"}]),xn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);const sl={"!":"\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"};var ll=24,cl=pl,hl=function(t,e,i,r,n){var a,o,s=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,p=i?-1:1,d=t[e+u];for(u+=p,a=d&(1<<-h)-1,d>>=-h,h+=s;h>0;a=256*a+t[e+u],u+=p,h-=8);for(o=a&(1<<-h)-1,a>>=-h,h+=r;h>0;o=256*o+t[e+u],u+=p,h-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),a-=c}return(d?-1:1)*o*Math.pow(2,a-r)},ul=function(t,e,i,r,n,a){var o,s,l,c=8*a-n-1,h=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:a-1,m=r?1:-1,f=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?p/l:p*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=h?(s=0,o=h):o+u>=1?(s=(e*l-1)*Math.pow(2,n),o+=u):(s=e*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;t[i+d]=255&s,d+=m,s/=256,n-=8);for(o=o<0;t[i+d]=255&o,d+=m,o/=256,c-=8);t[i+d-m]|=128*f};function pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}pl.Varint=0,pl.Fixed64=1,pl.Bytes=2,pl.Fixed32=5;var dl,ml=4294967296,fl=1/ml,gl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function _l(t){return t.type===pl.Bytes?t.readVarint()+t.pos:t.pos+1}function yl(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function xl(t,e,i){var r=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=t;n--)i.buf[n+r]=i.buf[n]}function vl(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function Ml(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Pl(t,e,i){1===t&&i.readMessage(Dl,e)}function Dl(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:a,left:o,top:s,advance:l}=i.readMessage(Ll,{});e.push({id:t,bitmap:new Ao({width:n+6,height:a+6},r),metrics:{width:n,height:a,left:o,top:s,advance:l}})}}function Ll(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}function Bl(t){let e=0,i=0;for(const o of t)e+=o.w*o.h,i=Math.max(i,o.w);t.sort(((t,e)=>e.h-t.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let n=0,a=0;for(const o of t)for(let t=r.length-1;t>=0;t--){const e=r[t];if(!(o.w>e.w||o.h>e.h)){if(o.x=e.x,o.y=e.y,a=Math.max(a,o.y+o.h),n=Math.max(n,o.x+o.w),o.w===e.w&&o.h===e.h){const e=r.pop();t>3,a=this.pos;this.type=7&r,t(n,e,this),this.pos===a&&this.skip(r)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Al(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ml(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Al(this.buf,this.pos)+Al(this.buf,this.pos+4)*ml;return this.pos+=8,t},readSFixed64:function(){var t=Al(this.buf,this.pos)+Ml(this.buf,this.pos+4)*ml;return this.pos+=8,t},readFloat:function(){var t=hl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=hl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,r=this.buf;return e=127&(i=r[this.pos++]),i<128?e:(e|=(127&(i=r[this.pos++]))<<7,i<128?e:(e|=(127&(i=r[this.pos++]))<<14,i<128?e:(e|=(127&(i=r[this.pos++]))<<21,i<128?e:function(t,e,i){var r,n,a=i.buf;if(r=(112&(n=a[i.pos++]))>>4,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<3,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<10,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<17,n<128)return yl(t,r,e);if(r|=(127&(n=a[i.pos++]))<<24,n<128)return yl(t,r,e);if(r|=(1&(n=a[i.pos++]))<<31,n<128)return yl(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=r[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&gl?function(t,e,i){return gl.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var r="",n=e;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(a=t[n+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===h?(o=t[n+2],128==(192&(a=t[n+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(o=t[n+2],s=t[n+3],128==(192&(a=t[n+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=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,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==pl.Bytes)return t.push(this.readVarint(e));var i=_l(this);for(t=t||[];this.pos127;);else if(e===pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===pl.Fixed32)this.pos+=4;else{if(e!==pl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,r;if(t>=0?(i=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(r,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var r,n,a=0;a55295&&r<57344){if(!n){r>56319||a+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):n=r;continue}if(r<56320){t[i++]=239,t[i++]=191,t[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(t[i++]=239,t[i++]=191,t[i++]=189,n=null);r<128?t[i++]=r:(r<2048?t[i++]=r>>6|192:(r<65536?t[i++]=r>>12|224:(t[i++]=r>>18|240,t[i++]=r>>12&63|128),t[i++]=r>>6&63|128),t[i++]=63&r|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&xl(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),ul(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ul(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&xl(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,pl.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,vl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,bl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,El,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,wl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Tl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Sl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,zl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Cl,e)},writeBytesField:function(t,e){this.writeTag(t,pl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,pl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,pl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};class Rl{constructor(t,{pixelRatio:e,version:i,stretchX:r,stretchY:n,content:a}){this.paddedRect=t,this.pixelRatio=e,this.stretchX=r,this.stretchY=n,this.content=a,this.version=i}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 tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Fl{constructor(t,e){const i={},r={};this.haveRenderCallbacks=[];const n=[];this.addImages(t,i,n),this.addImages(e,r,n);const{w:a,h:o}=Bl(n),s=new ko({width:a||1,height:o||1});for(const l in t){const e=t[l],r=i[l].paddedRect;ko.copy(e.data,s,{x:0,y:0},{x:r.x+1,y:r.y+1},e.data)}for(const l in e){const t=e[l],i=r[l].paddedRect,n=i.x+1,a=i.y+1,o=t.data.width,c=t.data.height;ko.copy(t.data,s,{x:0,y:0},{x:n,y:a},t.data),ko.copy(t.data,s,{x:0,y:c-1},{x:n,y:a-1},{width:o,height:1}),ko.copy(t.data,s,{x:0,y:0},{x:n,y:a+c},{width:o,height:1}),ko.copy(t.data,s,{x:o-1,y:0},{x:n-1,y:a},{width:1,height:c}),ko.copy(t.data,s,{x:0,y:0},{x:n+o,y:a},{width:1,height:c})}this.image=s,this.iconPositions=i,this.patternPositions=r}addImages(t,e,i){for(const r in t){const n=t[r],a={x:0,y:0,w:n.data.width+2,h:n.data.height+2};i.push(a),e[r]=new Rl(a,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(t,e){t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in t.updatedImages)this.patchUpdatedImage(this.iconPositions[i],t.getImage(i),e),this.patchUpdatedImage(this.patternPositions[i],t.getImage(i),e)}patchUpdatedImage(t,e,i){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[r,n]=t.tl;i.update(e.data,void 0,{x:r,y:n})}}Ir("ImagePosition",Rl),Ir("ImageAtlas",Fl),t.WritingMode=void 0,(dl=t.WritingMode||(t.WritingMode={}))[dl.none=0]="none",dl[dl.horizontal=1]="horizontal",dl[dl.vertical=2]="vertical",dl[dl.horizontalOnly=3]="horizontalOnly";const Ol=-17;class Vl{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(t,e){const i=new Vl;return i.scale=t||1,i.fontStack=e,i}static forImage(t){const e=new Vl;return e.imageName=t,e}}class Ul{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(t,e){const i=new Ul;for(let r=0;r=0&&i>=t&&$l[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Ul;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Vl.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let r=0;r=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nl(e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g){const _=Ul.fromFeature(e,a);let y;p===t.WritingMode.vertical&&_.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Jr;if(x&&1===_.sections.length){y=[];const t=x(_.toString(),Wl(_,h,o,i,n,m,f));for(const e of t){const t=new Ul;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>b&&(b=r)}else{const t=r[l.fontStack],e=t&&t[g];if(e&&e.rect)w=e.rect,y=e.metrics;else{const t=i[l.fontStack],e=t&&t[g];if(!e)continue;y=e.metrics}_=(a-l.scale)*ll}I?(e.verticalizable=!0,v.push({glyph:g,imageName:E,x:d,y:m+_,vertical:I,scale:l.scale,fontStack:l.fontStack,sectionIndex:f,metrics:y,rect:w}),d+=S*l.scale+h):(v.push({glyph:g,imageName:E,x:d,y:m+_,vertical:I,scale:l.scale,fontStack:l.fontStack,sectionIndex:f,metrics:y,rect:w}),d+=y.advance*l.scale+h)}0!==v.length&&(f=Math.max(d-h,f),Jl(v,0,v.length-1,_,b)),d=0;const w=o*a+b;l.lineOffset=Math.max(b,s),m+=w,g=Math.max(w,g),++y}var x;const v=m-Ol,{horizontalAlign:b,verticalAlign:w}=Kl(s);(function(t,e,i,r,n,a,o,s,l){const c=(e-i)*n;let h=0;h=a!==o?-s*r-Ol:(-r*l+.5)*o;for(const u of t)for(const t of u.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,_,b,w,f,g,o,v,a.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*f,e.right=e.left+f}(w,i,r,n,y,s,l,c,p,h,d,g),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(b)&&w}const $l={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Gl={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function ql(t,e,i,r,n,a){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*ll/a+n:0}{const r=i[e.fontStack],a=r&&r[t];return a?a.metrics.advance*e.scale+n:0}}function Zl(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let h=0;for(let p=0;p-i/2;){if(o--,o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;sr;)c-=l.shift().angleDelta;if(c>n)return!1;o++,s+=e.dist(i)}return!0}function nc(t){let e=0;for(let i=0;ic){const a=(c-l)/n,u=Se(i.x,r.x,a),p=Se(i.y,r.y,a),d=new ic(u,p,r.angleTo(i),h);return d._round(),!o||rc(t,d,s,o,e)?d:void 0}l+=n}}function lc(t,e,i,r,n,a,o,s,l){const c=ac(r,a,o),h=oc(r,n),u=h*o,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&_=0&&y=0&&p+c<=h){const e=new ic(_,y,f,m);e._round(),r&&!rc(t,e,a,r,n)||d.push(e)}}u+=s}return s||d.length||o||(d=cc(t,u/2,i,r,n,a,o,!0,l)),d}function hc(t,e,i,r,n){const a=[];for(let o=0;o=r&&c.x>=r||(o.x>=r?o=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=r&&(c=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=n&&c.y>=n||(o.y>=n?o=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round():c.y>=n&&(c=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round()),l&&o.equals(l[l.length-1])||(l=[o],a.push(l)),l.push(c)))))}}return a}function uc(t,e,i,r){const n=[],a=t.image,o=a.pixelRatio,s=a.paddedRect.w-2,l=a.paddedRect.h-2,c=t.right-t.left,h=t.bottom-t.top,u=a.stretchX||[[0,s]],p=a.stretchY||[[0,l]],d=(t,e)=>t+e[1]-e[0],m=u.reduce(d,0),f=p.reduce(d,0),g=s-m,_=l-f;let y=0,x=m,v=0,b=f,w=0,T=g,E=0,I=_;if(a.content&&r){const t=a.content;y=pc(u,0,t[0]),v=pc(p,0,t[1]),x=pc(u,t[0],t[2]),b=pc(p,t[1],t[3]),w=t[0]-y,E=t[1]-v,T=t[2]-t[0]-x,I=t[3]-t[1]-b}const z=(r,n,s,l)=>{const u=mc(r.stretch-y,x,c,t.left),p=fc(r.fixed-w,T,r.stretch,m),d=mc(n.stretch-v,b,h,t.top),g=fc(n.fixed-E,I,n.stretch,f),_=mc(s.stretch-y,x,c,t.left),z=fc(s.fixed-w,T,s.stretch,m),C=mc(l.stretch-v,b,h,t.top),A=fc(l.fixed-E,I,l.stretch,f),k=new S(u,d),M=new S(_,d),P=new S(_,C),D=new S(u,C),L=new S(p/o,g/o),B=new S(z/o,A/o),R=e*Math.PI/180;if(R){const t=Math.sin(R),e=Math.cos(R),i=[e,-t,t,e];k._matMult(i),M._matMult(i),D._matMult(i),P._matMult(i)}const F=r.stretch+r.fixed,O=n.stretch+n.fixed;return{tl:k,tr:M,bl:D,br:P,tex:{x:a.paddedRect.x+1+F,y:a.paddedRect.y+1+O,w:s.stretch+s.fixed-F,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:L,pixelOffsetBR:B,minFontScaleX:T/o/c,minFontScaleY:I/o/h,isSDF:i}};if(r&&(a.stretchX||a.stretchY)){const t=dc(u,g,m),e=dc(p,_,f);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=a.top*o-s[0],h=a.bottom*o+s[2],u=a.left*o-s[3],p=a.right*o+s[1];const d=a.collisionPadding;if(d&&(u-=d[0]*o,l-=d[1]*o,p+=d[2]*o,h+=d[3]*o),c){const t=new S(u,l),e=new S(p,l),i=new S(u,h),r=new S(p,h),n=c*Math.PI/180;t._rotate(n),e._rotate(n),i._rotate(n),r._rotate(n),u=Math.min(t.x,e.x,i.x,r.x),p=Math.max(t.x,e.x,i.x,r.x),l=Math.min(t.y,e.y,i.y,r.y),h=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,u,l,p,h,i,r,n)}this.boxEndIndex=t.length}}class _c{constructor(t=[],e=yc){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,r=e[t];for(;t>0;){const n=t-1>>1,a=e[n];if(i(r,a)>=0)break;e[t]=a,t=n}e[t]=r}_down(t){const{data:e,compare:i}=this,r=this.length>>1,n=e[t];for(;t=0)break;e[t]=a,t=r}e[t]=n}}function yc(t,e){return te?1:0}function xc(t,e=1,i=!1){let r=1/0,n=1/0,a=-1/0,o=-1/0;const s=t[0];for(let d=0;da)&&(a=t.x),(!d||t.y>o)&&(o=t.y)}const l=Math.min(a-r,o-n);let c=l/2;const h=new _c([],vc);if(0===l)return new S(r,n);for(let d=r;du.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,p)),r.max-u.d<=e||(c=r.h/2,h.push(new bc(r.p.x-c,r.p.y-c,c,t)),h.push(new bc(r.p.x+c,r.p.y-c,c,t)),h.push(new bc(r.p.x-c,r.p.y+c,c,t)),h.push(new bc(r.p.x+c,r.p.y+c,c,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${u.d}`)),u.p}function vc(t,e){return e.max-t.max}function bc(t,e,i,r){this.p=new S(t,e),this.h=i,this.d=function(t,e){let i=!1,r=1/0;for(let n=0;nt.y!=s.y>t.y&&t.x<(s.x-n.x)*(t.y-n.y)/(s.y-n.y)+n.x&&(i=!i),r=Math.min(r,io(t,n,s))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}const wc=Number.POSITIVE_INFINITY;function Tc(t,e){return e[1]!==wc?function(t,e,i){let r=0,n=0;switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":n=i-7;break;case"bottom-right":case"bottom-left":case"bottom":n=7-i}switch(t){case"top-right":case"bottom-right":case"right":r=-e;break;case"top-left":case"bottom-left":case"left":r=e}return[r,n]}(t,e[0],e[1]):function(t,e){let i=0,r=0;e<0&&(e=0);const n=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":r=n-7;break;case"bottom-right":case"bottom-left":r=7-n;break;case"bottom":r=7-e;break;case"top":r=e-7}switch(t){case"top-right":case"bottom-right":i=-n;break;case"top-left":case"bottom-left":i=n;break;case"left":i=e;break;case"right":i=-e}return[i,r]}(t,e[0])}function Ec(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Sc(e,i,r,n,a,o,s,l,c,h,u){let p=o.textMaxSize.evaluate(i,{});void 0===p&&(p=s);const d=e.layers[0].layout,f=d.get("icon-offset").evaluate(i,{},u),g=Cc(r.horizontal),_=s/24,y=e.tilePixelRatio*_,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*e.tilePixelRatio,T=function(t,e,i,r=1){const n=t.get("icon-padding").evaluate(e,{},i),a=n&&n.values;return[a[0]*r,a[1]*r,a[2]*r,a[3]*r]}(d,i,u,e.tilePixelRatio),E=d.get("text-max-angle")/180*Math.PI,S="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),I="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),z=d.get("symbol-placement"),C=b/2,A=d.get("icon-text-fit");let k;n&&"none"!==A&&(e.allowVerticalPlacement&&r.vertical&&(k=Ql(n,r.vertical,A,d.get("icon-text-fit-padding"),f,_)),g&&(n=Ql(n,g,A,d.get("icon-text-fit-padding"),f,_)));const M=(l,p)=>{p.x<0||p.x>=$a||p.y<0||p.y>=$a||function(e,i,r,n,a,o,s,l,c,h,u,p,d,f,g,_,y,x,v,b,w,T,E,S,I){const z=e.addToLineVertexArray(i,r);let C,A,k,M,P=0,D=0,L=0,B=0,R=-1,F=-1;const O={};let V=ya.exports(""),U=0,N=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[U,N]=l.layout.get("text-offset").evaluate(w,{},S).map((t=>t*ll)):(U=l.layout.get("text-radial-offset").evaluate(w,{},S)*ll,N=wc),e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(w,{},S)+90;k=new gc(c,i,h,u,p,n.vertical,d,f,g,t),s&&(M=new gc(c,i,h,u,p,s,y,x,g,t))}if(a){const r=l.layout.get("icon-rotate").evaluate(w,{}),n="none"!==l.layout.get("icon-text-fit"),o=uc(a,r,E,n),d=s?uc(s,r,E,n):void 0;A=new gc(c,i,h,u,p,a,y,x,!1,r),P=4*o.length;const f=e.iconSizeData;let g=null;"source"===f.kind?(g=[tc*l.layout.get("icon-size").evaluate(w,{})],g[0]>Ic&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===f.kind&&(g=[tc*T.compositeIconSizes[0].evaluate(w,{},S),tc*T.compositeIconSizes[1].evaluate(w,{},S)],(g[0]>Ic||g[1]>Ic)&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,o,g,b,v,w,t.WritingMode.none,i,z.lineStartIndex,z.lineLength,-1,S),R=e.icon.placedSymbolArray.length-1,d&&(D=4*d.length,e.addSymbols(e.icon,d,g,b,v,w,t.WritingMode.vertical,i,z.lineStartIndex,z.lineLength,-1,S),F=e.icon.placedSymbolArray.length-1)}const $=Object.keys(n.horizontal);for(const m of $){const r=n.horizontal[m];if(!C){V=ya.exports(r.text);const t=l.layout.get("text-rotate").evaluate(w,{},S);C=new gc(c,i,h,u,p,r,d,f,g,t)}const a=1===r.positionedLines.length;if(L+=zc(e,i,r,o,l,g,w,_,z,n.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,a?$:[m],O,R,T,S),a)break}n.vertical&&(B+=zc(e,i,n.vertical,o,l,g,w,_,z,t.WritingMode.vertical,["vertical"],O,F,T,S));const G=C?C.boxStartIndex:e.collisionBoxArray.length,q=C?C.boxEndIndex:e.collisionBoxArray.length,Z=k?k.boxStartIndex:e.collisionBoxArray.length,j=k?k.boxEndIndex:e.collisionBoxArray.length,X=A?A.boxStartIndex:e.collisionBoxArray.length,H=A?A.boxEndIndex:e.collisionBoxArray.length,W=M?M.boxStartIndex:e.collisionBoxArray.length,K=M?M.boxEndIndex:e.collisionBoxArray.length;let J=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;J=Y(C,J),J=Y(k,J),J=Y(A,J),J=Y(M,J);const Q=J>-1?1:0;Q&&(J*=I/ll),e.glyphOffsetArray.length>=Fc.MAX_GLYPHS&&m("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey),e.symbolInstances.emplaceBack(i.x,i.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,R,F,V,G,q,Z,j,X,H,W,K,h,L,B,P,D,Q,0,d,U,N,J)}(e,p,l,r,n,a,k,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,y,[w,w,w,w],S,c,v,T,I,f,i,o,h,u,s)};if("line"===z)for(const t of hc(i.geometry,0,0,$a,$a)){const i=lc(t,b,E,r.vertical||g,n,24,x,e.overscaling,$a);for(const r of i)g&&Ac(e,g.text,C,r)||M(t,r)}else if("line-center"===z){for(const t of i.geometry)if(t.length>1){const e=sc(t,E,r.vertical||g,n,24,x);e&&M(t,e)}}else if("Polygon"===i.type)for(const t of ps(i.geometry,0)){const e=xc(t,16);M(t[0],new ic(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)M(t,new ic(t[0].x,t[0].y,0));else if("Point"===i.type)for(const t of i.geometry)for(const e of t)M([e],new ic(e.x,e.y,0))}const Ic=32640;function zc(t,e,i,r,n,a,o,s,l,c,h,u,p,d,f){const g=function(t,e,i,r,n,a,o,s){const l=r.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,c=[];for(const h of e.positionedLines)for(const t of h.positionedGlyphs){if(!t.rect)continue;const r=t.rect||{};let a=4,u=!0,p=1,d=0;const m=(n||s)&&t.vertical,f=t.metrics.advance*t.scale/2;if(s&&e.verticalizable){const e=(t.scale-1)*ll,i=(ll-t.metrics.width*t.scale)/2;d=h.lineOffset/2-(t.imageName?-i:e)}if(t.imageName){const e=o[t.imageName];u=e.sdf,p=e.pixelRatio,a=1/p}const g=n?[t.x+f,t.y]:[0,0];let _=n?[0,0]:[t.x+f+i[0],t.y+i[1]-d],y=[0,0];m&&(y=_,_=[0,0]);const x=(t.metrics.left-a)*t.scale-f+_[0],v=(-t.metrics.top-a)*t.scale+_[1],b=x+r.w*t.scale/p,w=v+r.h*t.scale/p,T=new S(x,v),E=new S(b,v),I=new S(x,w),z=new S(b,w);if(m){const e=new S(-f,f-Ol),i=-Math.PI/2,r=12-f,n=new S(22-r,-(t.imageName?r:0)),a=new S(...y);T._rotateAround(i,e)._add(n)._add(a),E._rotateAround(i,e)._add(n)._add(a),I._rotateAround(i,e)._add(n)._add(a),z._rotateAround(i,e)._add(n)._add(a)}if(l){const t=Math.sin(l),e=Math.cos(l),i=[e,-t,t,e];T._matMult(i),E._matMult(i),I._matMult(i),z._matMult(i)}const C=new S(0,0),A=new S(0,0);c.push({tl:T,tr:E,bl:I,br:z,tex:r,writingMode:e.writingMode,glyphOffset:g,sectionIndex:t.sectionIndex,isSDF:u,pixelOffsetTL:C,pixelOffsetBR:A,minFontScaleX:0,minFontScaleY:0})}return c}(0,i,s,n,a,o,r,t.allowVerticalPlacement),_=t.textSizeData;let y=null;"source"===_.kind?(y=[tc*n.layout.get("text-size").evaluate(o,{})],y[0]>Ic&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===_.kind&&(y=[tc*d.compositeTextSizes[0].evaluate(o,{},f),tc*d.compositeTextSizes[1].evaluate(o,{},f)],(y[0]>Ic||y[1]>Ic)&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),t.addSymbols(t.text,g,y,s,a,o,c,e,l.lineStartIndex,l.lineLength,p,f);for(const m of h)u[m]=t.text.placedSymbolArray.length-1;return 4*g.length}function Cc(t){for(const e in t)return t[e];return null}function Ac(t,e,i,r){const n=t.compareText;if(e in n){const t=n[e];for(let e=t.length-1;e>=0;e--)if(r.dist(t[e])t.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=fo([]),this.placementViewportMatrix=fo([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=ec(this.zoom,i["text-size"]),this.iconSizeData=ec(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),a=r.get("symbol-z-order");this.canOverlap="never"!==$c(r,"text-overlap","text-allow-overlap")||"never"!==$c(r,"icon-overlap","icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!n.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Bc(new Va(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Bc(new Va(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Wn,this.lineVertexArray=new Kn,this.symbolInstances=new Hn}calculateGlyphDependencies(t,e,i,r,n){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),h="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,u=a.get("symbol-sort-key");if(this.features=[],!c&&!h)return;const p=i.iconDependencies,d=i.glyphDependencies,m=i.availableImages,f=new Yr(this.zoom);for(const{feature:g,id:_,index:y,sourceLayerIndex:x}of e){const e=n._featureFilter.needGeometry,i=ja(g,e);if(!n._featureFilter.filter(f,i,r))continue;let s,l;if(e||(i.geometry=Za(g)),c){const t=n.getValueAndResolveTokens("text-field",i,r,m),e=Ft.factory(t);Lc(e)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===Wr()||this.hasRTLText&&Jr.isParsed())&&(s=ol(e,n,i))}if(h){const t=n.getValueAndResolveTokens("icon-image",i,r,m);l=t instanceof Vt?t:Vt.fromString(t)}if(!s&&!l)continue;const v=this.sortFeaturesByKey?u.evaluate(i,{},r):void 0;if(this.features.push({id:_,text:s,icon:l,index:y,sourceLayerIndex:x,geometry:i.geometry,properties:g.properties,type:kc[g.type],sortKey:v}),l&&(p[l.name]=!0),s){const e=o.evaluate(i,{},r).join(","),n="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of s.sections)if(t.image)p[t.image.name]=!0;else{const i=Pr(s.toString()),r=t.fontStack||e,a=d[r]=d[r]||{};this.calculateGlyphDependencies(t.text,a,n,this.allowVerticalPlacement,i)}}}"line"===a.get("symbol-placement")&&(this.features=function(t){const e={},i={},r=[];let n=0;function a(e){r.push(t[e]),n++}function o(t,e,n){const a=i[t];return delete i[t],i[e]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(n[0]),a}function s(t,i,n){const a=e[i];return delete e[i],e[t]=a,r[a].geometry[0].shift(),r[a].geometry[0]=n[0].concat(r[a].geometry[0]),a}function l(t,e,i){const r=i?e[0][e[0].length-1]:e[0][0];return`${t}:${r.x}:${r.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment){let i=t.dist(e[t.segment+1]),r=t.dist(e[t.segment]);const n={};for(let a=t.segment+1;a=0;a--)n[a]={x:e[a].x,y:e[a].y,tileUnitDistanceFromAnchor:r},a>0&&(r+=e[a-1].dist(e[a]));for(let t=0;t0}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(t,e){const i=t.placedSymbolArray.get(e),r=i.vertexStartIndex+4*i.numGlyphs;for(let n=i.vertexStartIndex;nr[t]-r[e]||n[e]-n[t])),a}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,i)=>{t>=0&&i.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ir("SymbolBucket",Fc,{omit:["layers","collisionBoxArray","features","compareText"]}),Fc.MAX_GLYPHS=65535,Fc.addDynamicAttributes=Dc;const Oc=new dn({"symbol-placement":new ln(rt.layout_symbol["symbol-placement"]),"symbol-spacing":new ln(rt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ln(rt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new cn(rt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ln(rt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ln(rt.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ln(rt.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ln(rt.layout_symbol["icon-ignore-placement"]),"icon-optional":new ln(rt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ln(rt.layout_symbol["icon-rotation-alignment"]),"icon-size":new cn(rt.layout_symbol["icon-size"]),"icon-text-fit":new ln(rt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ln(rt.layout_symbol["icon-text-fit-padding"]),"icon-image":new cn(rt.layout_symbol["icon-image"]),"icon-rotate":new cn(rt.layout_symbol["icon-rotate"]),"icon-padding":new cn(rt.layout_symbol["icon-padding"]),"icon-keep-upright":new ln(rt.layout_symbol["icon-keep-upright"]),"icon-offset":new cn(rt.layout_symbol["icon-offset"]),"icon-anchor":new cn(rt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ln(rt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ln(rt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ln(rt.layout_symbol["text-rotation-alignment"]),"text-field":new cn(rt.layout_symbol["text-field"]),"text-font":new cn(rt.layout_symbol["text-font"]),"text-size":new cn(rt.layout_symbol["text-size"]),"text-max-width":new cn(rt.layout_symbol["text-max-width"]),"text-line-height":new ln(rt.layout_symbol["text-line-height"]),"text-letter-spacing":new cn(rt.layout_symbol["text-letter-spacing"]),"text-justify":new cn(rt.layout_symbol["text-justify"]),"text-radial-offset":new cn(rt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ln(rt.layout_symbol["text-variable-anchor"]),"text-anchor":new cn(rt.layout_symbol["text-anchor"]),"text-max-angle":new ln(rt.layout_symbol["text-max-angle"]),"text-writing-mode":new ln(rt.layout_symbol["text-writing-mode"]),"text-rotate":new cn(rt.layout_symbol["text-rotate"]),"text-padding":new ln(rt.layout_symbol["text-padding"]),"text-keep-upright":new ln(rt.layout_symbol["text-keep-upright"]),"text-transform":new cn(rt.layout_symbol["text-transform"]),"text-offset":new cn(rt.layout_symbol["text-offset"]),"text-allow-overlap":new ln(rt.layout_symbol["text-allow-overlap"]),"text-overlap":new ln(rt.layout_symbol["text-overlap"]),"text-ignore-placement":new ln(rt.layout_symbol["text-ignore-placement"]),"text-optional":new ln(rt.layout_symbol["text-optional"])});var Vc={paint:new dn({"icon-opacity":new cn(rt.paint_symbol["icon-opacity"]),"icon-color":new cn(rt.paint_symbol["icon-color"]),"icon-halo-color":new cn(rt.paint_symbol["icon-halo-color"]),"icon-halo-width":new cn(rt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new cn(rt.paint_symbol["icon-halo-blur"]),"icon-translate":new ln(rt.paint_symbol["icon-translate"]),"icon-translate-anchor":new ln(rt.paint_symbol["icon-translate-anchor"]),"text-opacity":new cn(rt.paint_symbol["text-opacity"]),"text-color":new cn(rt.paint_symbol["text-color"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new cn(rt.paint_symbol["text-halo-color"]),"text-halo-width":new cn(rt.paint_symbol["text-halo-width"]),"text-halo-blur":new cn(rt.paint_symbol["text-halo-blur"]),"text-translate":new ln(rt.paint_symbol["text-translate"]),"text-translate-anchor":new ln(rt.paint_symbol["text-translate-anchor"])}),layout:Oc};class Uc{constructor(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:ut,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ir("FormatSectionOverride",Uc,{omit:["defaultValue"]});class Nc extends fn{constructor(t){super(t,Vc)}recalculate(t,e){if(super.recalculate(t,e),"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"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const i of t)e.indexOf(i)<0&&e.push(i);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,r){const n=this.layout.get(t).evaluate(e,{},i,r),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Di(a.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new Fc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of Vc.paint.overridableProperties){if(!Nc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new Uc(e),r=new Pi(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new Bi("source",r):new Ri("composite",r,e.value.zoomStops),this.paint._values[t]=new on(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&Nc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=Vc.paint.properties[e];let n=!1;const a=t=>{for(const e of t)if(r.overrides&&r.overrides.hasOverride(e))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof Ft)a(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof qt&&$t(e.value)===xt?a(e.value.sections):e instanceof hi?a(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}function $c(t,e,i){let r="never";const n=t.get(e);return n?r=n:t.get(i)&&(r="always"),r}var Gc={paint:new dn({"background-color":new ln(rt.paint_background["background-color"]),"background-pattern":new un(rt.paint_background["background-pattern"]),"background-opacity":new ln(rt.paint_background["background-opacity"])})},qc={paint:new dn({"raster-opacity":new ln(rt.paint_raster["raster-opacity"]),"raster-hue-rotate":new ln(rt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ln(rt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ln(rt.paint_raster["raster-brightness-max"]),"raster-saturation":new ln(rt.paint_raster["raster-saturation"]),"raster-contrast":new ln(rt.paint_raster["raster-contrast"]),"raster-resampling":new ln(rt.paint_raster["raster-resampling"]),"raster-fade-duration":new ln(rt.paint_raster["raster-fade-duration"])})};class Zc extends fn{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}const jc={circle:class extends fn{constructor(t){super(t,ho)}createBucket(t){return new Ha(t)}queryRadius(t){const e=t;return oo("circle-radius",this,e)+oo("circle-stroke-width",this,e)+so(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,i,r,n,a,o,s){const l=lo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(e,i)+this.paint.get("circle-stroke-width").evaluate(e,i),h="map"===this.paint.get("circle-pitch-alignment"),u=h?l:function(t,e){return t.map((t=>To(t,e)))}(l,s),p=h?c*o:c;for(const d of r)for(const t of d){const e=h?t:To(t,s);let i=p;const r=bo([],[t.x,t.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?i*=r[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(i*=a.cameraToCenterDistance/r[3]),Ka(u,e,i))return!0}return!1}},heatmap:class extends fn{constructor(t){super(t,So),this._updateColorRamp()}createBucket(t){return new Eo(t)}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Mo({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(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}},hillshade:class extends fn{constructor(t){super(t,Po)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}},fill:class extends fn{constructor(t){super(t,ys)}recalculate(t,e){super.recalculate(t,e);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(t){return new gs(t)}queryRadius(){return so(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,i,r,n,a,o){return Ja(lo(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),a.angle,o),r)}isTileClipped(){return!0}},"fill-extrusion":class extends fn{constructor(t){super(t,Us)}createBucket(t){return new Fs(t)}queryRadius(){return so(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,n,a,o,s){const l=lo(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),a.angle,o),c=this.paint.get("fill-extrusion-height").evaluate(e,i),h=this.paint.get("fill-extrusion-base").evaluate(e,i),u=function(t,e,i,r){const n=[];for(const a of t){const t=[a.x,a.y,0,1];bo(t,t,e),n.push(new S(t[0]/t[3],t[1]/t[3]))}return n}(l,s),p=function(t,e,i,r){const n=[],a=[],o=r[8]*e,s=r[9]*e,l=r[10]*e,c=r[11]*e,h=r[8]*i,u=r[9]*i,p=r[10]*i,d=r[11]*i;for(const m of t){const t=[],e=[];for(const i of m){const n=i.x,a=i.y,m=r[0]*n+r[4]*a+r[12],f=r[1]*n+r[5]*a+r[13],g=r[2]*n+r[6]*a+r[14],_=r[3]*n+r[7]*a+r[15],y=g+l,x=_+c,v=m+h,b=f+u,w=g+p,T=_+d,E=new S((m+o)/x,(f+s)/x);E.z=y/x,t.push(E);const I=new S(v/T,b/T);I.z=w/T,e.push(I)}n.push(t),a.push(e)}return[n,a]}(r,h,c,s);return function(t,e,i){let r=1/0;Ja(i,e)&&(r=$s(i,e[0]));for(let n=0;n=3)for(let e=0;e{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(){delete this._channel,this._callback=()=>{}}}const Hc=6371008.8;class Wc{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Wc(o(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,r=t.lat*e,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((t.lng-this.lng)*e);return Hc*Math.acos(Math.min(n,1))}toBounds(t=0){const e=360*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return new Kc(new Wc(this.lng-i,this.lat-e),new Wc(this.lng+i,this.lat+e))}static convert(t){if(t instanceof Wc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Wc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Wc(Number("lng"in t?t.lng:t.lon),Number(t.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 [, ]")}}class Kc{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))}setNorthEast(t){return this._ne=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this}setSouthWest(t){return this._sw=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this}extend(t){const e=this._sw,i=this._ne;let r,n;if(t instanceof Wc)r=t,n=t;else{if(!(t instanceof Kc))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Kc.convert(t)):this.extend(Wc.convert(t)):this;if(r=t._sw,n=t._ne,!r||!n)return this}return e||i?(e.lng=Math.min(r.lng,e.lng),e.lat=Math.min(r.lat,e.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new Wc(r.lng,r.lat),this._ne=new Wc(n.lng,n.lat)),this}getCenter(){return new Wc((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 Wc(this.getWest(),this.getNorth())}getSouthEast(){return new Wc(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(t){const{lng:e,lat:i}=Wc.convert(t);let r=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(t){return t instanceof Kc?t:t?new Kc(t):t}}const Jc=2*Math.PI*Hc;function Yc(t){return Jc*Math.cos(t*Math.PI/180)}function Qc(t){return(180+t)/360}function th(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function eh(t,e){return t/Yc(e)}function ih(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class rh{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Wc.convert(t);return new rh(Qc(i.lng),th(i.lat),eh(e,i.lat))}toLngLat(){return new Wc(360*this.x-180,ih(this.y))}toAltitude(){return this.z*Yc(ih(this.y))}meterInMercatorCoordinateUnits(){return 1/Jc*(t=ih(this.y),1/Math.cos(t*Math.PI/180));var t}}function nh(t,e,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[t*r-2*Math.PI*6378137/2,e*r-2*Math.PI*6378137/2]}class ah{constructor(t,e,i){if(t<0||t>25||i<0||i>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${i}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=i,this.key=lh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,i){const r=(a=this.y,o=this.z,s=nh(256*(n=this.x),256*(a=Math.pow(2,o)-a-1),o),l=nh(256*(n+1),256*(a+1),o),s[0]+","+s[1]+","+l[0]+","+l[1]);var n,a,o,s,l;const c=function(t,e,i){let r,n="";for(let a=t;a>0;a--)r=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,r)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new S((t.x*e-this.x)*$a,(t.y*e-this.y)*$a)}toString(){return`${this.z}/${this.x}/${this.y}`}}class oh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=lh(t,e.z,e.z,e.x,e.y)}}class sh{constructor(t,e,i,r,n){if(t= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=e,this.canonical=new ah(i,+r,+n),this.key=lh(e,t,i,r,n)}clone(){return new sh(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new sh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new sh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const i=this.canonical.z-t;return t>this.canonical.z?lh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):lh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new sh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new sh(e,this.wrap,e,i,r),new sh(e,this.wrap,e,i+1,r),new sh(e,this.wrap,e,i,r+1),new sh(e,this.wrap,e,i+1,r+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=e),e=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}_unpackMapbox(t,e,i){return(256*t*256+256*e+i)/10-1e4}_unpackTerrarium(t,e,i){return 256*t+e+i/256-32768}getPixels(){return new ko({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let r=e*this.dim,n=e*this.dim+this.dim,a=i*this.dim,o=i*this.dim+this.dim;switch(e){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:a=o-1;break;case 1:o=a+1}const s=-e*this.dim,l=-i*this.dim;for(let c=a;c=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class uh{constructor(t,e,i,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=i,t._y=r,this.properties=t.properties,this.id=n}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t}}class ph{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Er($a,16,0),this.grid3D=new Er($a,16,0),this.featureIndexArray=new Yn,this.promoteId=e}insert(t,e,i,r,n,a){const o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n);const s=a?this.grid3D:this.grid;for(let l=0;l=0&&i[3]>=0&&s.insert(o,i[0],i[1],i[2],i[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ws.VectorTile(new cl(this.rawTileData)).layers,this.sourceLayerCoder=new hh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const n=t.params||{},a=$a/t.tileSize/t.scale,o=Hi(n.filter),s=t.queryGeometry,l=t.queryPadding*a,c=mh(s),h=this.grid.query(c.minX-l,c.minY-l,c.maxX+l,c.maxY+l),u=mh(t.cameraQueryGeometry),p=this.grid3D.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l,((e,i,r,n)=>function(t,e,i,r,n){for(const o of t)if(e<=o.x&&i<=o.y&&r>=o.x&&n>=o.y)return!0;const a=[new S(e,i),new S(e,n),new S(r,n),new S(r,i)];if(t.length>2)for(const o of a)if(no(t,o))return!0;for(let o=0;o(u||(u=Za(e)),i.queryIntersectsFeature(s,e,r,u,this.z,t.transform,a,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,i,r,n,a,o,l,c,h,u){const p=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let i=0;i=0)return!0;return!1}(a,p))return;const d=this.sourceLayerCoder.decode(i),m=this.vtLayers[d].feature(r);if(n.needGeometry){const t=ja(m,!0);if(!n.filter(new Yr(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new Yr(this.tileID.overscaledZ),m))return;const f=this.getId(m,d);for(let g=0;g{const o=e instanceof sn?e.get(a):null;return o&&o.evaluate?o.evaluate(i,r,n):o}))}function mh(t){let e=1/0,i=1/0,r=-1/0,n=-1/0;for(const a of t)e=Math.min(e,a.x),i=Math.min(i,a.y),r=Math.max(r,a.x),n=Math.max(n,a.y);return{minX:e,minY:i,maxX:r,maxY:n}}function fh(t,e){return e-t}var gh;Ir("FeatureIndex",ph,{omit:["rawTileData","sourceLayerCoder"]}),t.PerformanceMarkers=void 0,(gh=t.PerformanceMarkers||(t.PerformanceMarkers={})).create="create",gh.load="load",gh.fullLoad="fullLoad";let _h=null,yh=[];const xh=1e3/30,vh={mark(t){performance.mark(t)},frame(t){const e=t;null!=_h&&yh.push(e-_h),_h=e},clearMetrics(){_h=null,yh=[],performance.clearMeasures("loadTime"),performance.clearMeasures("fullLoadTime");for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e])},getPerformanceMetrics(){performance.measure("loadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure("fullLoadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName("loadTime")[0].duration,i=performance.getEntriesByName("fullLoadTime")[0].duration,r=yh.length,n=1/(yh.reduce(((t,e)=>t+e),0)/r/1e3),a=yh.filter((t=>t>xh)).reduce(((t,e)=>t+(e-xh)/xh),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:a/(r+a)*100}}};t.AJAXError=$,t.ARRAY_TYPE=po,t.Actor=class{constructor(t,e,i){this.target=t,this.parent=e,this.mapId=i,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},c(["receive","process"],this),this.invoker=new Xc(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=_()?t:window}send(t,e,i,r,n=!1){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(this.callbacks[a]=i);const o=w(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:Cr(e,o)},o),{cancel:()=>{i&&delete this.callbacks[a],this.target.postMessage({id:a,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(t){const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[i];const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t()}else _()||e.mustQueue?(this.tasks[i]=e,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,e)}process(){if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(Ar(e.error)):i(null,Ar(e.data)))}else{let i=!1;const r=w(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{i=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?Cr(e):null,data:Cr(n,r)},r)}:t=>{i=!0};let a=null;const o=Ar(e.data);if(this.parent[e.type])a=this.parent[e.type](e.sourceMapId,o,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");a=this.parent.getWorkerSource(e.sourceMapId,t[0],o.source)[t[1]](o,n)}else n(new Error(`Could not find function ${e.type}`));!i&&a&&a.cancel&&(this.cancelCallbacks[t]=a.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.AlphaImage=Ao,t.CanonicalTileID=ah,t.CollisionBoxArray=qn,t.CollisionCircleLayoutArray=class extends Pn{},t.Color=Lt,t.DEMData=ch,t.DataConstantProperty=ln,t.DictionaryCoder=hh,t.EXTENT=$a,t.ErrorEvent=et,t.EvaluationParameters=Yr,t.Event=tt,t.Evented=it,t.FeatureIndex=ph,t.FillBucket=gs,t.FillExtrusionBucket=Fs,t.GeoJSONFeature=uh,t.ImageAtlas=Fl,t.ImagePosition=Rl,t.LineBucket=Ks,t.LineStripIndexArray=class extends Nn{},t.LngLat=Wc,t.LngLatBounds=Kc,t.MercatorCoordinate=rh,t.ONE_EM=ll,t.OverscaledTileID=sh,t.PerformanceUtils=vh,t.PosArray=Qn,t.Properties=dn,t.QuadTriangleArray=class extends Ln{},t.RGBAImage=ko,t.RasterBoundsArray=class extends wn{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.ResourceType=N,t.SegmentVector=fa,t.SymbolBucket=Fc,t.Transitionable=en,t.TriangleIndexArray=ua,t.Uniform1f=Ca,t.Uniform1i=class extends za{constructor(t,e){super(t,e),this.current=0}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))}},t.Uniform2f=class extends za{constructor(t,e){super(t,e),this.current=[0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))}},t.Uniform3f=class extends za{constructor(t,e){super(t,e),this.current=[0,0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))}},t.Uniform4f=Aa,t.UniformColor=ka,t.UniformMatrix4f=class extends za{constructor(t,e){super(t,e),this.current=Ma}set(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=oh,t.ValidationError=nt,t.ZoomHistory=kr,t.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t},t.addDynamicAttributes=Dc,t.asyncAll=function(t,e,i){if(!t.length)return i(null,[]);let r=t.length;const n=new Array(t.length);let a=null;t.forEach(((t,o)=>{e(t,((t,e)=>{t&&(a=t),n[o]=e,0==--r&&i(a,n)}))}))},t.bezier=r,t.bindAll=c,t.cacheEntryPossiblyAdded=function(t){L++,L>P&&(t.getActor().send("enforceCacheSizeLimit",M),L=0)},t.clamp=a,t.clearTileCache=function(t){const e=caches.delete(C);t&&e.catch(t).then((()=>t()))},t.clipLine=hc,t.clone=function(t){var e=new po(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],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},t.clone$1=p,t.clone$2=function(t){var e=new po(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=al,t.config=z,t.copy=function(t,e){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},t.create=function(){var t=new po(16);return po!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=mo,t.createExpression=Li,t.createFilter=Hi,t.createLayout=xn,t.createStyleLayer=function(t){return"custom"===t.type?new Zc(t):new jc[t.type](t)},t.cross=function(t,e,i){var r=e[0],n=e[1],a=e[2],o=i[0],s=i[1],l=i[2];return t[0]=n*l-a*s,t[1]=a*o-r*l,t[2]=r*s-n*o,t},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=n,t.emitValidationErrors=Tr,t.enforceCacheSizeLimit=function(t){D(),A&&A.then((e=>{e.keys().then((i=>{for(let r=0;r{}}},t.identity=fo,t.invert=function(t,e){var i=e[0],r=e[1],n=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],h=e[8],u=e[9],p=e[10],d=e[11],m=e[12],f=e[13],g=e[14],_=e[15],y=i*s-r*o,x=i*l-n*o,v=i*c-a*o,b=r*l-n*s,w=r*c-a*s,T=n*c-a*l,E=h*f-u*m,S=h*g-p*m,I=h*_-d*m,z=u*g-p*f,C=u*_-d*f,A=p*_-d*g,k=y*A-x*C+v*z+b*I-w*S+T*E;return k?(t[0]=(s*A-l*C+c*z)*(k=1/k),t[1]=(n*C-r*A-a*z)*k,t[2]=(f*T-g*w+_*b)*k,t[3]=(p*w-u*T-d*b)*k,t[4]=(l*I-o*A-c*S)*k,t[5]=(i*A-n*I+a*S)*k,t[6]=(g*v-m*T-_*x)*k,t[7]=(h*T-p*v+d*x)*k,t[8]=(o*C-s*I+c*E)*k,t[9]=(r*I-i*C-a*E)*k,t[10]=(m*w-f*v+_*y)*k,t[11]=(u*v-h*w-d*y)*k,t[12]=(s*S-o*z-l*E)*k,t[13]=(i*z-r*S+n*E)*k,t[14]=(f*x-m*b-g*y)*k,t[15]=(h*b-u*x+p*y)*k,t):null},t.isImageBitmap=T,t.isSafari=w,t.isWorker=_,t.keysDifference=function(t,e){const i=[];for(const r in t)r in e||i.push(r);return i},t.lazyLoadRTLTextPlugin=function(){Jr.isLoading()||Jr.isLoaded()||"deferred"!==Wr()||Kr()},t.makeRequest=Z,t.mapObject=h,t.mercatorXfromLng=Qc,t.mercatorYfromLat=th,t.mercatorZfromAltitude=eh,t.mul=yo,t.mul$1=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t[3]=e[3]*i[3],t},t.multiply=go,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var i=e[0],r=e[1],n=e[2],a=i*i+r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Se,t.ortho=function(t,e,i,r,n,a,o){var s=1/(e-i),l=1/(r-n),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*s,t[13]=(n+r)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseCacheControl=y,t.parseGlyphPbf=function(t){return new cl(t).readFields(Pl,[])},t.pbf=cl,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=$a/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const i=e.bucket.layers[0].layout,r=e.bucket.layers[0]._unevaluatedLayout._values,n={layoutIconSize:r["icon-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),layoutTextSize:r["text-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),textMaxSize:r["text-size"].possiblyEvaluate(new Yr(18))};if("composite"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.textSizeData;n.compositeTextSizes=[r["text-size"].possiblyEvaluate(new Yr(t),e.canonical),r["text-size"].possiblyEvaluate(new Yr(i),e.canonical)]}if("composite"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.iconSizeData;n.compositeIconSizes=[r["icon-size"].possiblyEvaluate(new Yr(t),e.canonical),r["icon-size"].possiblyEvaluate(new Yr(i),e.canonical)]}const a=i.get("text-line-height")*ll,o="viewport"!==i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement"),s=i.get("text-keep-upright"),l=i.get("text-size");for(const c of e.bucket.features){const r=i.get("text-font").evaluate(c,{},e.canonical).join(","),h=l.evaluate(c,{},e.canonical),u=n.layoutTextSize.evaluate(c,{},e.canonical),p=n.layoutIconSize.evaluate(c,{},e.canonical),d={horizontal:{},vertical:void 0},f=c.text;let g,_=[0,0];if(f){const n=f.toString(),l=i.get("text-letter-spacing").evaluate(c,{},e.canonical)*ll,p=Dr(n)?l:0,m=i.get("text-anchor").evaluate(c,{},e.canonical),g=i.get("text-variable-anchor");if(!g){const t=i.get("text-radial-offset").evaluate(c,{},e.canonical);_=t?Tc(m,[t*ll,wc]):i.get("text-offset").evaluate(c,{},e.canonical).map((t=>t*ll))}let y=o?"center":i.get("text-justify").evaluate(c,{},e.canonical);const x=i.get("symbol-placement"),v="point"===x?i.get("text-max-width").evaluate(c,{},e.canonical)*ll:0,b=()=>{e.bucket.allowVerticalPlacement&&Pr(n)&&(d.vertical=Nl(f,e.glyphMap,e.glyphPositions,e.imagePositions,r,v,a,m,"left",p,_,t.WritingMode.vertical,!0,x,u,h))};if(!o&&g){const i="auto"===y?g.map((t=>Ec(t))):[y];let n=!1;for(let o=0;othis._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const a=i.sourceLayer||"_geojsonTileLayer";let o=n[a];o||(o=n[a]=[]),o.push(e)}}}class n{constructor(e){const i={},r=[];for(const t in e){const n=e[t],a=i[t]={};for(const t in n){const e=n[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const i={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};r.push(i),a[t]={rect:i,metrics:e.metrics}}}const{w:n,h:a}=t.potpack(r),o=new t.AlphaImage({width:n||1,height:a||1});for(const s in e){const r=e[s];for(const e in r){const n=r[+e];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const a=i[s][e].rect;t.AlphaImage.copy(n.bitmap,o,{x:0,y:0},{x:a.x+1,y:a.y+1},n.bitmap)}}this.image=o,this.positions=i}}t.register("GlyphAtlas",n);class a{constructor(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId}parse(e,i,r,a,s){this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;const l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},p=i.familiesBySource[this.source];for(const n in p){const i=e.layers[n];if(!i)continue;1===i.version&&t.warnOnce(`Vector tile source "${this.source}" layer "${n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const a=l.encode(n),s=[];for(let t=0;t=i.maxzoom||"none"!==i.visibility&&(o(e,this.zoom,r),(h[i.id]=i.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:a,sourceID:this.source})).populate(s,u,this.tileID.canonical),c.bucketLayerIDs.push(e.map((t=>t.id))))}}let d,m,f,g;const _=t.mapObject(u.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(_).length?a.send("getGlyphs",{uid:this.uid,stacks:_},((t,e)=>{d||(d=t,m=e,v.call(this))})):m={};const y=Object.keys(u.iconDependencies);y.length?a.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{d||(d=t,f=e,v.call(this))})):f={};const x=Object.keys(u.patternDependencies);function v(){if(d)return s(d);if(m&&f&&g){const e=new n(m),i=new t.ImageAtlas(f,g);for(const n in h){const a=h[n];a instanceof t.SymbolBucket?(o(a.layers,this.zoom,r),t.performSymbolLayout({bucket:a,glyphMap:m,glyphPositions:e.positions,imageMap:f,imagePositions:i.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):a.hasPattern&&(a instanceof t.LineBucket||a instanceof t.FillBucket||a instanceof t.FillExtrusionBucket)&&(o(a.layers,this.zoom,r),a.addFeatures(u,this.tileID.canonical,i.patternPositions))}this.status="done",s(null,{buckets:Object.values(h).filter((t=>!t.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:i,glyphMap:this.returnDependencies?m:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}x.length?a.send("getImages",{icons:x,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{d||(d=t,g=e,v.call(this))})):g={},v.call(this)}}function o(e,i,r){const n=new t.EvaluationParameters(i);for(const t of e)t.recalculate(n,r)}function s(e,i){const r=t.getArrayBuffer(e.request,((e,r,n,a)=>{e?i(e):r&&i(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(r)),rawData:r,cacheControl:n,expires:a})}));return()=>{r.cancel(),i()}}class l{constructor(t,e,i,r){this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||s,this.loading={},this.loaded={}}loadTile(e,i){const r=e.uid;this.loading||(this.loading={});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),o=this.loading[r]=new a(e);o.abort=this.loadVectorData(e,((e,a)=>{if(delete this.loading[r],e||!a)return o.status="done",this.loaded[r]=o,i(e);const s=a.rawData,l={};a.expires&&(l.expires=a.expires),a.cacheControl&&(l.cacheControl=a.cacheControl);const c={};if(n){const t=n.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}o.vectorTile=a.vectorTile,o.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,r)=>{if(e||!r)return i(e);i(null,t.extend({rawTileData:s.slice(0)},r,l,c))})),this.loaded=this.loaded||{},this.loaded[r]=o}))}reloadTile(t,e){const i=this.loaded,r=t.uid,n=this;if(i&&i[r]){const a=i[r];a.showCollisionBoxes=t.showCollisionBoxes;const o=(t,i)=>{const r=a.reloadCallback;r&&(delete a.reloadCallback,a.parse(a.vectorTile,n.layerIndex,this.availableImages,n.actor,r)),e(t,i)};"parsing"===a.status?a.reloadCallback=o:"done"===a.status&&(a.vectorTile?a.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,o):o())}}abortTile(t,e){const i=this.loading,r=t.uid;i&&i[r]&&i[r].abort&&(i[r].abort(),delete i[r]),e()}removeTile(t,e){const i=this.loaded,r=t.uid;i&&i[r]&&delete i[r],e()}}class c{constructor(){this.loaded={}}loadTile(e,i){const{uid:r,encoding:n,rawImageData:a}=e,o=t.isImageBitmap(a)?this.getImageData(a):a,s=new t.DEMData(r,o,n);this.loaded=this.loaded||{},this.loaded[r]=s,i(null,s)}getImageData(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),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(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:i.width,height:i.height},i.data)}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}var h=function t(e,i){var r,n=e&&e.type;if("FeatureCollection"===n)for(r=0;r=Math.abs(s)?i-l+s:s-l+i,i=l}i+r>=0!=!!e&&t.reverse()}const d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON;class m{constructor(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const i of this._feature.geometry)e.push([new t.pointGeometry(i[0],i[1])]);return e}{const e=[];for(const i of this._feature.geometry){const r=[];for(const e of i)r.push(new t.pointGeometry(e[0],e[1]));e.push(r)}return e}}toGeoJSON(t,e,i){return d.call(this,t,e,i)}}class f{constructor(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e}feature(t){return new m(this._features[t])}}var g={exports:{}},_=t.pointGeometry,y=t.vectorTile.VectorTileFeature,x=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function b(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new b(this.features[t],this.options.extent)},b.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function k(t,e){for(var i=t.loadGeometry(),r=t.type,n=0,a=0,o=i.length,s=0;s>1;D(t,e,o,r,n,a%2),P(t,e,i,r,o-1,a+1),P(t,e,i,o+1,n,a+1)}function D(t,e,i,r,n,a){for(;n>r;){if(n-r>600){const o=n-r+1,s=i-r+1,l=Math.log(o),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);D(t,e,i,Math.max(r,Math.floor(i-s*c/o+h)),Math.min(n,Math.floor(i+(o-s)*c/o+h)),a)}const o=e[2*i+a];let s=r,l=n;for(L(t,e,r,i),e[2*n+a]>o&&L(t,e,r,n);so;)l--}e[2*r+a]===o?L(t,e,r,l):(l++,L(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function L(t,e,i,r){B(t,i,r),B(e,2*i,2*r),B(e,2*i+1,2*r+1)}function B(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function R(t,e,i,r){const n=t-i,a=e-r;return n*n+a*a}g.exports=E,g.exports.fromVectorTileJs=E,g.exports.fromGeojsonVt=function(t,e){e=e||{};var i={};for(var r in t)i[r]=new T(t[r].features,e),i[r].name=r,i[r].version=e.version,i[r].extent=e.extent;return E({layers:i})},g.exports.GeoJSONWrapper=T;const F=t=>t[0],O=t=>t[1];class V{constructor(t,e=F,i=O,r=64,n=Float64Array){this.nodeSize=r,this.points=t;const a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new n(2*t.length);for(let l=0;l=i&&c<=n&&h>=r&&h<=a&&l.push(t[o]);continue}const m=Math.floor((d+p)/2);c=e[2*m],h=e[2*m+1],c>=i&&c<=n&&h>=r&&h<=a&&l.push(t[m]);const f=(u+1)%2;(0===u?i<=c:r<=h)&&(s.push(d),s.push(m-1),s.push(f)),(0===u?n>=c:a>=h)&&(s.push(m+1),s.push(p),s.push(f))}return l}(this.ids,this.coords,t,e,i,r,this.nodeSize)}within(t,e,i){return function(t,e,i,r,n,a){const o=[0,t.length-1,0],s=[],l=n*n;for(;o.length;){const c=o.pop(),h=o.pop(),u=o.pop();if(h-u<=a){for(let n=u;n<=h;n++)R(e[2*n],e[2*n+1],i,r)<=l&&s.push(t[n]);continue}const p=Math.floor((u+h)/2),d=e[2*p],m=e[2*p+1];R(d,m,i,r)<=l&&s.push(t[p]);const f=(c+1)%2;(0===c?i-n<=d:r-n<=m)&&(o.push(u),o.push(p-1),o.push(f)),(0===c?i+n>=d:r+n>=m)&&(o.push(p+1),o.push(h),o.push(f))}return s}(this.ids,this.coords,t,e,i,this.nodeSize)}}const U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},N=Math.fround||($=new Float32Array(1),t=>($[0]=+t,$[0]));var $;class G{constructor(t){this.options=J(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:i,maxZoom:r,nodeSize:n}=this.options;e&&console.time("total time");const a=`prepare ${t.length} points`;e&&console.time(a),this.points=t;let o=[];for(let s=0;s=i;s--){const t=+Date.now();o=this._cluster(o,s),this.trees[s]=new V(o,Y,Q,n,Float32Array),e&&console.log("z%d: %d clusters in %dms",s,o.length,+Date.now()-t)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,t[1]));let n=180===t[2]?180:((t[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,n=180;else if(i>n){const t=this.getClusters([i,r,180,a],e),o=this.getClusters([-180,r,n,a],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],s=o.range(H(i),W(a),H(n),W(r)),l=[];for(const c of s){const t=o.points[c];l.push(t.numPoints?j(t):this.points[t.index])}return l}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const a=n.points[e];if(!a)throw new Error(r);const o=this.options.radius/(this.options.extent*Math.pow(2,i-1)),s=n.within(a.x,a.y,o),l=[];for(const c of s){const e=n.points[c];e.parentId===t&&l.push(e.numPoints?j(e):this.points[e.index])}if(0===l.length)throw new Error(r);return l}getLeaves(t,e,i){const r=[];return this._appendLeaves(r,t,e=e||10,i=i||0,0),r}getTile(t,e,i){const r=this.trees[this._limitZoom(t)],n=Math.pow(2,t),{extent:a,radius:o}=this.options,s=o/a,l=(i-s)/n,c=(i+1+s)/n,h={features:[]};return this._addTileFeatures(r.range((e-s)/n,l,(e+1+s)/n,c),r.points,e,i,n,h),0===e&&this._addTileFeatures(r.range(1-s/n,l,1,c),r.points,n,i,n,h),e===n-1&&this._addTileFeatures(r.range(0,l,s/n,c),r.points,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,r,n){const a=this.getChildren(e);for(const o of a){const e=o.properties;if(e&&e.cluster?n+e.point_count<=r?n+=e.point_count:n=this._appendLeaves(t,e.cluster_id,i,r,n):ne&&(u+=i.numPoints||1)}if(u>h&&u>=o){let t=r.x*h,o=r.y*h,s=a&&h>1?this._map(r,!0):null;const p=(l<<5)+(e+1)+this.points.length;for(const i of c){const l=n.points[i];if(l.zoom<=e)continue;l.zoom=e;const c=l.numPoints||1;t+=l.x*c,o+=l.y*c,l.parentId=p,a&&(s||(s=this._map(r,!0)),a(s,this._map(l)))}r.parentId=p,i.push(q(t/u,o/u,p,u,s))}else if(i.push(r),u>1)for(const t of c){const r=n.points[t];r.zoom<=e||(r.zoom=e,i.push(r))}}return i}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?J({},t.properties):t.properties;const i=this.points[t.index].properties,r=this.options.map(i);return e&&r===i?J({},r):r}}function q(t,e,i,r,n){return{x:N(t),y:N(e),zoom:1/0,id:i,parentId:-1,numPoints:r,properties:n}}function Z(t,e){const[i,r]=t.geometry.coordinates;return{x:N(H(i)),y:N(W(r)),zoom:1/0,index:e,parentId:-1}}function j(t){return{type:"Feature",id:t.id,properties:X(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),K(t.y)]}};var e}function X(t){const e=t.numPoints,i=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return J(J({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:i})}function H(t){return t/360+.5}function W(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function K(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function J(t,e){for(const i in e)t[i]=e[i];return t}function Y(t){return t.x}function Q(t){return t.y}function tt(t,e,i,r){for(var n,a=r,o=i-e>>1,s=i-e,l=t[e],c=t[e+1],h=t[i],u=t[i+1],p=e+3;pa)n=p,a=d;else if(d===a){var m=Math.abs(p-o);mr&&(n-e>3&&tt(t,e,n,r),t[n+2]=a,i-n>3&&tt(t,n,i,r))}function et(t,e,i,r,n,a){var o=n-i,s=a-r;if(0!==o||0!==s){var l=((t-i)*o+(e-r)*s)/(o*o+s*s);l>1?(i=n,r=a):l>0&&(i+=o*l,r+=s*l)}return(o=t-i)*o+(s=e-r)*s}function it(t,e,i,r){var n={id:void 0===t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)rt(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var r=0;r0&&(o+=r?(n*c-l*a)/2:Math.sqrt(Math.pow(l-n,2)+Math.pow(c-a,2))),n=l,a=c}var h=e.length-3;e[2]=1,tt(e,0,h,i),e[h+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function st(t,e,i,r){for(var n=0;n1?1:i}function ht(t,e,i,r,n,a,o,s){if(r/=e,a>=(i/=e)&&o=r)return null;for(var l=[],c=0;c=i&&m=r)){var f=[];if("Point"===p||"MultiPoint"===p)ut(u,f,i,r,n);else if("LineString"===p)pt(u,f,i,r,n,!1,s.lineMetrics);else if("MultiLineString"===p)mt(u,f,i,r,n,!1);else if("Polygon"===p)mt(u,f,i,r,n,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&o<=r&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function pt(t,e,i,r,n,a,o){for(var s,l,c=dt(t),h=0===n?gt:_t,u=t.start,p=0;pi&&(l=h(c,d,m,g,_,i),o&&(c.start=u+s*l)):y>r?x=i&&(l=h(c,d,m,g,_,i),v=!0),x>r&&y<=r&&(l=h(c,d,m,g,_,r),v=!0),!a&&v&&(o&&(c.end=u+s*l),e.push(c),c=dt(t)),o&&(u+=s)}var b=t.length-3;d=t[b],m=t[b+1],f=t[b+2],(y=0===n?d:m)>=i&&y<=r&&ft(c,d,m,f),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function mt(t,e,i,r,n,a){for(var o=0;oo.maxX&&(o.maxX=h),u>o.maxY&&(o.maxY=u)}return o}function Tt(t,e,i,r){var n=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(n?o:r))i.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(i.numSimplified++,s.push(e[l]),s.push(e[l+1])),i.numPoints++;n&&function(t,e){for(var i=0,r=0,n=t.length,a=n-2;r0===e)for(r=0,n=t.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[u]=wt(t,e,i,r,l),this.tileCoords.push({z:e,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,n){if(e===l.maxZoom||e===n)continue;var m=1<1&&console.time("clipping");var f,g,_,y,x,v,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,E=1+b;f=g=_=y=null,x=ht(t,h,i-b,i+T,0,p.minX,p.maxX,l),v=ht(t,h,i+w,i+E,0,p.minX,p.maxX,l),t=null,x&&(f=ht(x,h,r-b,r+T,1,p.minY,p.maxY,l),g=ht(x,h,r+w,r+E,1,p.minY,p.maxY,l),x=null),v&&(_=ht(v,h,r-b,r+T,1,p.minY,p.maxY,l),y=ht(v,h,r+w,r+E,1,p.minY,p.maxY,l),v=null),c>1&&console.timeEnd("clipping"),s.push(f||[],e+1,2*i,2*r),s.push(g||[],e+1,2*i,2*r+1),s.push(_||[],e+1,2*i+1,2*r),s.push(y||[],e+1,2*i+1,2*r+1)}}},St.prototype.getTile=function(t,e,i){var r=this.options,n=r.extent,a=r.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,h=e,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[It(c,h,u)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,h,u),a>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,t,e,i),a>1&&console.timeEnd("drilling down"),this.tiles[s]?vt(this.tiles[s],n):null):null};class Ct extends l{constructor(t,e,i,r){super(t,e,i,zt),r&&(this.loadGeoJSON=r)}loadData(e,i){var r;null===(r=this._pendingRequest)||void 0===r||r.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request);this._pendingCallback=i,this._pendingRequest=this.loadGeoJSON(e,((r,a)=>{if(delete this._pendingCallback,delete this._pendingRequest,r||!a)return i(r);if("object"!=typeof a)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{h(a,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const r=a.features.filter((t=>i.value.evaluate({zoom:0},t)));a={type:"FeatureCollection",features:r}}this._geoJSONIndex=e.cluster?new G(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const r={},n={},a={accumulated:null,zoom:0},o={properties:null},s=Object.keys(i);for(const l of s){const[e,a]=i[l],o=t.createExpression(a),s=t.createExpression("string"==typeof e?[e,["accumulated"],["get",l]]:e);r[l]=o.value,n[l]=s.value}return e.map=t=>{o.properties=t;const e={};for(const i of s)e[i]=r[i].evaluate(a,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const i of s)a.accumulated=t[i],t[i]=n[i].evaluate(a,o)},e}(e)).load(a.features):function(t,e){return new St(t,e)}(a,e.geojsonVtOptions)}catch(r){return i(r)}this.loaded={};const o={};if(n){const t=n.finish();t&&(o.resourceTiming={},o.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}i(null,o)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}loadGeoJSON(e,i){if(e.request)return t.getJSON(e.request,i);if("string"==typeof e.data)try{i(null,JSON.parse(e.data))}catch(t){i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}else i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}}removeSource(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class At{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Ct},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}setReferrer(t,e){this.referrer=e}setImages(t,e,i){this.availableImages[t]=e;for(const r in this.workerSources[t]){const i=this.workerSources[t][r];for(const t in i)i[t].availableImages=e}i()}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).loadTile(e,i)}loadDEMTile(t,e,i){this.getDEMWorkerSource(t,e.source).loadTile(e,i)}reloadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).reloadTile(e,i)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeDEMTile(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const r=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==r.removeSource?r.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,r){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){r(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new r),e}getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const r={send:(e,i,r)=>{this.actor.send(e,i,r,t)}};this.workerSources[t][e][i]=new this.workerSourceTypes[e](r,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new c),this.demWorkerSources[t][e]}enforceCacheSizeLimit(e,i){t.enforceCacheSizeLimit(i)}}return t.isWorker()&&(self.worker=new At(self)),At})),r(["./shared"],(function(t){var e=i;function i(t){return!function(t){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,i=new Blob([""],{type:"text/javascript"}),r=URL.createObjectURL(i);try{e=new Worker(r),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(r),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return!1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===r[e=t&&t.failIfMajorPerformanceCaveat]&&(r[e]=function(t){var e,r=function(t){var e=document.createElement("canvas"),r=Object.create(i.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.getContext("webgl",r)||e.getContext("experimental-webgl",r)}(t);if(!r)return!1;try{e=r.createShader(r.VERTEX_SHADER)}catch(t){return!1}return!(!e||r.isContextLost())&&(r.shaderSource(e,"void main() {}"),r.compileShader(e),!0===r.getShaderParameter(e,r.COMPILE_STATUS))}(e)),r[e]?document.documentMode?"insufficient ECMAScript 6 support":void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var e}(t)}var r={};function n(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let i=0;i{window.removeEventListener("click",a.suppressClickInternal,!0)}),0)}static mousePos(e,i){const r=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-r.left-e.clientLeft,i.clientY-r.top-e.clientTop)}static touchPos(e,i){const r=e.getBoundingClientRect(),n=[];for(let a=0;a-1);l++,a[l]=s,o[l]=c,o[l+1]=u}for(let s=0,l=0;s{let r=this.entries[t];r||(r=this.entries[t]={glyphs:{},requests:{},ranges:{}});let n=r.glyphs[e];if(void 0!==n)return void i(null,{stack:t,id:e,glyph:n});if(n=this._tinySDF(r,t,e),n)return r.glyphs[e]=n,void i(null,{stack:t,id:e,glyph:n});const a=Math.floor(e/256);if(256*a>65535)return void i(new Error("glyphs > 65535 not supported"));if(r.ranges[a])return void i(null,{stack:t,id:e,glyph:n});let o=r.requests[a];o||(o=r.requests[a]=[],m.loadGlyphRange(t,a,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(r.glyphs[+t]=e[+t]);r.ranges[a]=!0}for(const i of o)i(t,e);delete r.requests[a]}))),o.push(((r,n)=>{r?i(r):n&&i(null,{stack:t,id:e,glyph:n[e]||null})}))}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:r,glyph:n}of e)(t[i]||(t[i]={}))[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics};i(null,t)}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(t.unicodeBlockLookup["CJK Unified Ideographs"](e)||t.unicodeBlockLookup["Hangul Syllables"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let a=e.tinySDF;if(!a){let t="400";/bold/i.test(i)?t="900":/medium/i.test(i)?t="500":/light/i.test(i)&&(t="200"),a=e.tinySDF=new m.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:n,fontWeight:t})}const o=a.draw(String.fromCharCode(r));return{id:r,bitmap:new t.AlphaImage({width:o.width||30,height:o.height||30},o.data),metrics:{width:o.glyphWidth||24,height:o.glyphHeight||24,left:o.glyphLeft||0,top:o.glyphTop-27||-8,advance:o.glyphAdvance||24}}}}m.loadGlyphRange=function(e,i,r,n,a){const o=256*i,s=o+255,l=n.transformRequest(r.replace("{fontstack}",e).replace("{range}",`${o}-${s}`),t.ResourceType.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)a(e);else if(i){const e={};for(const r of t.parseGlyphPbf(i))e[r.id]=r;a(null,e)}}))},m.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=e,this.cutoff=r,this.radius=i;const s=this.size=t+4*e,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${t}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:a}=this.ctx.measureText(t),o=Math.ceil(i),s=Math.min(this.size-this.buffer,Math.ceil(a-n)),l=Math.min(this.size-this.buffer,o+Math.ceil(r)),c=s+2*this.buffer,h=l+2*this.buffer,d=Math.max(c*h,0),m=new Uint8ClampedArray(d),f={data:m,width:c,height:h,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===s||0===l)return f;const{ctx:g,buffer:_,gridInner:y,gridOuter:x}=this;g.clearRect(_,_,s,l),g.fillText(t,_,_+o);const v=g.getImageData(_,_,s,l);x.fill(u,0,d),y.fill(0,0,d);for(let p=0;p0?t*t:0,y[i]=t<0?t*t:0}}p(x,0,0,c,h,c,this.f,this.v,this.z),p(y,_,_,s,l,c,this.f,this.v,this.z);for(let u=0;u1&&(o=t[++a]);const l=Math.abs(s-o.left),c=Math.abs(s-o.right),h=Math.min(l,c);let u;const p=n/i*(r+1);if(o.isDash){const t=r-Math.abs(p);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+p*p);this.data[e+s]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(t){for(let o=t.length-1;o>=0;--o){const e=t[o],i=t[o+1];e.zeroLength?t.splice(o,1):i&&i.isDash===e.isDash&&(i.left=e.left,t.splice(o,1))}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const r=this.width*this.nextRow;let n=0,a=t[n];for(let o=0;o1&&(a=t[++n]);const e=Math.abs(o-a.left),i=Math.abs(o-a.right),s=Math.min(e,i);this.data[r+o]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return t.warnOnce("LineAtlas out of space"),null;let a=0;for(let t=0;t{t.send(e,i,r)}),r=r||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove()})),this.actors=[],this.workerPool.release(this.id)}}function v(e,i,r){const n=function(i,n){if(i)return r(i);if(n){const i=t.pick(t.extend(n,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(i.vectorLayers=n.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),r(null,i)}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),n):t.exported.frame((()=>n(null,e)))}x.Actor=t.Actor;class b{constructor(e,i,r){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(e){const i=Math.pow(2,e.z),r=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),n=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=r&&e.x=n&&e.y{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:this.map._requestManager.transformRequest(r,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(r,n){return delete e.request,e.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}n.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",n,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",n,a.bind(this)))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class T extends t.Evented{constructor(e,i,r,n){super(),this.id=e,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=t.extend({type:"raster"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=v(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),((r,n,a)=>{if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(a);const r=this.map.painter.context,o=r.gl;e.texture=this.map.painter.getTileTexture(n.width),e.texture?e.texture.update(n,{useMipmap:!0}):(e.texture=new l(r,n,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),r.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,r.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,r.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(this.dispatcher),i(null)}}))}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}}let E;class S extends T{constructor(e,i,r,n){super(e,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}serialize(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function n(t,r){t&&(e.state="errored",i(t)),r&&(e.dem=r,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded",i(null))}e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),function(r,a){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;const i=t.isImageBitmap(a)&&(null==E&&(E="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),E)?a:t.exported.getImageData(a,1),r={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",r,n.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)}_getNeighboringTiles(e){const i=e.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,a=0===i.x?e.wrap-1:e.wrap,o=(i.x+1+r)%r,s=i.x+1===r?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,i.z,n,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,o,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,n,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,o,i.y-1).key]={backfilled:!1}),i.y+1{if(this._pendingLoads--,this._removed||r&&r.abandoned)return void this.fire(new t.Event("dataabort",{dataType:"source",sourceDataType:e}));let n=null;if(r&&r.resourceTiming&&r.resourceTiming[this.id]&&(n=r.resourceTiming[this.id].slice(0)),i)return void this.fire(new t.ErrorEvent(i));const a={dataType:"source",sourceDataType:e};this._collectResourceTiming&&n&&n.length>0&&t.extend(a,{resourceTiming:n}),this.fire(new t.Event("data",a))}))}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,r,((r,n)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):r?e(r):(t.loadVectorData(n,this.map.painter,"reloadTile"===i),e(null)))))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var z=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class C extends t.Evented{constructor(t,e,i,r){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=e}load(e,i){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),((r,n)=>{this._loaded=!0,r?this.fire(new t.ErrorEvent(r)):n&&(this.image=n,e&&(this.coordinates=e),i&&i(),this._finishLoading())}))}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,r=1/0,n=-1/0,a=-1/0;for(const t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),n=Math.max(n,t.x),a=Math.max(a,t.y);const o=Math.max(n-i,a-r),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,s);return new t.CanonicalTileID(s,Math.floor((i+n)/2*l),Math.floor((r+a)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const r=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class A extends C{constructor(t,e,i,r){super(t,e,i,r),this.roundZoom=!0,this.type="video",this.options=e}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,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(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.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=e}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,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 e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),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 l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class k extends C{constructor(e,i,r,n){super(e,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,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 t.ErrorEvent(new t.ValidationError(`sources.${e}`,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 HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.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(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,r=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,z.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new l(i,this.canvas,r.RGBA,{premultiply:!0});for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const M={vector:w,raster:T,"raster-dem":S,geojson:I,video:A,image:C,canvas:k};function P(e,i){const r=t.create();return t.translate(r,r,[1,1,0]),t.scale(r,r,[.5*e.width,.5*e.height,1]),t.multiply(r,r,e.calculatePosMatrix(i.toUnwrapped()))}function D(t,e,i,r,n,a){const o=function(t,e,i){if(t)for(const r of t){const t=e[r];if(t&&t.source===i&&"fill-extrusion"===t.type)return!0}else for(const r in e){const t=e[r];if(t.source===i&&"fill-extrusion"===t.type)return!0}return!1}(n&&n.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(r,s,o);l.sort(L);const c=[];for(const u of l)c.push({wrappedTileID:u.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(e,i,t._state,u.queryGeometry,u.cameraQueryGeometry,u.scale,n,a,s,P(t.transform,u.tileID))});const h=function(t){const e={},i={};for(const r of t){const t=r.queryResults,n=r.wrappedTileID,a=i[n]=i[n]||{};for(const i in t){const r=t[i],n=a[i]=a[i]||{},o=e[i]=e[i]||[];for(const t of r)n[t.featureIndex]||(n[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const u in h)h[u].forEach((e=>{const i=e.feature,r=t.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=r}));return h}function L(t,e){const i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}class B{constructor(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const i=e+this.timeAdded;it.saveTileTexture(e))),this.demTexture=null,this.textures=[],this.textureCoords={}}loadVectorData(e,i,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){const i={};if(!e)return i;for(const r of t){const t=r.layerIds.map((t=>e.getLayer(t))).filter(Boolean);if(0!==t.length){r.layers=t,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=r}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const i in this.buckets){const e=this.buckets[i];e.uploadPending()&&e.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,r,n,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),a=i?i.sourceLayer:"",o=n._geojsonTileLayer||n[a];if(!o)return;const s=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let p=0;pt)e=!1;else if(i)if(this.expirationTime{this.remove(t,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),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(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const r of this.data[i])t(r.value)||e.push(r);for(const i of e)this.remove(i.value.tileID,i)}}class F{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,i,r){const n=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][n]=this.stateChanges[e][n]||{},t.extend(this.stateChanges[e][n],r),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==n&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][n]){this.deletedStates[e][n]={};for(const t in this.state[e][n])r[t]||(this.deletedStates[e][n][t]=null)}else for(const t in r)this.deletedStates[e]&&this.deletedStates[e][n]&&null===this.deletedStates[e][n][t]&&delete this.deletedStates[e][n][t]}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=null}getState(e,i){const r=String(i),n=t.extend({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return{};for(const e in t)delete n[e]}return n}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(e,i){const r={};for(const n in this.stateChanges){this.state[n]=this.state[n]||{};const e={};for(const i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),t.extend(this.state[n][i],this.stateChanges[n][i]),e[i]=this.state[n][i];r[n]=e}for(const n in this.deletedStates){this.state[n]=this.state[n]||{};const e={};if(null===this.deletedStates[n])for(const t in this.state[n])e[t]={},this.state[n][t]={};else for(const t in this.deletedStates[n]){if(null===this.deletedStates[n][t])this.state[n][t]={};else for(const e of Object.keys(this.deletedStates[n][t]))delete this.state[n][t][e];e[t]=this.state[n][t]}r[n]=r[n]||{},t.extend(r[n],e)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const t in e)e[t].setFeatureState(r,i)}}class O extends t.Evented{constructor(e,i,r){super(),this.id=e,this.dispatcher=r,this.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain))})),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=function(e,i,r,n){const a=new M[i.type](e,i,r,n);if(a.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${a.id}`);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a}(e,i,r,this),this._tiles={},this._cache=new R(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new F}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(V).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const r=e.tileID,n=i.tileID,a=new t.pointGeometry(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),o=new t.pointGeometry(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||o.y-a.y||o.x-a.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(V).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(e,i,r,n){if(n)return e.state="errored",void(404!==n.status?this._source.fire(new t.ErrorEvent(n,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.now(),"expired"===r&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(t){const e=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)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,r){for(const n in this._tiles){let a=this._tiles[n];if(r[n]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>i)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>e+1;){const t=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[t.key],a&&a.hasData()&&(o=t)}let s=o;for(;s.overscaledZ>e;)if(s=s.scaledTo(s.overscaledZ-1),t[s.key]){r[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),r=this._getLoadedTile(e);if(r)return r}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,r=Math.floor(e*i*5),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t;for(const e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(const e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(r=r.filter((t=>this._source.hasTile(t))))):r=[];const n=e.coveringZoomLevel(this._source),a=Math.max(n-O.maxOverzooming,this._source.minzoom),o=Math.max(n+O.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of r)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const r=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[r.key]=r}r=r.concat(Object.values(t))}const s=this._updateRetainedTiles(r,n);if(U(this._source.type)){const e={},l={},c=Object.keys(s);for(const i of c){const r=s[i],n=this._tiles[i];if(!n||n.fadeEndTime&&n.fadeEndTime<=t.exported.now())continue;const o=this.findLoadedParent(r,a);o&&(this._addTile(o.tileID),e[o.tileID.key]=o.tileID),l[i]=r}this._retainLoadedChildren(l,n,o,s);for(const t in e)s[t]||(this._coveredTiles[t]=!0,s[t]=e[t]);if(i){const t={},e={};for(const i of r)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const r=e[i].children(this._source.maxzoom);this._tiles[r[0].key]&&this._tiles[r[1].key]&&this._tiles[r[2].key]&&this._tiles[r[3].key]&&(t[r[0].key]=s[r[0].key]=r[0],t[r[1].key]=s[r[1].key]=r[1],t[r[2].key]=s[r[2].key]=r[2],t[r[3].key]=s[r[3].key]=r[3],delete e[i])}for(const i in e){const r=this.findLoadedParent(e[i],this._source.minzoom);if(r){t[r.tileID.key]=s[r.tileID.key]=r.tileID;for(const e in t)t[e].isChildOf(r.tileID)&&delete t[e]}}for(const i in this._tiles)t[i]||(this._coveredTiles[i]=!0)}}for(const t in s)this._tiles[t].clearFadeHold();const l=t.keysDifference(this._tiles,s);for(const t of l){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){const i={},r={},n=Math.max(e-O.maxOverzooming,this._source.minzoom),a=Math.max(e+O.maxUnderzooming,this._source.minzoom),o={};for(const s of t){const t=this._addTile(s);i[s.key]=s,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else{const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let a=t.wasRequested();for(let e=s.overscaledZ-1;e>=n;--e){const n=s.scaledTo(e);if(r[n.key])break;if(r[n.key]=!0,t=this.getTile(n),!t&&a&&(t=this._addTile(n)),t&&(i[n.key]=n,a=t.wasRequested(),t.hasData()))break}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,r=this._tiles[t].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);const t=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;r=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));const r=i;return i||(i=new B(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,r||this._source.fire(new t.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(e,i,r){const n=[],a=this.transform;if(!a)return n;const o=r?a.getCameraQueryGeometry(e):e,s=e.map((t=>a.pointCoordinate(t,this.terrain))),l=o.map((t=>a.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,p=-1/0,d=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),p=Math.max(p,t.x),d=Math.max(d,t.y);for(let m=0;m=0&&g[1].y+f>=0){const t=s.map((t=>r.getTilePoint(t))),i=l.map((t=>r.getTilePoint(t)));n.push({tile:e,tileID:r,queryGeometry:t,cameraQueryGeometry:i,scale:o})}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const i of e)i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(U(this._source.type))for(const e in this._tiles){const i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const r=this._tiles[t];r&&r.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}}function V(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),r=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||r-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function U(t){return"raster"===t||"image"===t||"video"===t}O.maxOverzooming=10,O.maxUnderzooming=3;const N="mapboxgl_preloaded_worker_pool";class ${constructor(){this.active={}}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length<$.workerCount;)this.workers.push(new Worker(bn.workerUrl));return this.active[t]=!0,this.workers.slice()}release(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((t=>{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[N]}numActive(){return Object.keys(this.active).length}}const G=Math.floor(t.exported.hardwareConcurrency/2);let q;function Z(){return q||(q=new $),q}function j(e,i){const r={};for(const t in e)"ref"!==t&&(r[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(r[t]=i[t])})),r}function X(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(n-o)/s:0;return this.points[a].mult(1-l).add(this.points[i].mult(l))}}function rt(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class nt{constructor(t,e,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let a=0;athis.width||r<0||e>this.height)return[];const s=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=r){if(n)return[{key:null,x1:t,y1:e,x2:i,y2:r}];for(let t=0;t0}hitTestCircle(t,e,i,r,n){const a=t-i,o=t+i,s=e-i,l=e+i;if(o<0||a>this.width||l<0||s>this.height)return!1;const c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:r,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},n),c.length>0}_queryCell(t,e,i,r,n,a,o,s){const{seenUids:l,hitTest:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const n=this.bboxes;for(const o of u)if(!l.box[o]){l.box[o]=!0;const u=4*o,p=this.boxKeys[o];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!s||s(p))&&(!c||!rt(h,p.overlapMode))&&(a.push({key:p,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const p=this.circleCells[n];if(null!==p){const n=this.circles;for(const o of p)if(!l.circle[o]){l.circle[o]=!0;const u=3*o,p=this.circleKeys[o];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!s||s(p))&&(!c||!rt(h,p.overlapMode))){const t=n[u],e=n[u+1],i=n[u+2];if(a.push({key:p,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return!0}}}return!1}_queryCellCircle(t,e,i,r,n,a,o,s){const{circle:l,seenUids:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,r=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!s||s(r))&&!rt(h,r.overlapMode))return a.push(!0),!0}}const p=this.circleCells[n];if(null!==p){const t=this.circles;for(const e of p)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,r=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!s||s(r))&&!rt(h,r.overlapMode))return a.push(!0),!0}}}_forEachCell(t,e,i,r,n,a,o,s){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++)if(n.call(this,t,e,i,r,this.xCellCount*l+p,a,o,s))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,r,n,a){const o=r-t,s=n-e,l=i+a;return l*l>o*o+s*s}_circleAndRectCollide(t,e,i,r,n,a,o){const s=(a-r)/2,l=Math.abs(t-(r+s));if(l>s+i)return!1;const c=(o-n)/2,h=Math.abs(e-(n+c));if(h>c+i)return!1;if(l<=s||h<=c)return!0;const u=l-s,p=h-c;return u*u+p*p<=i*i}}function at(e,i,r,n,a){const o=t.create();return i?(t.scale(o,o,[1/a,1/a,1]),r||t.rotateZ(o,o,n.angle)):t.multiply(o,n.labelPlaneMatrix,e),o}function ot(e,i,r,n,a){if(i){const i=t.clone(e);return t.scale(i,i,[a,a,1]),r||t.rotateZ(i,i,-n.angle),i}return n.glCoordMatrix}function st(e,i,r){let n;r?(n=[e.x,e.y,r(e.x,e.y),1],t.transformMat4(n,n,i)):(n=[e.x,e.y,0,1],yt(n,n,i));const a=n[3];return{point:new t.pointGeometry(n[0]/a,n[1]/a),signedDistanceFromCamera:a}}function lt(t,e){return.5+t/e*.5}function ct(t,e){const i=t[0]/t[3],r=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&r>=-e[1]&&r<=e[1]}function ht(e,i,r,n,a,o,s,l,c,h){const u=n?e.textSizeData:e.iconSizeData,p=t.evaluateSizeForZoom(u,r.transform.zoom),d=[256/r.width*2+1,256/r.height*2+1],m=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const f=e.lineVertexArray,g=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,_=r.transform.width/r.transform.height;let y=!1;for(let x=0;xMath.abs(r.x-i.x)*n?{useVertical:!0}:(e===t.WritingMode.vertical?i.yr.x)?{needsFlipping:!0}:null}function dt(e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g){const _=i/24,y=e.lineOffsetX*_,x=e.lineOffsetY*_;let v;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,a=e.lineStartIndex+e.lineLength,h=ut(_,l,y,x,r,u,p,e,c,o,d,f,g);if(!h)return{notEnoughRoom:!0};const b=st(h.first.point,s,g).point,w=st(h.last.point,s,g).point;if(n&&!r){const t=pt(e.writingMode,b,w,m);if(t)return t}v=[h.first];for(let n=e.glyphStartIndex+1;n0?o.point:mt(p,n,i,1,a,g),l=pt(e.writingMode,i,s,m);if(l)return l}const i=ft(_*l.getoffsetX(e.glyphStartIndex),y,x,r,u,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,d,f,g);if(!i)return{notEnoughRoom:!0};v=[i]}for(const b of v)t.addDynamicAttributes(h,b.point,b.angle);return{}}function mt(t,e,i,r,n,a){const o=st(t.add(t.sub(e)._unit()),n,a).point,s=i.sub(o);return i.add(s._mult(r/s.mag()))}function ft(e,i,r,n,a,o,s,l,c,h,u,p,d,m){const f=n?e-i:e+i;let g=f>0?1:-1,_=0;n&&(g*=-1,_=Math.PI),g<0&&(_+=Math.PI);let y=g>0?l+s:l+s+1,x=a,v=a,b=0,w=0;const T=Math.abs(f),E=[];for(;b+w<=T;){if(y+=g,y=c)return null;if(v=x,E.push(x),x=p[y],void 0===x){const e=new t.pointGeometry(h.getx(y),h.gety(y)),i=st(e,u,m);if(i.signedDistanceFromCamera>0)x=p[y]=i.point;else{const i=y-g;x=mt(0===b?o:new t.pointGeometry(h.getx(i),h.gety(i)),e,v,T-b+1,u,m)}}b+=w,w=v.dist(x)}const S=(T-b)/w,I=x.sub(v),z=I.mult(S)._add(v);z._add(I._unit()._perp()._mult(r*g));const C=_+Math.atan2(x.y-v.y,x.x-v.x);return E.push(z),{point:z,angle:d?C:0,path:E}}const gt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function _t(t,e){for(let i=0;i=1;t--)h.push(o.path[t]);for(let t=1;tst(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let _=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=r.x&&i.x<=n.x&&e.y>=r.y&&i.y<=n.y?[h]:i.xn.x||i.yn.y?[]:t.clipLine([h],r.x,r.y,n.x,n.y)}for(const t of _){a.reset(t,.25*i);let r=0;r=a.length<=.5*i?1:Math.ceil(a.paddedLength/g)+1;for(let t=0;t=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function Ct(e,i,r,n,a){const{horizontalAlign:o,verticalAlign:s}=t.getAnchorAlignment(e),l=-(o-.5)*i,c=-(s-.5)*r,h=t.evaluateVariableOffset(e,n);return new t.pointGeometry(l+h[0]*a,c+h[1]*a)}function At(e,i,r,n,a,o){const{x1:s,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:p}=e,d=new t.pointGeometry(i,r);return n&&d._rotate(a?o:-o),{x1:s+d.x,y1:c+d.y,x2:l+d.x,y2:h+d.y,anchorPointX:u,anchorPointY:p}}class kt{constructor(t,e,i,r,n){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new vt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new zt(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,i,r,n){const a=r.getBucket(i),o=r.latestFeatureIndex;if(!a||!o||i.id!==a.layerIds[0])return;const s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),p="map"===l.get("text-pitch-alignment"),d="map"===l.get("text-rotation-alignment"),m=bt(r,1,this.transform.zoom),f=at(u,p,d,this.transform,m);let g=null;if(p){const e=ot(u,p,d,this.transform,m);g=t.multiply([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[a.bucketInstanceId]=new It(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID);const _={bucket:a,layout:l,posMatrix:u,textLabelPlaneMatrix:f,labelToScreenMatrix:g,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(n)for(const t of a.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=t;e.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:_})}attemptAnchorPlacement(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f){const g=[u.textOffset0,u.textOffset1],_=Ct(t,i,r,g,n),y=this.collisionIndex.placeCollisionBox(At(e,_.x,_.y,a,o,this.transform.angle),h,s,l,c.predicate,f);if((!m||0!==this.collisionIndex.placeCollisionBox(At(m,_.x,_.y,a,o,this.transform.angle),h,s,l,c.predicate,f).box.length)&&y.box.length>0){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(e=this.prevPlacement.variableOffsets[u.crossTileID].anchor),0===u.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[u.crossTileID]={textOffset:g,width:i,height:r,anchor:t,textBoxScale:n,prevAnchor:e},this.markUsedJustification(p,t,u,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,u),this.placedOrientations[u.crossTileID]=d),{shift:_,placedGlyphBoxes:y}}}placeLayerBucketPart(e,i,r){const{bucket:n,layout:a,posMatrix:o,textLabelPlaneMatrix:s,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:p,collisionGroup:d}=e.parameters,m=a.get("text-optional"),f=a.get("icon-optional"),g=t.getOverlapMode(a,"text-overlap","text-allow-overlap"),_="always"===g,y=t.getOverlapMode(a,"icon-overlap","icon-allow-overlap"),x="always"===y,v="map"===a.get("text-rotation-alignment"),b="map"===a.get("text-pitch-alignment"),w="none"!==a.get("icon-text-fit"),T="viewport-y"===a.get("symbol-z-order"),E=_&&(x||!n.hasIconData()||f),S=x&&(_||!n.hasTextData()||m);!n.collisionArrays&&u&&n.deserializeCollisionBoxes(u);const I=(e,u)=>{if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Et(!1,!1,!1));let x=!1,T=!1,I=!0,z=null,C={box:null,offscreen:null},A={box:null,offscreen:null},k=null,M=null,P=null,D=0,L=0,B=0;u.textFeatureIndex?D=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(D=e.featureIndex),u.verticalTextFeatureIndex&&(L=u.verticalTextFeatureIndex);const R=this.retainedQueryData[n.bucketInstanceId].tileID,F=this.terrain?(t,e)=>this.terrain.getElevation(R,t,e):null;for(const t of["textBox","verticalTextBox","iconBox","verticalIconBox"]){const e=u[t];e&&(e.elevation=F?F(e.anchorPointX,e.anchorPointY):0)}const O=u.textBox;if(O){const i=i=>{let r=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(n,r,e))}return r},r=(i,r)=>{if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of n.writingModes)if(e===t.WritingMode.vertical?(C=r(),A=C):C=i(),C&&C.box&&C.box.length)break}else C=i()};if(a.get("text-variable-anchor")){let s=a.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[e.crossTileID]){const t=this.prevPlacement.variableOffsets[e.crossTileID];s.indexOf(t.anchor)>0&&(s=s.filter((e=>e!==t.anchor)),s.unshift(t.anchor))}const l=(t,i,r)=>{const a=t.x2-t.x1,l=t.y2-t.y1,h=e.textBoxScale,u=w&&"never"===y?i:null;let p={box:[],offscreen:!1};const m="never"!==g?2*s.length:s.length;for(let f=0;f=s.length?g:"never",e,n,r,u,F);if(i&&(p=i.placedGlyphBoxes,p&&p.box&&p.box.length)){x=!0,z=i.shift;break}}return p};r((()=>l(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&!(C&&C.box&&C.box.length)&&e.numVerticalGlyphVertices>0&&i?l(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(x=C.box,I=C.offscreen);const h=i(C&&C.box);if(!x&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(n,t.anchor,e,h))}}else{const a=(t,i)=>{const r=this.collisionIndex.placeCollisionBox(t,g,c,o,d.predicate,F);return r&&r.box&&r.box.length&&(this.markUsedOrientation(n,i,e),this.placedOrientations[e.crossTileID]=i),r};r((()=>a(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?a(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(C&&C.box&&C.box.length)}}if(k=C,x=k&&k.box&&k.box.length>0,I=k&&k.offscreen,e.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(n.textSizeData,p,i),h=a.get("text-padding");M=this.collisionIndex.placeCollisionCircles(g,i,n.lineVertexArray,n.glyphOffsetArray,c,o,s,l,r,b,d.predicate,e.collisionCircleDiameter,h,F),M.circles.length&&M.collisionDetected&&!r&&t.warnOnce("Collisions detected, but collision boxes are not shown"),x=_||M.circles.length>0&&!M.collisionDetected,I=I&&M.offscreen}if(u.iconFeatureIndex&&(B=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&z?At(t,z.x,z.y,v,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,y,c,o,d.predicate,F)};A&&A.box&&A.box.length&&u.verticalIconBox?(P=t(u.verticalIconBox),T=P.box.length>0):(P=t(u.iconBox),T=P.box.length>0),I=I&&P.offscreen}const V=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,U=f||0===e.numIconVertices;if(V||U?U?V||(T=T&&x):x=T&&x:T=x=T&&x,x&&k&&k.box&&this.collisionIndex.insertCollisionBox(k.box,g,a.get("text-ignore-placement"),n.bucketInstanceId,A&&A.box&&L?L:D,d.ID),T&&P&&this.collisionIndex.insertCollisionBox(P.box,y,a.get("icon-ignore-placement"),n.bucketInstanceId,B,d.ID),M&&(x&&this.collisionIndex.insertCollisionCircles(M.circles,g,a.get("text-ignore-placement"),n.bucketInstanceId,D,d.ID),r)){const t=n.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new St);for(let i=0;i=0;--e){const i=t[e];I(n.symbolInstances.get(i),n.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:r.crossTileID)}markUsedOrientation(e,i,r){const n=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,a=i===t.WritingMode.vertical?i:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const t of o)e.text.placedSymbolArray.get(t).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const r=e?e.symbolFadeChange(t):1,n=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const s in this.placements){const t=this.placements[s],e=n[s];e?(this.opacities[s]=new Tt(e,r,t.text,t.icon),i=i||t.text!==e.text.placed||t.icon!==e.icon.placed):(this.opacities[s]=new Tt(null,r,t.text,t.icon,t.skipFade),i=i||t.text||t.icon)}for(const s in n){const t=n[s];if(!this.opacities[s]){const e=new Tt(t,r,!1,!1);e.isHidden()||(this.opacities[s]=e,i=i||t.text.placed||t.icon.placed)}}for(const s in a)this.variableOffsets[s]||!this.opacities[s]||this.opacities[s].isHidden()||(this.variableOffsets[s]=a[s]);for(const s in o)this.placedOrientations[s]||!this.opacities[s]||this.opacities[s].isHidden()||(this.placedOrientations[s]=o[s]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i={};for(const r of e){const e=r.getBucket(t);e&&r.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,r.collisionBoxArray)}}updateBucketOpacities(e,i,r){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const n=e.layers[0].layout,a=new Tt(null,0,!1,!1,!0),o=n.get("text-allow-overlap"),s=n.get("icon-allow-overlap"),l=n.get("text-variable-anchor"),c="map"===n.get("text-rotation-alignment"),h="map"===n.get("text-pitch-alignment"),u="none"!==n.get("icon-text-fit"),p=new Tt(null,0,o&&(s||!e.hasIconData()||n.get("icon-optional")),s&&(o||!e.hasTextData()||n.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);const d=(t,e,i)=>{for(let r=0;r0,_=this.placedOrientations[r.crossTileID],y=_===t.WritingMode.vertical,x=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(n>0||o>0){const t=Vt(f.text);d(e.text,n,y?Ut:t),d(e.text,o,x?Ut:t);const i=f.text.isHidden();[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||y?1:0)})),r.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).hidden=i||x?1:0);const a=this.variableOffsets[r.crossTileID];a&&this.markUsedJustification(e,a.anchor,r,_);const s=this.placedOrientations[r.crossTileID];s&&(this.markUsedJustification(e,"left",r,s),this.markUsedOrientation(e,s,r))}if(g){const t=Vt(f.icon),i=!(u&&r.verticalPlacedIconSymbolIndex&&y);r.placedIconSymbolIndex>=0&&(d(e.icon,r.numIconVertices,i?t:Ut),e.icon.placedSymbolArray.get(r.placedIconSymbolIndex).hidden=f.icon.isHidden()),r.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,r.numVerticalIconVertices,i?Ut:t),e.icon.placedSymbolArray.get(r.verticalPlacedIconSymbolIndex).hidden=f.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[m];if(i){let r=new t.pointGeometry(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(l){const e=this.variableOffsets[s];e?(r=Ct(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),c&&r._rotate(h?this.transform.angle:-this.transform.angle)):t=!1}i.textBox&&Mt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||y,r.x,r.y),i.verticalTextBox&&Mt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||x,r.x,r.y)}const n=Boolean(!x&&i.verticalIconBox);i.iconBox&&Mt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,n,u?r.x:0,u?r.y:0),i.verticalIconBox&&Mt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,!n,u?r.x:0,u?r.y:0)}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Mt(t,e,i,r,n){t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0)}const Pt=Math.pow(2,25),Dt=Math.pow(2,24),Lt=Math.pow(2,17),Bt=Math.pow(2,16),Rt=Math.pow(2,9),Ft=Math.pow(2,8),Ot=Math.pow(2,1);function Vt(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Pt+e*Dt+i*Lt+e*Bt+i*Rt+e*Ft+i*Ot+e}const Ut=0;class Nt{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,i,r,n){const a=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-n;return!this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],n=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=n)&&(!t.maxzoom||t.maxzoom>n)){if(this._inProgressLayer||(this._inProgressLayer=new Nt(t)),this._inProgressLayer.continuePlacement(r[t.source],this.placement,this._showCollisionBoxes,t,a))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const Gt=512/t.EXTENT/2;class qt{constructor(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let r=0;rt.overscaledZ)for(const n in i){const a=i[n];a.tileID.isChildOf(t)&&a.findMatches(e.symbolInstances,t,r)}else{const a=i[t.scaledTo(Number(n)).key];a&&a.findMatches(e.symbolInstances,t,r)}}for(let n=0;n{e[t]=!0}));for(const i in this.layerIndexes)e[i]||delete this.layerIndexes[i]}}var Ht=t.createLayout([{name:"a_pos",type:"Int16",components:2}]);class Wt extends t.Evented{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;for(const t in this._tiles){const e=this._tiles[t];e.textures.forEach((t=>t.destroy())),e.textures=[]}}update(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(const r of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))this._renderableTilesKeys.push(r.key),this._tiles[r.key]||(r.posMatrix=new Float64Array(16),t.ortho(r.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[r.key]=new B(r,this.tileSize))}removeOutdated(t){const e={};this.renderHistory=this.renderHistory.filter(((t,e)=>this.renderHistory.indexOf(t)===e)).slice(0,this.renderHistorySize);for(const i of this._renderableTilesKeys)e[i]=!0;for(const i of this.renderHistory)e[i]=!0;for(const i in this._tiles)e[i]||(this._tiles[i].clearTextures(t),delete this._tiles[i])}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(e){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(e.canonical)){const n=e.clone();n.posMatrix=new Float64Array(16),t.ortho(n.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[r]=n}else if(n.canonical.isChildOf(e.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16);const o=n.canonical.z-e.canonical.z,s=n.canonical.x-(n.canonical.x>>o<>o<>o;t.ortho(a.posMatrix,0,c,0,c,0,1),t.translate(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),i[r]=a}else if(e.canonical.isChildOf(n.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16);const o=e.canonical.z-n.canonical.z,s=e.canonical.x-(e.canonical.x>>o<>o<>o;t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(a.posMatrix,a.posMatrix,[s*c,l*c,0]),t.scale(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),i[r]=a}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let r=t.overscaledZ-this.deltaZoom;if(r>i.maxzoom&&(r=i.maxzoom),r=i.minzoom&&(!n||!n.dem);)n=this.sourceCache.getTileByID(t.scaledTo(r--).key);return n}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeLoaded>=t))}}class Kt{constructor(t,e,i){this.style=t,this.sourceCache=new Wt(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset="number"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache()}getDEMElevation(e,i,r,n=t.EXTENT){if(!(i>=0&&i=0&&re.canonical.z&&(e.canonical.z>=r?n=e.canonical.z-r:t.warnOnce("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const a=e.canonical.x-(e.canonical.x>>n<>n<>8<<4|t>>8,i[a+3]=0;const r=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new l(e,r,e.gl.RGBA,{premultiply:!1});return n.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(e){const i=new Uint8Array(4),r=this.style.map.painter,n=r.context,a=n.gl;n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),a.readPixels(e.x,r.height/devicePixelRatio-e.y-1,1,1,a.RGBA,a.UNSIGNED_BYTE,i),n.bindFramebuffer.set(null);const o=i[0]+(i[2]>>4<<8),s=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;const h=this._coordsTextureSize,u=(1<t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),Yt=t.pick(H,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Qt=t.pick(H,["setCenter","setZoom","setBearing","setPitch"]),te=function(){const e={},i=t.spec.$version;for(const r in t.spec.$root){const n=t.spec.$root[r];if(n.required){let t=null;t="version"===r?i:"array"===n.type?[]:{},null!=t&&(e[r]=t)}}return e}();class ee extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new x(Z(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new m(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new y(256,512),this.crossTileSymbolIndex=new Xt,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());const r=this;this._rtlTextPluginCallback=ee.registerForPluginStateChange((e=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in r.sourceCaches)r.sourceCaches[t].reload()}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const r in this._layers){const t=this._layers[r];t.source===i.id&&this._validateLayer(t)}}))}loadURL(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"}));const r="boolean"!=typeof i.validate||i.validate,n=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(n,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,r)}))}loadJSON(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(te,!1)}_load(e,i){if(i&&Jt(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=e;for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);const r=X(this.stylesheet.layers);this._order=r.map((t=>t.id)),this._layers={},this._serializedLayers={};for(let n of r)n=t.createStyleLayer(n),n.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=n,this._serializedLayers[n.id]=n.serialize();this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new _(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}_loadSprite(e){this._spriteRequest=function(e,i,r,n){let a,o,s;const l=r>1?"@2x":"";let c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,".json"),t.ResourceType.SpriteJSON),((t,e)=>{c=null,s||(s=t,a=e,u())})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,".png"),t.ResourceType.SpriteImage),((t,e)=>{h=null,s||(s=t,o=e,u())}));function u(){if(s)n(s);else if(a&&o){const e=t.exported.getImageData(o),i={};for(const r in a){const{width:n,height:o,x:s,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:p,content:d}=a[r],m=new t.RGBAImage({width:n,height:o});t.RGBAImage.copy(e,m,{x:s,y:l},{x:0,y:0},{width:n,height:o}),i[r]={data:m,pixelRatio:h,sdf:c,stretchX:u,stretchY:p,content:d}}n(null,i)}}return{cancel(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null)}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}))}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const r=e.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];"custom"!==t.type&&e.push(t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const e in this._updatedSources){const t=this._updatedSources[e];if("reload"===t)this._reloadSource(e);else{if("clear"!==t)throw new Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages();for(const r in this._updatedPaintProps)this._layers[r].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const n in r){const e=this.sourceCaches[n];r[n]!==e.used&&e.fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:n}))}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setTerrain(e){if(this._checkLoaded(),this._terrainDataCallback&&this.off("data",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off("freezeElevation",this._terrainfreezeElevationCallback),e){const t=this.sourceCaches[e.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain=new Kt(this,t,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=t=>{t.freeze?this.map.transform.freezeElevation=!0:(this.map.transform.freezeElevation=!1,this.map.transform.recalculateZoom(this.terrain))},this._terrainDataCallback=t=>{t.tile&&(t.sourceId===e.source?(this.map.transform.updateElevation(this.terrain),this.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):"geojson"===t.source.type&&this.terrain.rememberForRerender(t.sourceId,t.tile.tileID))},this.on("data",this._terrainDataCallback),this.map.on("freezeElevation",this._terrainfreezeElevationCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event("terrain",{terrain:e}))}setState(e){if(this._checkLoaded(),Jt(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=X(e.layers);const i=function(t,e){if(!t)return[{command:H.setStyle,args:[e]}];let i=[];try{if(!n(t.version,e.version))return[{command:H.setStyle,args:[e]}];n(t.center,e.center)||i.push({command:H.setCenter,args:[e.center]}),n(t.zoom,e.zoom)||i.push({command:H.setZoom,args:[e.zoom]}),n(t.bearing,e.bearing)||i.push({command:H.setBearing,args:[e.bearing]}),n(t.pitch,e.pitch)||i.push({command:H.setPitch,args:[e.pitch]}),n(t.sprite,e.sprite)||i.push({command:H.setSprite,args:[e.sprite]}),n(t.glyphs,e.glyphs)||i.push({command:H.setGlyphs,args:[e.glyphs]}),n(t.transition,e.transition)||i.push({command:H.setTransition,args:[e.transition]}),n(t.light,e.light)||i.push({command:H.setLight,args:[e.light]});const r={},a=[];!function(t,e,i,r){let a;for(a in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,a)&&(Object.prototype.hasOwnProperty.call(e,a)||K(a,i,r));for(a in e)Object.prototype.hasOwnProperty.call(e,a)&&(Object.prototype.hasOwnProperty.call(t,a)?n(t[a],e[a])||("geojson"===t[a].type&&"geojson"===e[a].type&&Y(t,e,a)?i.push({command:H.setGeoJSONSourceData,args:[a,e[a].data]}):J(a,e,i,r)):W(a,e,i))}(t.sources,e.sources,a,r);const o=[];t.layers&&t.layers.forEach((t=>{r[t.source]?i.push({command:H.removeLayer,args:[t.id]}):o.push(t)})),i=i.concat(a),function(t,e,i){e=e||[];const r=(t=t||[]).map(tt),a=e.map(tt),o=t.reduce(et,{}),s=e.reduce(et,{}),l=r.slice(),c=Object.create(null);let h,u,p,d,m,f,g;for(h=0,u=0;h!(t.command in Qt)));if(0===i.length)return!1;const r=i.filter((t=>!(t.command in Yt)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((t=>t.command)).join(", ")}.`);return i.forEach((t=>{"setTransition"!==t.command&&this[t.command].apply(this,t.args)})),this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);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(t.validateStyle.source,`sources.${e}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[e]=new O(e,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:this.loaded(),source:n.serialize(),sourceId:e}))),n.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(const r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while layer "${r}" is using it.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if("geojson"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(e,i,r={}){this._checkLoaded();const n=e.id;if(this.getLayer(n))return void this.fire(new t.ErrorEvent(new Error(`Layer "${n}" already exists on this map.`)));let a;if("custom"===e.type){if(Jt(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(n,e.source),e=t.clone$1(e),e=t.extend(e,{source:n})),this._validate(t.validateStyle.layer,`layers.${n}`,e,{arrayIndex:-1},r))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[a.id]=a.serialize()}const o=i?this._order.indexOf(i):this._order.length;if(i&&-1===o)this.fire(new t.ErrorEvent(new Error(`Cannot add layer "${n}" before non-existing layer "${i}".`)));else{if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source&&"custom"!==a.type){const t=this._removedLayers[n];delete this._removedLayers[n],t.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const r=this._order.indexOf(e);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new t.ErrorEvent(new Error(`Cannot move layer "${e}" before non-existing layer "${i}".`))):(this._order.splice(n,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer "${e}".`)));i.setEventedParent(null);const r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map)}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,r){this._checkLoaded();const n=this.getLayer(e);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,i,r={}){this._checkLoaded();const a=this.getLayer(e);if(a){if(!n(a.filter,i))return null==i?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,`layers.${a.id}.filter`,i,null,r)||(a.filter=t.clone$1(i),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,r,a={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getLayoutProperty(i),r)||(o.setLayoutProperty(i,r,a),this._updateLayer(o)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,i){const r=this.getLayer(e);if(r)return r.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,i,r,a={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getPaintProperty(i),r)||(o.setPaintProperty(i,r,a)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const r=e.source,n=e.sourceLayer,a=this.sourceCaches[r];if(void 0===a)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const o=a.getSource().type;"geojson"===o&&n?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||n?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(n,e.id,i)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,i){this._checkLoaded();const r=e.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const a=n.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?i&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):n.removeFeatureState(o,e.id,i):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const i=e.source,r=e.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,e.id)):void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,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,sources:t.mapObject(this.sourceCaches,(t=>t.serialize())),layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},r=[];for(let a=this._order.length-1;a>=0;a--){const n=this._order[a];if(e(n)){i[n]=a;for(const e of t){const t=e[n];if(t)for(const e of t)r.push(e)}}}r.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const n=[];for(let a=this._order.length-1;a>=0;a--){const o=this._order[a];if(e(o))for(let t=r.length-1;t>=0;t--){const e=r[t].feature;if(i[e.layer.id]{const i=h.featureSortOrder;if(i){const r=i.indexOf(t.featureIndex);return i.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(const t of r)e.push(t)}}for(const h in s)s[h].forEach((e=>{const r=e.feature,n=i[t[h].source].getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return s}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[e];return r?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),r=[],n={};for(let a=0;at.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);o=o||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new $t(e,this.terrain,this._order,a,i,r,n,this.placement),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(t.exported.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,e.icons)}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i)}getResource(e,i,r){return t.makeRequest(i,r)}}ee.getSourceType=function(t){return M[t]},ee.setSourceType=function(t,e){M[t]=e},ee.registerForPluginStateChange=t.registerForPluginStateChange;var ie="attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}";const re={prelude:ne("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\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(unpack_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;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ne("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:ne("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:ne("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(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;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(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);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:ne("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:ne("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 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;varying 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;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:ne("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}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:ne("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;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_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ne("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;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;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-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(0.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:ne("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;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:ne("#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_FragColor=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);}"),fillOutline:ne("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);gl_FragColor=outline_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;}"),fillOutlinePattern:ne("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*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 vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*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 vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:ne("varying vec4 v_color;void main() {gl_FragColor=v_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;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\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\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:ne("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\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 vec3 u_scale;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 vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:ne("#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,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);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((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.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:ne("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;\n#define PI 3.141592653589793\nvoid 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 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;}"),line:ne("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\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);gl_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;uniform mat4 u_matrix;uniform mediump float u_ratio;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 float v_linesofar;\n#pragma mapbox: define highp vec4 color\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 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;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ne("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\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);vec4 color=texture2D(u_image,v_uv);gl_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_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\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 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;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_width2=vec2(outset,inset);}"),linePattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;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_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.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_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;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_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ne("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\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);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\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\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\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\n#pragma mapbox: initialize lowp float floorwidth\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;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_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:ne("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(dot(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);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*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 float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:ne("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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform 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 highp float u_pitch;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;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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];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;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.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(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp 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);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_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;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ne("#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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform 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 highp float u_pitch;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;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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];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;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.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(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp 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);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ne("#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}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform 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 highp float u_pitch;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 vec2 u_texsize_icon;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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];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;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.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(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp 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);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:ne("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",ie),terrainDepth:ne("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",ie),terrainCoords:ne("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",ie)};function ne(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=e.match(/attribute ([\w]+) ([\w]+)/g),n=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(n):n,s={};return{fragmentSource:t=t.replace(i,((t,e,i,r,n)=>(s[n]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,r,n)=>{const a="float"===r?"vec2":"vec4",o=n.match(/color/)?"color":a;return s[n]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${a} a_${n};\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${a} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class ae{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,i,r,n,a,o,s,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==r.length;for(let h=0;!c&&h({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,w),this.binderUniforms=n?n.getUniforms(e,w):[]}draw(t,e,i,r,n,a,o,s,l,c,h,u,p,d,m,f,g,_){const y=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(r),t.setColorMode(n),t.setCullFace(a),s){t.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,s.depthTexture),t.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,s.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(s[t])}for(const v in this.fixedUniforms)this.fixedUniforms[v].set(o[v]);m&&m.setUniforms(t,this.binderUniforms,p,{zoom:d});let x=0;switch(e){case y.LINES:x=2;break;case y.TRIANGLES:x=3;break;case y.LINE_STRIP:x=1}for(const v of u.get()){const i=v.vaos||(v.vaos={});(i[l]||(i[l]=new ae)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,v.vertexOffset,f,g,_),y.drawElements(e,v.primitiveLength*x,y.UNSIGNED_SHORT,v.primitiveOffset*x*2)}}}function le(t,e,i){const r=1/bt(i,1,e.transform.tileZoom),n=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/n,o=a*(i.tileID.canonical.x+i.tileID.wrap*n),s=a*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[r,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const ce=(e,i,r,n)=>{const a=i.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(s,s,l);const c=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},he=(e,i,r,n,a,o,s)=>t.extend(ce(e,i,r,n),le(o,i,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),ue=t=>({u_matrix:t}),pe=(e,i,r,n)=>t.extend(ue(e),le(r,i,n)),de=(t,e)=>({u_matrix:t,u_world:e}),me=(e,i,r,n,a)=>t.extend(pe(e,i,r,n),{u_world:a}),fe=(t,e,i,r)=>{const n=t.transform;let a,o;if("map"===r.paint.get("circle-pitch-alignment")){const t=bt(i,1,n.zoom);a=!0,o=[t,t]}else a=!1,o=n.pixelsToGLUnits;return{u_camera_to_center_distance:n.cameraToCenterDistance,u_scale_with_map:+("map"===r.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,i,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},ge=(t,e,i)=>{const r=bt(i,1,e.zoom),n=Math.pow(2,e.zoom-i.tileID.overscaledZ),a=i.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[e.pixelsToGLUnits[0]/(r*n),e.pixelsToGLUnits[1]/(r*n)],u_overscale_factor:a}},_e=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ye=t=>({u_matrix:t}),xe=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:bt(e,1,i),u_intensity:r});function ve(e,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new t.MercatorCoordinate(0,n/r).toLngLat().lat,new t.MercatorCoordinate(0,(n+1)/r).toLngLat().lat]}const be=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Ie(t,e,i,r),u_ratio:1/bt(e,1,n.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]]}},we=(e,i,r,n,a)=>t.extend(be(e,i,r,a),{u_image:0,u_image_height:n}),Te=(t,e,i,r,n)=>{const a=t.transform,o=Se(e,a);return{u_matrix:Ie(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_ratio:1/bt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ee=(e,i,r,n,a,o)=>{const s=e.lineAtlas,l=Se(i,e.transform),c="round"===r.layout.get("line-cap"),h=s.getDash(n.from,c),u=s.getDash(n.to,c),p=h.width*a.fromScale,d=u.width*a.toScale;return t.extend(be(e,i,r,o),{u_patternscale_a:[l/p,-h.height/2],u_patternscale_b:[l/d,-u.height/2],u_sdfgamma:s.width/(256*Math.min(p,d)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:a.t})};function Se(t,e){return 1/bt(t,1,e.tileZoom)}function Ie(t,e,i,r){return t.translatePosMatrix(r?r.posMatrix:e.tileID.posMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const ze=(t,e,i,r,n)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,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:(o=n.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=n.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Ce(n.paint.get("raster-hue-rotate"))};var a,o};function Ce(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return[(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const Ae=(t,e,i,r,n,a,o,s,l,c)=>{const h=n.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+r,u_texsize:c,u_texture:0}},ke=(e,i,r,n,a,o,s,l,c,h,u)=>{const p=a.transform;return t.extend(Ae(e,i,r,n,a,o,s,l,c,h),{u_gamma_scale:n?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:a.pixelRatio,u_is_halo:+u})},Me=(e,i,r,n,a,o,s,l,c,h)=>t.extend(ke(e,i,r,n,a,o,s,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Pe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),De=(e,i,r,n,a,o)=>t.extend(function(t,e,i,r){const n=i.imageManager.getPattern(t.from.toString()),a=i.imageManager.getPattern(t.to.toString()),{width:o,height:s}=i.imageManager.getPixelSize(),l=Math.pow(2,r.tileID.overscaledZ),c=r.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(r.tileID.canonical.x+r.tileID.wrap*l),u=c*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:n.tl,u_pattern_br_a:n.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:e.t,u_pattern_size_a:n.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/bt(r,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(n,o,r,a),{u_matrix:e,u_opacity:i}),Le={fillExtrusion:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fillExtrusionPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fill:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),fillOutline:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),circle:(e,i)=>({u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),collisionBox:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}),collisionCircle:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}),debug:(e,i)=>({u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}),clippingMask:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmapTexture:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}),hillshade:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}),hillshadePrepare:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}),line:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}),lineGradient:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}),linePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),lineSDF:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}),raster:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}),symbolIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}),symbolSDF:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),symbolTextAndIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),background:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}),backgroundPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)})};class Be{constructor(t,e,i){this.context=t;const r=t.gl;this.buffer=r.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Re={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Fe{constructor(t,e,i,r){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.context=t;const n=t.gl;this.buffer=n.createBuffer(),t.bindVertexBuffer.set(this.buffer),n.bufferData(n.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let i=0;i0){const i=t.create(),r=_;t.mul(i,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,g.placementViewportMatrix),u.push({circleArray:x,circleOffset:d,transform:r,invTransform:i,coord:m}),p+=x.length/4,d=p}y&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Si.disabled,ge(_,e.transform,f),e.style.terrain&&e.style.terrain.getTerrainData(m),r.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer)}if(!s||!u.length)return;const m=e.useProgram("collisionCircle"),f=new t.CollisionCircleLayoutArray;f.resize(4*p),f._trim();let g=0;for(const t of u)for(let e=0;e=0&&(f[m.associatedIconIndex]={shiftedAnchor:S,angle:I})}else _t(m.numGlyphs,d)}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.terrain.getElevation(S,t,i):null,i="map"===r.layout.get("text-rotation-alignment");ht(l,S.posMatrix,e,a,R,F,_,h,i,t)}const U=e.translatePosMatrix(S.posMatrix,n,o,s),N=y||a&&T||V?Ci:R,$=e.translatePosMatrix(F,n,o,s,!0),G=p&&0!==r.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);let q;q=p?l.iconsInText?Me(d.kind,z,x,_,e,U,N,$,A,D):ke(d.kind,z,x,_,e,U,N,$,a,A,!0):Ae(d.kind,z,x,_,e,U,N,$,a,A);const Z={program:I,buffers:c,uniformValues:q,atlasTexture:k,atlasTextureIcon:L,atlasInterpolation:M,atlasInterpolationIcon:P,isSDF:p,hasHalo:G};if(v&&l.canOverlap){b=!0;const e=c.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:Z,terrainData:C})}else E.push({segments:c.segments,sortKey:0,state:Z,terrainData:C})}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(d.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,Di(i.buffers,t.segments,r,e,i.program,w,u,p,n,t.terrainData)),n.u_is_halo=0}Di(i.buffers,t.segments,r,e,i.program,w,u,p,i.uniformValues,t.terrainData)}}function Di(t,e,i,r,n,a,o,s,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,a,o,s,Si.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,r.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Li(t,e,i,r,n,a,o){const s=t.context.gl,l=i.paint.get("fill-pattern"),c=l&&l.constantOr(1),h=i.getCrossfadeParameters();let u,p,d,m,f;o?(p=c&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",u=s.LINES):(p=c?"fillPattern":"fill",u=s.TRIANGLES);for(const g of r){const r=e.getTile(g);if(c&&!r.patternsLoaded())continue;const _=r.getBucket(i);if(!_)continue;const y=_.programConfigurations.get(i.id),x=t.useProgram(p,y),v=t.style.terrain&&t.style.terrain.getTerrainData(g);c&&(t.context.activeTexture.set(s.TEXTURE0),r.imageAtlasTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),y.updatePaintBuffers(h));const b=l.constantOr(null);if(b&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[b.to.toString()],i=t.patternPositions[b.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const w=v?g:null,T=t.translatePosMatrix(w?w.posMatrix:g.posMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(o){m=_.indexBuffer2,f=_.segments2;const e=[s.drawingBufferWidth,s.drawingBufferHeight];d="fillOutlinePattern"===p&&c?me(T,t,h,r,e):de(T,e)}else m=_.indexBuffer,f=_.segments,d=c?pe(T,t,h,r):ue(T);x.draw(t.context,u,n,t.stencilModeForClipping(g),a,Si.disabled,d,v,i.id,_.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,y)}}function Bi(t,e,i,r,n,a,o){const s=t.context,l=s.gl,c=i.paint.get("fill-extrusion-pattern"),h=c.constantOr(1),u=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity");for(const d of r){const r=e.getTile(d),m=r.getBucket(i);if(!m)continue;const f=t.style.terrain&&t.style.terrain.getTerrainData(d),g=m.programConfigurations.get(i.id),_=t.useProgram(h?"fillExtrusionPattern":"fillExtrusion",g);h&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(u));const y=c.constantOr(null);if(y&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[y.to.toString()],i=t.patternPositions[y.from.toString()];e&&i&&g.setConstantPatternPositions(e,i)}const x=t.translatePosMatrix(d.posMatrix,r,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),v=i.paint.get("fill-extrusion-vertical-gradient"),b=h?he(x,t,v,p,d,u,r):ce(x,t,v,p);_.draw(s,s.gl.TRIANGLES,n,a,o,Si.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.terrain&&m.centroidVertexBuffer)}}function Ri(t,e,i,r,n,a,o){const s=t.context,l=s.gl,c=i.fbo;if(!c)return;const h=t.useProgram("hillshade"),u=t.style.terrain&&t.style.terrain.getTerrainData(e);s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(s,l.TRIANGLES,n,a,o,Si.disabled,((t,e,i,r)=>{const n=i.paint.get("hillshade-shadow-color"),a=i.paint.get("hillshade-highlight-color"),o=i.paint.get("hillshade-accent-color");let s=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(s-=t.transform.angle);const l=!t.options.moving;return{u_matrix:r?r.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ve(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),s],u_shadow:n,u_highlight:a,u_accent:o}})(t,i,r,u?e:null),u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}function Fi(e,i,r,n,a,o){const s=e.context,c=s.gl,h=i.dem;if(h&&h.data){const u=h.dim,p=h.stride,d=h.getPixels();if(s.activeTexture.set(c.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(p),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else i.demTexture=new l(s,d,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);s.activeTexture.set(c.TEXTURE0);let m=i.fbo;if(!m){const t=new l(s,{width:u,height:u,data:null},c.RGBA);t.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=i.fbo=s.createFramebuffer(u,u,!0),m.colorAttachment.set(t.texture)}s.bindFramebuffer.set(m.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(s,c.TRIANGLES,n,a,o,Si.disabled,((e,i)=>{const r=i.stride,n=t.create();return t.ortho(n,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(n,n,[0,-t.EXTENT,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function Oi(e,i,r,n,a,o){const s=n.paint.get("raster-fade-duration");if(!o&&s>0){const n=t.exported.now(),o=(n-e.timeAdded)/s,l=i?(n-i.timeAdded)/s:-1,c=r.getSource(),h=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=u&&e.refreshedUponExpiration?1:t.clamp(u?o:1-l,0,1);return e.refreshedUponExpiration&&o>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const Vi=new t.Color(1,0,0,1),Ui=new t.Color(0,1,0,1),Ni=new t.Color(0,0,1,1),$i=new t.Color(1,0,1,1),Gi=new t.Color(0,1,1,1);function qi(t,e,i,r){ji(t,0,e+i/2,t.transform.width,i,r)}function Zi(t,e,i,r){ji(t,e-i/2,0,i,t.transform.height,r)}function ji(t,e,i,r,n,a){const o=t.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function Xi(e,i,r){const n=e.context,a=n.gl,o=r.posMatrix,s=e.useProgram("debug"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u="$debug",p=e.style.terrain&&e.style.terrain.getTerrainData(r);n.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const d=i.getTileByID(r.key).latestRawTileData,m=Math.floor((d&&d.byteLength||0)/1024),f=i.getTile(r).tileSize,g=512/Math.min(f,512)*(r.overscaledZ/e.transform.zoom)*.5;let _=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(_+=` => ${r.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,r=t.context.gl,n=t.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(e,5,5),n.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${_} ${m}kB`),s.draw(n,a.TRIANGLES,l,c,vi.alphaBlended,Si.disabled,_e(o,t.Color.transparent,g),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(n,a.LINE_STRIP,l,c,h,Si.disabled,_e(o,t.Color.red),p,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function Hi(t,e,i){const r=t.context,n=r.gl,a=t.colorModeForRenderPass(),o=new wi(n.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),s=t.useProgram("terrain"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]),r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());const h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());s.draw(r,n.TRIANGLES,o,Ei.disabled,a,Si.backCCW,{u_matrix:h,u_texture:0},c,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}function Wi(t,e,i,r){const n=t.context,a=i.tileSize*e.qualityFactor;i.textures[r]||(i.textures[r]=t.getTileTexture(a)||new l(n,{width:a,height:a,data:null},n.gl.RGBA),i.textures[r].bind(n.gl.LINEAR,n.gl.CLAMP_TO_EDGE),0===r&&e.sourceCache.renderHistory.unshift(i.tileID.key));const o=e.getRTTFramebuffer();o.colorAttachment.set(i.textures[r].texture),n.bindFramebuffer.set(o.framebuffer),n.viewport.set([0,0,a,a])}class Ki{constructor(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init()}_init(){const t=this.painter.style,e=t.terrain;for(const i in t.sourceCaches){this._coordsDescendingInv[i]={};const r=t.sourceCaches[i].getVisibleCoordinates();for(const t of r){const r=e.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[i][t]||(this._coordsDescendingInv[i][t]=[]),this._coordsDescendingInv[i][t].push(r[t])}}for(const i of t._order){const e=t._layers[i],r=e.source;if(this._renderToTexture[e.type]&&!this._coordsDescendingInvStr[r]){this._coordsDescendingInvStr[r]={};for(const t in this._coordsDescendingInv[r])this._coordsDescendingInvStr[r][t]=this._coordsDescendingInv[r][t].map((t=>t.key)).sort().join()}}return this._renderableTiles.forEach((t=>{for(const i in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[i][t.tileID.key];r&&r!==t.textureCoords[i]&&t.clearTextures(this.painter),e.needsRerender(i,t.tileID)&&t.clearTextures(this.painter)}this._rerender[t.tileID.key]=!t.textures.length})),e.clearRerenderCache(),e.sourceCache.removeOutdated(this.painter),this}renderLayer(e){const i=e.type,r=this.painter,n=r.style._order,a=r.currentLayer,o=a+1===n.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(n[a]),!o))return!0;if(this._renderToTexture[this._prevType]||"hillshade"===i||this._renderToTexture[i]&&o){this._prevType=i;const o=this._stacks.length-1,s=this._stacks[o]||[];for(const e of this._renderableTiles){if(Wi(r,r.style.terrain,e,o),this._rerender[e.tileID.key]){r.context.clear({color:t.Color.transparent});for(let t=0;ti.style.terrain.getElevation(u,t,e):null)}}}(n,e,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),a),0!==r.paint.get("icon-opacity").constantOr(1)&&Pi(e,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"),o,s),0!==r.paint.get("text-opacity").constantOr(1)&&Pi(e,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"),o,s),i.map.showCollisionBoxes&&(zi(e,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),zi(e,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(e,i,r,n){if("translucent"!==e.renderPass)return;const a=r.paint.get("circle-opacity"),o=r.paint.get("circle-stroke-width"),s=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),p=Ei.disabled,d=e.colorModeForRenderPass(),m=[];for(let f=0;ft.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:n,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=t.state;n.draw(c,h.TRIANGLES,u,p,d,Si.disabled,s,l,r.id,a,o,t.segments,r.paint,e.transform.zoom,i)}},heatmap:function(e,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const a=e.context,o=a.gl,s=Ei.disabled,l=new vi([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let n=i.heatmapFbo;if(n)r.bindTexture(r.TEXTURE_2D,n.colorAttachment.get()),t.bindFramebuffer.set(n.framebuffer);else{const a=r.createTexture();r.bindTexture(r.TEXTURE_2D,a),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),n=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,r){const n=t.gl;n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e.width/4,e.height/4,0,n.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:n.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(t,e,a,n)}}(a,e,r),a.clear({color:t.Color.transparent});for(let t=0;t{const a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);const o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,r))},line:function(e,i,r,n){if("translucent"!==e.renderPass)return;const a=r.paint.get("line-opacity"),o=r.paint.get("line-width");if(0===a.constantOr(1)||0===o.constantOr(1))return;const s=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=r.paint.get("line-dasharray"),u=r.paint.get("line-pattern"),p=u.constantOr(1),d=r.paint.get("line-gradient"),m=r.getCrossfadeParameters(),f=p?"linePattern":h?"lineSDF":d?"lineGradient":"line",g=e.context,_=g.gl;let y=!0;for(const x of n){const n=i.getTile(x);if(p&&!n.patternsLoaded())continue;const a=n.getBucket(r);if(!a)continue;const o=a.programConfigurations.get(r.id),v=e.context.program.get(),b=e.useProgram(f,o),w=y||b.program!==v,T=e.style.terrain&&e.style.terrain.getTerrainData(x),E=u.constantOr(null);if(E&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&o.setConstantPatternPositions(e,i)}const S=T?x:null,I=p?Te(e,n,r,m,S):h?Ee(e,n,r,h,m,S):d?we(e,n,r,a.lineClipsArray.length,S):be(e,n,r,S);if(p)g.activeTexture.set(_.TEXTURE0),n.imageAtlasTexture.bind(_.LINEAR,_.CLAMP_TO_EDGE),o.updatePaintBuffers(m);else if(h&&(w||e.lineAtlas.dirty))g.activeTexture.set(_.TEXTURE0),e.lineAtlas.bind(g);else if(d){const n=a.gradients[r.id];let o=n.texture;if(r.gradientVersion!==n.version){let s=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=x.canonical.z===r?Math.ceil(1<256&&this.clearStencil(),i.setColorMode(vi.disabled),i.setDepthMode(wi.disabled);const n=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const a of e){const t=this._tileClippingMaskIDs[a.key]=this.nextStencilID++,e=this.style.terrain&&this.style.terrain.getTerrainData(a);n.draw(i,r.TRIANGLES,wi.disabled,new Ei({func:r.ALWAYS,mask:0},t,255,r.KEEP,r.KEEP,r.REPLACE),vi.disabled,Si.disabled,ye(a.posMatrix),e,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=o[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer{i.source&&!i.isHidden(this.transform.zoom)&&(i.source!==(e&&e.id)&&(e=this.style.sourceCaches[i.source]),(!t||t.getSource().maxzoom0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return!e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new se(this.context,t,re[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}}class Qi{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(e,i,r){const n=Math.pow(2,r),a=[[-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((r=>{const a=1/(r=t.transformMat4([],r,e))[3]/i*n;return t.mul$1(r,r,[a,a,1/r[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const i=t.sub([],a[e[0]],a[e[1]]),r=t.sub([],a[e[2]],a[e[1]]),n=t.normalize([],t.cross([],i,r)),o=-t.dot(n,a[e[1]]);return n.concat(o)}));return new Qi(a,o)}}class tr{constructor(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5)}quadrant(e){const i=[e%2==0,e<2],r=t.clone$2(this.min),n=t.clone$2(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==i.length&&(r=!1)}if(r)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[t]-this.min[t])return 0}return 1}}class er{constructor(t=0,e=0,i=0,r=0){if(isNaN(t)||t<0||isNaN(e)||e<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=t,this.bottom=e,this.left=i,this.right=r}interpolate(e,i,r){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,r)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,r)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,r)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,r)),this}getCenter(e,i){const r=t.clamp((this.left+e-this.right)/2,0,e),n=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new er(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class ir{constructor(e,i,r,n,a){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new er,this._posMatrixCache={},this._alignedPosMatrixCache={}}clone(){const t=new ir(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t._elevation=this._elevation,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.pointGeometry(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;var r;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(r=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0),r[0]=1,r[3]=1,r),function(t,e,i){var r=e[0],n=e[1],a=e[2],o=e[3],s=Math.sin(i),l=Math.cos(i);t[0]=r*l+a*s,t[1]=n*l+o*s,t[2]=r*-s+a*l,t[3]=n*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const r=this.pointCoordinate(new t.pointGeometry(0,0)),n=this.pointCoordinate(new t.pointGeometry(this.width,0)),a=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),o=this.pointCoordinate(new t.pointGeometry(0,this.height)),s=Math.floor(Math.min(r.x,n.x,a.x,o.x)),l=Math.floor(Math.max(r.x,n.x,a.x,o.x)),c=1;for(let h=s-c;h<=l+c;h++)0!==h&&i.push(new t.UnwrappedTileID(h,e))}return i}coveringTiles(e){var i,r;let n=this.coveringZoomLevel(e);const a=n;if(void 0!==e.minzoom&&ne.maxzoom&&(n=e.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),s=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,n),c=[l*o.x,l*o.y,0],h=[l*s.x,l*s.y,0],u=Qi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,n);let p=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(p=n);const d=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new tr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),f=[],g=[],_=n,y=e.reparseOverscaled?a:n;if(this._renderWorldCopies)for(let t=1;t<=3;t++)f.push(m(-t)),f.push(m(t));for(f.push(m(0));f.length>0;){const n=f.pop(),a=n.x,o=n.y;let s=n.fullyVisible;if(!s){const t=n.aabb.intersects(u);if(0===t)continue;s=2===t}const l=e.terrain?c:h,m=n.aabb.distanceX(l),x=n.aabb.distanceY(l),v=Math.max(Math.abs(m),Math.abs(x)),b=d+(1<<_-n.zoom)-2;if(n.zoom===_||v>b&&n.zoom>=p){const e=_-n.zoom,i=c[0]-.5-(a<>1),u=n.zoom+1;let p=n.aabb.quadrant(c);if(e.terrain){const a=new t.OverscaledTileID(u,n.wrap,u,l,h),o=e.terrain.getMinMaxElevation(a),s=null!==(i=o.minElevation)&&void 0!==i?i:this.elevation,c=null!==(r=o.maxElevation)&&void 0!==r?r:this.elevation;p=new tr([p.min[0],p.min[1],s],[p.max[0],p.max[1],c])}f.push({aabb:p,zoom:u,x:l,y:h,wrap:n.wrap,fullyVisible:s})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}updateElevation(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0)}getElevation(e,i){const r=t.MercatorCoordinate.fromLngLat(e),n=(1<o&&(n=o-e)}if(this.lngRange){const e=(s+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),n=c.x/2;i-nl&&(r=l-n)}void 0===r&&void 0===n||(this.center=this.unproject(new t.pointGeometry(void 0!==r?r:u.x,void 0!==n?n:u.y)).wrap()),this._unmodified=h,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let n=t.identity(new Float64Array(16));t.scale(n,n,[this.width/2,-this.height/2,1]),t.translate(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=t.identity(new Float64Array(16)),t.scale(n,n,[1,-1,1]),t.translate(n,n,[-1,-1,0]),t.scale(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);const a=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),s=Math.sin(o)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-a-o,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-a-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*s+this.cameraToSeaLevelDistance,p=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,d=1.01*Math.min(u,p),m=this.height/50;n=new Float64Array(16),t.perspective(n,this._fov,this.width/this.height,m,d),n[8]=2*-e.x/this.width,n[9]=2*e.y/this.height,t.scale(n,n,[1,-1,1]),t.translate(n,n,[0,0,-this.cameraToCenterDistance]),t.rotateX(n,n,this._pitch),t.rotateZ(n,n,this.angle),t.translate(n,n,[-i,-r,0]),this.mercatorMatrix=t.scale([],n,[this.worldSize,this.worldSize,this.worldSize]),t.scale(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n),t.translate(n,n,[0,0,-this.elevation]),this.projMatrix=n,this.invProjMatrix=t.invert([],n),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n);const f=this.width%2/2,g=this.height%2/2,_=Math.cos(this.angle),y=Math.sin(this.angle),x=i-Math.round(i)+_*f+y*g,v=r-Math.round(r)+_*g+y*f,b=new Float64Array(n);if(t.translate(b,b,[x>.5?x-1:x,v>.5?v-1:v,0]),this.alignedProjMatrix=b,n=t.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return[e[0],i];{let r=i.x,n=i.y,a=i.x,o=i.y;for(const t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);return[new t.pointGeometry(r,n),new t.pointGeometry(a,n),new t.pointGeometry(a,o),new t.pointGeometry(r,o),new t.pointGeometry(r,n)]}}}class rr{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=function(t,e){let i=!1,r=null;const n=()=>{r=null,i&&(t(),r=setTimeout(n,300),i=!1)};return()=>(i=!0,r||n(),r)}(this._updateHashUnthrottled.bind(this))}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,r=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),a=Math.round(e.lng*n)/n,o=Math.round(e.lat*n)/n,s=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${a}/${o}/${i}`:`${i}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split("&").map((i=>{const r=i.split("=")[0];return r===t?(e=!0,`${r}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join("&")}`}return`#${c}`}_getCurrentHash(){const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")}_onHashChange(){const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1}_updateHashUnthrottled(){const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t)}catch(t){}}}const nr={linearity:.3,easing:t.bezier(0,0,.3,1)},ar=t.extend({deceleration:2500,maxSpeed:1400},nr),or=t.extend({deceleration:20,maxSpeed:1400},nr),sr=t.extend({deceleration:1e3,maxSpeed:360},nr),lr=t.extend({deceleration:1e3,maxSpeed:90},nr);class cr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const a=ur(i.pan.mag(),r,t.extend({},ar,e||{}));n.offset=i.pan.mult(a.amount/i.pan.mag()),n.center=this._map.transform.center,hr(n,a)}if(i.zoom){const t=ur(i.zoom,r,or);n.zoom=this._map.transform.zoom+t.amount,hr(n,t)}if(i.bearing){const e=ur(i.bearing,r,sr);n.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),hr(n,e)}if(i.pitch){const t=ur(i.pitch,r,lr);n.pitch=this._map.transform.pitch+t.amount,hr(n,t)}if(n.zoom||n.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;n.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),t.extend(n,{noMoveStart:!0})}}function hr(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new t.pointGeometry(0,0));super(e,{points:o,point:l,lngLats:s,lngLat:i.unproject(l),originalEvent:r}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class mr extends t.Event{constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class fr{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new mr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new pr(t.type,this._map,t))}mouseup(t){this._map.fire(new pr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new pr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new pr(t.type,this._map,t))}mouseover(t){this._map.fire(new pr(t.type,this._map,t))}mouseout(t){this._map.fire(new pr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new dr(t.type,this._map,t))}touchmove(t){this._map.fire(new dr(t.type,this._map,t))}touchend(t){this._map.fire(new dr(t.type,this._map,t))}touchcancel(t){this._map.fire(new dr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new pr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new pr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new pr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _r{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(a.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair","mapboxgl-crosshair"),this._box&&(a.remove(this._box),this._box=null),a.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function yr(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){const i=new t.pointGeometry(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=yr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=yr(i,e);for(const n in this.touches){const t=this.touches[n],e=r[n];(!e||e.dist(t)>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class vr{constructor(t){this.singleTap=new xr(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const r=this.singleTap.touchend(t,e,i);if(r){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class br{constructor(){this._zoomIn=new vr({numTouches:1,numTaps:2}),this._zoomOut=new vr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const r=this._zoomIn.touchend(t,e,i),n=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}):n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(n)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const wr={0:1,2:2};class Tr{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1}reset(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton}_correctButton(t,e){return!1}_move(t,e){return{}}mousedown(t,e){if(this._lastPoint)return;const i=a.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i)}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){const i=wr[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i){this._cancelCooperativeMessage=!1}),200)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const n=yr(r,i),a=new t.pointGeometry(0,0),o=new t.pointGeometry(0,0);let s=0;for(const t in n){const e=n[t],i=this._touches[t];i&&(a._add(e),o._add(e.sub(i)),s++,n[t]=e)}if(this._touches=n,sMath.abs(t.x)}class Br extends Cr{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length}_start(t){this._lastPoints=t,Lr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const r=t[0].sub(this._lastPoints[0]),n=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,n,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+n.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const r=t.mag()>=2,n=e.mag()>=2;if(!r&&!n)return;if(!r||!n)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const a=t.y>0==e.y>0;return Lr(t)&&Lr(e)&&a}}const Rr={panStep:100,bearingStep:15,pitchStep:10};class Fr{constructor(){const t=Rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,r=0,n=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),n=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),n=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:o=>{const s=o.getZoom();o.easeTo({duration:300,easeId:"keyboardHandler",easing:Or,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+i*this._bearingStep,pitch:o.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-a*this._panStep],center:o.getCenter()},{originalEvent:t})}}}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 Or(t){return t*(2-t)}const Vr=4.000244140625;class Ur{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault()}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const r=t.exported.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Vr==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,e)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault()}_onTimeout(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)}_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 i=a.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Vr?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:e.zoom,r=this._startZoom,n=this._easing;let a,o=!1;if("wheel"===this._type&&r&&n){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),s=n(e);a=t.number(r,i,s),e<1?this._frameId||(this._frameId=!0):o=!0}else a=i,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,r=(t.exported.now()-e.start)/e.duration,n=e.easing(r+.01)-e.easing(r),a=.27/Math.sqrt(n*n+1e-4)*.01,o=Math.sqrt(.0729-a*a);i=t.bezier(a,o,.25,1)}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}reset(){this._active=!1}}class Nr{constructor(t,e){this._clickZoom=t,this._tapZoom=e}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 $r{constructor(){this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Gr{constructor(){this._tap=new vr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()}touchstart(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i))}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=e[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,t.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class qr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Zr{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,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 jr{constructor(t,e,i,r){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate","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 Xr=t=>t.zoom||t.drag||t.pitch||t.rotate;class Hr extends t.Event{}function Wr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Kr{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new cr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.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],[document,"mousemove",{capture:!0}],[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],[window,"blur",void 0]];for(const[t,n,o]of this._listeners)a.addEventListener(t,n,t===document?this.handleWindowEvent:this.handleEvent,o)}destroy(){for(const[t,e,i]of this._listeners)a.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new fr(e,t));const r=e.boxZoom=new _r(e,t);this._add("boxZoom",r);const n=new br,a=new $r;e.doubleClickZoom=new Nr(a,n),this._add("tapZoom",n),this._add("clickZoom",a);const o=new Gr;this._add("tapDragZoom",o);const s=e.touchPitch=new Br(e);this._add("touchPitch",s);const l=new Sr(t),c=new Ir(t);e.dragRotate=new Zr(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new Er(t),u=new zr(t,e);e.dragPan=new qr(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const p=new Dr,d=new Mr;e.touchZoomRotate=new jr(i,d,p,o),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]);const m=e.scrollZoom=new Ur(e,this);this._add("scrollZoom",m,["mousePan"]);const f=e.keyboard=new Fr;this._add("keyboard",f),this._add("blockableMapEvent",new gr(e));for(const g of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])t.interactive&&t[g]&&e[g].enable(t[g])}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(Xr(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const r in t)if(r!==i&&(!e||e.indexOf(r)<0))return!0;return!1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`)}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i="renderFrame"===t.type?void 0:t,r={needsRenderFrame:!1},n={},o={},s=t.touches,l=s?this._getMapTouches(s):void 0,c=l?a.touchPos(this._el,l):a.mousePos(this._el,t);for(const{handlerName:a,handler:p,allowed:d}of this._handlers){if(!p.isEnabled())continue;let s;this._blockedByActive(o,d,a)?p.reset():p[e||t.type]&&(s=p[e||t.type](t,c,l),this.mergeHandlerResult(r,n,s,a,i),s&&s.needsRenderFrame&&this._triggerRenderFrame()),(s||p.isActive())&&(o[a]=p)}const h={};for(const a in this._previousActiveHandlers)o[a]||(h[a]=i);this._previousActiveHandlers=o,(Object.keys(h).length||Wr(r))&&(this._changes.push([r,n,h]),this._triggerRenderFrame()),(Object.keys(o).length||Wr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))}mergeHandlerResult(e,i,r,n,a){if(!r)return;t.extend(e,r);const o={handlerName:n,originalEvent:r.originalEvent||a};void 0!==r.zoomDelta&&(i.zoom=o),void 0!==r.panDelta&&(i.drag=o),void 0!==r.pitchDelta&&(i.pitch=o),void 0!==r.bearingDelta&&(i.rotate=o)}_applyChanges(){const e={},i={},r={};for(const[n,a,o]of this._changes)n.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(n.panDelta)),n.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(e.around=n.around),void 0!==n.pinchAround&&(e.pinchAround=n.pinchAround),n.noInertia&&(e.noInertia=n.noInertia),t.extend(i,a),t.extend(r,o);this._updateMapTransform(e,i,r),this._changes=[]}_updateMapTransform(e,i,r){const n=this._map,a=n.transform,o=n.style&&n.style.terrain;if(!(Wr(e)||o&&this._drag))return this._fireEvents(i,r,!0);let{panDelta:s,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,pinchAround:p}=e;void 0!==p&&(u=p),n._stop(!0),u=u||n.transform.centerPoint;const d=a.pointLocation(s?u.sub(s):u);c&&(a.bearing+=c),h&&(a.pitch+=h),l&&(a.zoom+=l),o?i.drag&&!this._drag?(this._drag={center:a.centerPoint,lngLat:a.pointLocation(u),point:u,handlerName:i.drag.handlerName},n.fire(new t.Event("freezeElevation",{freeze:!0}))):this._drag&&r[this._drag.handlerName]?(n.fire(new t.Event("freezeElevation",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(a.center=a.pointLocation(a.centerPoint.sub(s))):a.setLocationAtPoint(d,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,r,!0)}_fireEvents(e,i,r){const n=Xr(this._eventsInProgress),a=Xr(e),o={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(o[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!n&&a&&this._fireEvent("movestart",a.originalEvent);for(const t in o)this._fireEvent(t,o[t]);a&&this._fireEvent("move",a.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const s={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||r,s[`${t}end`]=l)}for(const t in s)this._fireEvent(t,s[t]);const c=Xr(this._eventsInProgress);if(r&&(n||a)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Hr("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Jr={extend:(e,...i)=>t.extend(e,...i),run(t){t()},logToElement(t,e=!1,i="log"){const r=window.document.getElementById(i);r&&(e&&(r.innerHTML=""),r.innerHTML+=`
${t}`)}};class Yr extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,r){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),r)}panTo(e,i,r){return this.easeTo(t.extend({center:e},i),r)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,r){return this.easeTo(t.extend({zoom:e},i),r)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,r){return this.easeTo(t.extend({bearing:e},i),r)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(r.zoom=t.number(n,l,e)),this._rotating&&(r.bearing=t.number(a,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(s,u,e),d=r.centerPoint.add(p)),x)r.setLocationAtPoint(x,v);else{const t=r.zoomScale(r.zoom-n),i=l>n?Math.min(2,y):Math.max(.5,y),a=Math.pow(i,1-e),o=r.unproject(g.add(_.mult(e*a)).mult(t));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,d)}this._fireMoveEvents(i)}),(t=>{this._afterEase(i,t)}),e),this}_prepareEase(e,i,r={}){this._moving=!0,this.fire(new t.Event("freezeElevation",{freeze:!0})),i||r.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!r.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!r.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!r.pitching&&this.fire(new t.Event("pitchstart",e))}_fireMoveEvents(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId,this.fire(new t.Event("freezeElevation",{freeze:!1}));const r=this._zooming,n=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(!e.essential&&t.exported.prefersReducedMotion){const r=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const r=this.transform,n=this.getZoom(),a=this.getBearing(),o=this.getPitch(),s=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,r.minZoom,r.maxZoom):n,c="bearing"in e?this._normalizeBearing(e.bearing,a):a,h="pitch"in e?+e.pitch:o,u="padding"in e?e.padding:r.padding,p=r.zoomScale(l-n),d=t.pointGeometry.convert(e.offset);let m=r.centerPoint.add(d);const f=r.pointLocation(m),g=t.LngLat.convert(e.center||f);this._normalizeCenter(g);const _=r.project(f),y=r.project(g).sub(_);let x=e.curve;const v=Math.max(r.width,r.height),b=v/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,n,l),r.minZoom,r.maxZoom),a=v/r.zoomScale(i-n);x=Math.sqrt(a/w*2)}const T=x*x;function E(t){const e=(b*b-v*v+(t?-1:1)*T*T*w*w)/(2*(t?b:v)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function I(t){return(Math.exp(t)+Math.exp(-t))/2}const z=E(0);let C=function(t){return I(z)/I(z+x*t)},A=function(t){return v*((I(z)*(S(e=z+x*t)/I(e))-S(z))/T)/w;var e},k=(E(1)-z)/x;if(Math.abs(w)<1e-6||!isFinite(k)){if(Math.abs(v-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=a!==c,this._pitching=h!==o,this._padding=!r.isPaddingEqual(u),this._prepareEase(i,!1),this._ease((e=>{const p=e*k,f=1/C(p);r.zoom=1===e?l:n+r.scaleZoom(f),this._rotating&&(r.bearing=t.number(a,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(s,u,e),m=r.centerPoint.add(d));const x=1===e?g:r.unproject(_.add(y.mult(A(p))).mult(f));r.setLocationAtPoint(r.renderWorldCopies?x.wrap():x,m),this._fireMoveEvents(i)}),(()=>this._afterEase(i)),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,r){!1===r.animate||0===r.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const r=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}}class Qr{constructor(e={}){this.options=e,t.bindAll(["_toggleAttribution","_updateData","_updateCompact","_updateCompactMinimize"],this)}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("details","maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=a.create("summary","maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=a.create("div","maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){a.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}_toggleAttribution(){this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")):(this._container.classList.add("maplibregl-compact-show","mapboxgl-compact-show"),this._container.removeAttribute("open")))}_updateData(t){!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions()}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const r in e){const i=e[r];if(i.used||i.usedForTerrain){const e=i.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let r=i+1;r=0)return!1;return!0}));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("maplibregl-attrib-empty","mapboxgl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty","mapboxgl-attrib-empty"),this._updateCompact(),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","mapboxgl-compact","maplibregl-compact-show","mapboxgl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show","mapboxgl-compact","mapboxgl-compact-show"))}_updateCompactMinimize(){this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")}}class tn{constructor(e={}){this.options=e,t.bindAll(["_updateCompact"],this)}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("div","maplibregl-ctrl mapboxgl-ctrl");const e=a.create("a","maplibregl-ctrl-logo mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){a.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact","mapboxgl-compact"):e.classList.remove("maplibregl-compact","mapboxgl-compact")}}}class en{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const r of i)if(r.id===t)return void(r.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}const rn={"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","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"},nn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},an={showCompass:!0,showZoom:!0,visualizePitch:!1};class on{constructor(e,i,r=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new Sr({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ir({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),a.addEventListener(i,"mousedown",this.mousedown),a.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),a.addEventListener(i,"touchmove",this.touchmove),a.addEventListener(i,"touchend",this.touchend),a.addEventListener(i,"touchcancel",this.reset)}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),a.disableDrag()}move(t,e){const i=this.map,r=this.mouseRotate.mousemoveWindow(t,e);if(r&&r.bearingDelta&&i.setBearing(i.getBearing()+r.bearingDelta),this.mousePitch){const r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta)}}off(){const t=this.element;a.removeEventListener(t,"mousedown",this.mousedown),a.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),a.removeEventListener(t,"touchmove",this.touchmove),a.removeEventListener(t,"touchend",this.touchend),a.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){a.enableDrag(),a.removeEventListener(window,"mousemove",this.mousemove),a.removeEventListener(window,"mouseup",this.mouseup)}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),a.mousePos(this.element,e)),a.addEventListener(window,"mousemove",this.mousemove),a.addEventListener(window,"mouseup",this.mouseup)}mousemove(t){this.move(t,a.mousePos(this.element,t))}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos))}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos))}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)180;){const t=r.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e}const ln={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%)"};function cn(t,e,i){const r=t.classList;for(const n in ln)r.remove(`maplibregl-${i}-anchor-${n}`,`mapboxgl-${i}-anchor-${n}`);r.add(`maplibregl-${i}-anchor-${e}`,`mapboxgl-${i}-anchor-${e}`)}class hn extends t.Evented{constructor(e,i){if(super(),(e instanceof HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.pointGeometry.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=a.create("div"),this._element.setAttribute("aria-label","Map marker");const i=a.createNS("http://www.w3.org/2000/svg","svg"),r=41,n=27;i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height",`${r}px`),i.setAttributeNS(null,"width",`${n}px`),i.setAttributeNS(null,"viewBox",`0 0 ${n} ${r}`);const o=a.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");const s=a.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");const l=a.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const t of c){const e=a.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const h=a.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=a.createNS("http://www.w3.org/2000/svg","path");u.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),h.appendChild(u);const p=a.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"fill","#000000");const d=a.createNS("http://www.w3.org/2000/svg","path");d.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),p.appendChild(d);const m=a.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");const f=a.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=a.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const _=a.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),f.appendChild(g),f.appendChild(_),s.appendChild(l),s.appendChild(h),s.appendChild(p),s.appendChild(m),s.appendChild(f),i.appendChild(s),i.setAttributeNS(null,"height",r*this._scale+"px"),i.setAttributeNS(null,"width",n*this._scale+"px"),this._element.appendChild(i),this._offset=t.pointGeometry.convert(e&&e.offset||[0,-14])}this._element.classList.add("maplibregl-marker","mapboxgl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),cn(this._element,this._anchor,"marker"),this._popup=null}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),a.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[r,-1*(e-i+r)],"bottom-right":[-r,-1*(e-i+r)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}_update(t){if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=sn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),t&&"moveend"!==t.type||(this._pos=this._pos.round()),a.setTransform(this._element,`${ln[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${e}`),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?"0.2":"1.0",this._opacityTimeout=null}),100))}getOffset(){return this._offset}setOffset(e){return this._offset=t.pointGeometry.convert(e),this._update(),this}_onMove(e){if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))}_onUp(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"}_addDragHandler(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const un={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let pn,dn=0,mn=!1;const fn={maxWidth:100,unit:"metric"};function gn(t,e,i){const r=i&&i.maxWidth||100,n=t._container.clientHeight/2,a=t.unproject([0,n]),o=t.unproject([r,n]),s=a.distanceTo(o);if(i&&"imperial"===i.unit){const i=3.2808*s;i>5280?_n(e,r,i/5280,t._getUIString("ScaleControl.Miles")):_n(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?_n(e,r,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?_n(e,r,s/1e3,t._getUIString("ScaleControl.Kilometers")):_n(e,r,s,t._getUIString("ScaleControl.Meters"))}function _n(t,e,i,r){const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(n/i)+"px",t.innerHTML=`${n} ${r}`}const yn={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},xn=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function vn(e){if(e){if("number"==typeof e){const i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),"top-left":new t.pointGeometry(i,i),"top-right":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),"bottom-left":new t.pointGeometry(i,-i),"bottom-right":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){const i=t.pointGeometry.convert(e);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),"top-left":t.pointGeometry.convert(e["top-left"]||[0,0]),"top-right":t.pointGeometry.convert(e["top-right"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),"bottom-left":t.pointGeometry.convert(e["bottom-left"]||[0,0]),"bottom-right":t.pointGeometry.convert(e["bottom-right"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return vn(new t.pointGeometry(0,0))}const bn={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:class extends Yr{constructor(e){var i;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},nn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new ir(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new en,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},rn,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(i=e.pixelRatio)&&void 0!==i?i:devicePixelRatio,this._requestManager=new o(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_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))),this.on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),"undefined"!=typeof window&&(addEventListener("online",this._onWindowOnline,!1),addEventListener("resize",this._onWindowResize,!1),addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Kr(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new rr("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Qr({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new tn,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.Event("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=e.onAdd(this);this._controls.push(e);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,r){return null==r&&this.style.terrain&&(r=this.transform.getElevation(i,this.style.terrain)),super.calculateCameraOptionsFromTo(t,e,i,r)}resize(e){const i=this._containerDimensions(),r=i[0],n=i[1];this._resizeCanvas(r,n,this.getPixelRatio()),this.transform.resize(r,n),this.painter.resize(r,n,this.getPixelRatio());const a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this}getPixelRatio(){return this._pixelRatio}setPixelRatio(t){const[e,i]=this._containerDimensions();this._pixelRatio=t,this._resizeCanvas(e,i,t),this.painter.resize(e,i,t)}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),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;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;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)}unproject(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)}isMoving(){return this._moving||this.handlers.isMoving()}isZooming(){return this._zooming||this.handlers.isZooming()}isRotating(){return this._rotating||this.handlers.isRotating()}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let r=!1;const n=n=>{const a=this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[];a.length?r||(r=!0,i.call(this,new pr(t,this,n.originalEvent,{features:a}))):r=!1};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:()=>{r=!1}}}}if("mouseleave"===t||"mouseout"===t){let r=!1;const n=n=>{(this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?r=!0:r&&(r=!1,i.call(this,new pr(t,this,n.originalEvent)))},a=e=>{r&&(r=!1,i.call(this,new pr(t,this,e.originalEvent)))};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:a}}}{const r=t=>{const r=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layer:e,listener:i,delegates:{[t]:r}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const r=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r);for(const n in r.delegates)this.on(n,r.delegates[n]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const r=this._createDelegatedListener(t,e,i);for(const n in r.delegates)this.once(n,r.delegates[n]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(r=>{const n=this._delegatedListeners[t];for(let t=0;t{e?this.fire(new t.ErrorEvent(e)):r&&this._updateDiff(r,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0)}catch(r){t.warnOnce(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`)))}setTerrain(t){return this.style.setTerrain(t),this}getTerrain(){return this.style.terrain&&this.style.terrain.options}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:r=1,sdf:n=!1,stretchX:a,stretchY:o,content:s}={}){if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){const{width:l,height:c,data:h}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},h),pixelRatio:r,stretchX:a,stretchY:o,content:s,sdf:n,version:0})}else{if(void 0===i.width||void 0===i.height)return this.fire(new t.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`")));{const{width:l,height:c,data:h}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(h)),pixelRatio:r,stretchX:a,stretchY:o,content:s,sdf:n,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}}}updateImage(e,i){const r=this.style.getImage(e);if(!r)return this.fire(new t.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 HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,{width:a,height:o,data:s}=n;if(void 0===a||void 0===o)return this.fire(new t.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`")));if(a!==r.data.width||o!==r.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));r.data.replace(s,l),this.style.updateImage(e,r)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,r={}){return this.style.setPaintProperty(t,e,i,r),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,r={}){return this.style.setLayoutProperty(t,e,i,r),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map","mapboxgl-map");const e=this._canvasContainer=a.create("div","maplibregl-canvas-container mapboxgl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive","mapboxgl-interactive"),this._canvas=a.create("canvas","maplibregl-canvas mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");const i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());const r=this._controlContainer=a.create("div","maplibregl-control-container mapboxgl-control-container",t),n=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{n[t]=a.create("div",`maplibregl-ctrl-${t} mapboxgl-ctrl-${t}`,r)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_setupCooperativeGestures(){const t=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=a.create("div","maplibregl-cooperative-gesture-screen",t);let e="Control",i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";0===navigator.platform.indexOf("Mac")&&(i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use \u2318 + scroll to zoom the map",e="Meta"),this._cooperativeGesturesScreen.innerHTML=`\n
${i}
\n
${"boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map"}
\n `,document.addEventListener("keydown",(t=>{t.key===e&&(this._metaPress=!0)})),document.addEventListener("keyup",(t=>{t.key===e&&(this._metaPress=!1)})),this._canvasContainer.addEventListener("wheel",(t=>{this._onCooperativeGesture(t,this._metaPress,1)}),!1),this._canvasContainer.classList.remove("mapboxgl-touch-drag-pan","maplibregl-touch-drag-pan")}_resizeCanvas(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl",i)||this._canvas.getContext("experimental-webgl",i);r?(this.painter=new Yi(r,this.transform),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}_onCooperativeGesture(t,e,i){return!e&&i<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove("maplibregl-show")}),100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(e){let i,r=0;const n=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(i=n.createQueryEXT(),n.beginQueryEXT(n.TIME_ELAPSED_EXT,i),r=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=t.exported.now();this.style.zoomHistory.update(e,i);const r=new t.EvaluationParameters(e,{now:i,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(a=!0,this._crossFadingFactor=n),this.style.update(r)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){const e=t.exported.now()-r;n.endQueryEXT(n.TIME_ELAPSED_EXT,i),setTimeout((()=>{const r=n.getQueryObjectEXT(i,n.QUERY_RESULT_EXT)/1e6;n.deleteQueryEXT(i),this.fire(new t.Event("gpu-timing-frame",{cpuTime:e,gpuTime:r}))}),50)}if(this.listens("gpu-timing-layer")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event("gpu-timing-layer",{layerTimes:i}))}),50)}const o=this._sourcesDirty||this._styleDirty||this._placementDirty;return o||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),!this._loaded||this._fullyLoaded||o||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&(removeEventListener("resize",this._onWindowResize,!1),removeEventListener("orientationchange",this._onWindowResize,!1),removeEventListener("online",this._onWindowOnline,!1));const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),a.remove(this._canvasContainer),a.remove(this._controlContainer),this._cooperativeGestures&&a.remove(this._cooperativeGesturesScreen),this._container.classList.remove("maplibregl-map","mapboxgl-map"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event("remove"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.exported.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e)})))}_onWindowOnline(){this._update()}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update()}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}_setCacheLimits(e,i){t.setCacheLimits(e,i)}get version(){return"2.4.0"}},NavigationControl:class{constructor(e){this.options=t.extend({},an,e),this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("maplibregl-ctrl-compass mapboxgl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",i.toString())}_rotateCompassArrow(){const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new on(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){a.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const i=a.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}_setButtonTitle(t,e){const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({},un,e),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}onAdd(t){var e;return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),e=this._setupUI,void 0!==pn?e(pn):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then((t=>{pn="denied"!==t.state,e(pn)})):(pn=!!window.navigator.geolocation,e(pn)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),a.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,dn=0,mn=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_onSuccess(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,n=this._map.getBearing(),a=t.extend({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),a,{geolocateSource:!0})}_updateMarker(e){if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),r=e.distanceTo(i),n=Math.ceil(2*this._accuracy/r);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&mn)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(e){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=a.create("button","maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate",this._container),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","maplibregl-user-location-dot mapboxgl-user-location-dot"),this._userLocationDotMarker=new hn(this._dotElement),this._circleElement=a.create("div","maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new hn({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",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}trigger(){if(!this._setup)return t.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 t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":dn--,mn=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),dn++,dn>1?(t={maximumAge:6e5,timeout:0},mn=!0):(t=this.options.positionOptions,mn=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Qr,LogoControl:tn,ScaleControl:class{constructor(e){this.options=t.extend({},fn,e),t.bindAll(["_onMove","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_onMove(){gn(this._map,this._container,this.options)}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}setUnit(t){this.options.unit=t,gn(this._map,this._container,this.options)}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){a.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=a.create("button","maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen",this._controlContainer);a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},TerrainControl:class{constructor(e){this.options=e,t.bindAll(["_toggleTerrain","_updateTerrainIcon"],this)}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._terrainButton=a.create("button","maplibregl-ctrl-terrain mapboxgl-ctrl-terrain",this._container),a.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){a.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}_toggleTerrain(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()}_updateTerrainIcon(){this._terrainButton.classList.remove("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._map.style.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"))}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(yn),e),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}remove(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer","mapboxgl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=t;r=i.firstChild,r;)e.appendChild(r);return this.setDOMContent(e)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=a.create("div","maplibregl-popup-content mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t)}removeClassName(t){this._container&&this._container.classList.remove(t)}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=a.create("button","maplibregl-popup-close-button mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_onMouseUp(t){this._update(t.point)}_onMouseMove(t){this._update(t.point)}_onDrag(t){this._update(t.point)}_update(t){if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(this._container||(this._container=a.create("div","maplibregl-popup mapboxgl-popup",this._map.getContainer()),this._tip=a.create("div","maplibregl-popup-tip mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((t=>this._container.classList.add(t))),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=sn(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let i=this.options.anchor;const r=vn(this.options.offset);if(!i){const t=this._container.offsetWidth,n=this._container.offsetHeight;let a;a=e.y+r.bottom.ythis._map.transform.height-n?["bottom"]:[],e.xthis._map.transform.width-t/2&&a.push("right"),i=0===a.length?"bottom":a.join("-")}const n=e.add(r[i]).round();a.setTransform(this._container,`${ln[i]} translate(${n.x}px,${n.y}px)`),cn(this._container,i,"popup")}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(xn);t&&t.focus()}_onClose(){this.remove()}},Marker:hn,Style:ee,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:k,GeoJSONSource:I,ImageSource:C,RasterDEMTileSource:S,RasterTileSource:T,VectorTileSource:w,VideoSource:A,prewarm:function(){Z().acquire(N)},clearPrewarmedResources:function(){const t=q;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(N),q=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 version(){return"2.4.0"},get workerCount(){return $.workerCount},set workerCount(t){$.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage(e){t.clearTileCache(e)},workerUrl:"",addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i},removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e]}};return Jr.extend(bn,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),bn})),i}()}}]); \ No newline at end of file diff --git a/public/build/index.html b/public/build/index.html new file mode 100644 index 0000000..5fe837a --- /dev/null +++ b/public/build/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..731421b --- /dev/null +++ b/public/index.html @@ -0,0 +1,23 @@ + + + + + Local Services Lookup + + + + + + + + +

Please turn on javascript to use this feature. Thanks!

+
+ + + + + + + + diff --git a/src/components/D6BusinessMap.js b/src/components/D6BusinessMap.js new file mode 100644 index 0000000..b5f9a45 --- /dev/null +++ b/src/components/D6BusinessMap.js @@ -0,0 +1,120 @@ +'use strict'; +import Display from './Display'; +import DataLoader from './DataLoader'; +import testData from './test-data.json'; +// import Map from './Map'; +customElements.define('app-display', Display); +customElements.define('app-data-loader', DataLoader); +// customElements.define('app-map', Map); + +export default class D6BusinessMap extends HTMLElement { + static get observedAttributes() { + return ['data-app-state', 'data-parcel-id', 'data-map-state']; + } + + constructor() { + // Always call super first in constructor + super(); + + // Create a shadow root + const shadow = this.attachShadow({ mode: 'open' }); + + // Create result section + const app = document.getElementsByTagName('d6-business-map'); + let tempState = app[0].getAttribute('data-app-state'); + + this.testData = testData; + + this.appWrapper = document.createElement('section'); + this.appWrapper.id = 'app-wrapper'; + + shadow.appendChild(this.appWrapper); + + // create panel component + this.panel = document.createElement('cod-offcanvas'); + this.panel.id = 'd6-map-panel'; + this.panelHeader = document.createElement('cod-offcanvas-header'); + this.panelTitle = document.createElement('h5'); + this.panelTitle.innerText = 'Test Title'; + this.panelHeader.appendChild(this.panelTitle); + + this.panelBody = document.createElement('cod-offcanvas-body'); + this.panelContent = document.createElement('article'); + this.panelContent.innerHTML = ` +

+ Some text as placeholder. In real life you can have the elements you + have chosen. Like, text, images, lists, etc. +

+ `; + this.panelBody.appendChild(this.panelContent); + + this.panel.appendChild(this.panelHeader); + this.panel.appendChild(this.panelBody); + this.appWrapper.appendChild(this.panel); + + // Create map component + this.map = document.createElement('cod-map'); + this.map.id = 'd6-map'; + this.map.setAttribute('data-parent-component', 'd6-business-map'); + this.map.setAttribute('data-map-mode', 'map-panel'); + this.map.setAttribute('data-map-active-data', this.getAttribute('data-map-active-data')); + this.map.setAttribute('data-map-data', JSON.stringify(this.testData)); + this. map.setAttribute('data-location', this.getAttribute('data-location')); + this.map.setAttribute('data-map-state', 'init'); + this.appWrapper.appendChild(this.map); + } + + attributeChangedCallback(name, oldValue, newValue) { + console.log(`App - attribute: ${name}, old: ${oldValue}, new: ${newValue}`); + this.loadApp(this); + } + + clearApp(app) { + console.log(app); + const shadow = app.shadowRoot; + while (shadow.firstChild) { + shadow.removeChild(shadow.firstChild); + } + } + + clearPanel(app) { + + } + + loadApp(app) { + console.log(app.getAttribute('data-app-state')); + const shadow = app.shadowRoot; + const appWrapper = document.createElement('div'); + appWrapper.id = 'app-wrapper'; + const dataLoader = document.createElement('app-data-loader'); + switch (app.getAttribute('data-app-state')) { + case 'active-panel': + let tempData = JSON.parse(this.getAttribute('data-panel-data')); + this.panelTitle.innerText = tempData.properties.business_name; + this.panelContent.innerHTML = ` +

Address: ${tempData.properties.street_number} ${tempData.properties.street_name} +

Information

+

Home services

+

Services

+ `; + this.panel.setAttribute('data-show', 'true'); + break; + + case 'error': + display.setAttribute('data-display-type', 'error'); + appWrapper.appendChild(display); + break; + + case 'print': + display.setAttribute('data-display-type', 'print'); + appWrapper.appendChild(display); + break; + + default: + break; + } + if (shadow.firstChild == null) { + shadow.appendChild(appWrapper); + } + } +} diff --git a/src/components/DataLoader.js b/src/components/DataLoader.js new file mode 100644 index 0000000..5945d7e --- /dev/null +++ b/src/components/DataLoader.js @@ -0,0 +1,866 @@ +'use strict'; +const turf = require('@turf/turf'); +const arcGIS = require('terraformer-arcgis-parser'); + +export default class DataLoader extends HTMLElement { + static get observedAttributes() { + return ['data-loader-state', 'data-parcel-id']; + } + + constructor() { + // Always call super first in constructor + super(); + + // Create a shadow root + const shadow = this.attachShadow({ mode: 'open' }); + + // Create result section + const loaderWrapper = document.createElement('section'); + loaderWrapper.id = 'loader-wrapper'; + shadow.appendChild(loaderWrapper); + } + + attributeChangedCallback(name, oldValue, newValue) { + const shadow = this.shadowRoot; + // console.log(`Loader - attribute: ${name}, old: ${oldValue}, new: ${newValue}`); + switch (name) { + case 'data-loader-state': + this.clearLoader(this); + this.loadLoader(this); + break; + + default: + break; + } + } + + getDataSets(loader) { + const app = document.getElementsByTagName('my-home-info'); + const dataSets = app[0].getAttribute('data-active-sets').split(','); + const parcelData = JSON.parse(app[0].getAttribute('data-parcel-id')); + let dataList = []; + + let assessorsData = new Promise((resolve, reject) => { + if (parcelData.attributes.parcel_id == 'CONDO BUILDING') { + resolve({ "id": "assessors-data", "data": null }); + } else { + let url = "https://apis.detroitmi.gov/assessments/parcel/" + parcelData.attributes.parcel_id + "/"; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "assessors-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + } + }); + + let neighborhoods = new Promise((resolve, reject) => { + resolve({ "id": "neighborhood", "data": parcelData }); + }); + + let council = new Promise((resolve, reject) => { + return resolve({ "id": "council", "data": parcelData }); + }); + let bopMembers = new Promise((resolve, reject) => { + let url = "/rest/bop?_format=json"; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "bop-members", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let districtManagers = new Promise((resolve, reject) => { + let url = "/rest/district-managers?_format=json"; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "district-managers", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let districtInspectors = new Promise((resolve, reject) => { + let url = "/rest/district-inspectors?_format=json"; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "district-inspectors", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let councilMembers = new Promise((resolve, reject) => { + let url = "/rest/council-members?_format=json"; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "council-members", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let DWSDBackupProtection = new Promise((resolve, reject) => { + resolve({ "id": "DWSDBackupProtection", "data": parcelData }); + }); + let HRDFlooding = new Promise((resolve, reject) => { + resolve({ "id": "HRDFlooding", "data": parcelData }); + }); + let nrsa = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/NRSA_2020/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=` + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "nrsa", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let nezHomestead = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/NEZHOMESTEAD2021/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=` + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "nez", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let permitData = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/BuildingPermits/FeatureServer/0/query?where=parcel_id+%3D+%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=3&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "permit-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let rentalData = new Promise((resolve, reject) => { + let url; + if (parcelData.attributes.parcel_id != 'CONDO BUILDING') { + url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/RentalStatuses/FeatureServer/0/query?where=parcel_id+%3D+%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json`; + } else { + url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/RentalStatuses/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C+${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIndexIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&gdbVersion=&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&multipatchOption=&resultOffset=&resultRecordCount=&f=json`; + } + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "rental-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let rentalCertData = new Promise((resolve, reject) => { + let url; + if (parcelData.attributes.parcel_id != 'CONDO BUILDING') { + url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/active_cofc/FeatureServer/0/query?where=parcel_id%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=1&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json`; + } else { + url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/active_cofc/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C+${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIndexIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&gdbVersion=&returnDistinctValues=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&multipatchOption=&resultOffset=&resultRecordCount=&f=json`; + } + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "rental-cert-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let blightData = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Blight_Violations_(DAH)/FeatureServer/0/query?where=parcelno%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=violation_date&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=2&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "blight-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let salesHistoryData = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Property_Sales/FeatureServer/0/query?where=PARCEL_NO%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=SALE_DATE&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=2&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "sales-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let demosData = new Promise((resolve, reject) => { + let point = turf.point([parcelData.location.x, parcelData.location.y]); + let buffer = turf.buffer(point, 2, { units: 'miles' }); + let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false }); + let arcsimplePolygon = arcGIS.convert(simplePolygon); + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Demolitions_under_Contract/FeatureServer/0/query?where=&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=geojson`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + data.features.sort(loader.sortFeaturesByDistanceTo(point)); + resolve({ "id": "demos-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let stabilizationData = new Promise((resolve, reject) => { + let point = turf.point([parcelData.location.x, parcelData.location.y]); + let buffer = turf.buffer(point, 2, { units: 'miles' }); + let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false }); + let arcsimplePolygon = arcGIS.convert(simplePolygon); + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Contracted_Stabilizations/FeatureServer/0/query?where=&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=3&f=geojson`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + data.features.sort(loader.sortFeaturesByDistanceTo(point)); + resolve({ "id": "stabilization-data", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let demoStatus = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/Demolitions_under_Contract/FeatureServer/0/query?where=parcel_id+%3D+%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=demolish_by_date&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=1&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "demo-status", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let schools = new Promise((resolve, reject) => { + let point = turf.point([parcelData.location.x, parcelData.location.y]); + let buffer = turf.buffer(point, 2, { units: 'miles' }); + let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false }); + let arcsimplePolygon = arcGIS.convert(simplePolygon); + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/2018_2019_Schools_(EEM)/FeatureServer/0/query?where=&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=geojson`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + data.features.sort(loader.sortFeaturesByDistanceTo(point)); + resolve({ "id": "schools", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let npo = new Promise((resolve, reject) => { + let url = `https://opengis.detroitmi.gov/opengis/rest/services/PublicSafety/NeighborhoodPoliceOfficers/FeatureServer/0/query?where=&objectIds=&time=&geometry=${parcelData.location.x}%2C${parcelData.location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=1&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=4326&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "npo", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let improveDet = new Promise((resolve, reject) => { + let point = turf.point([parcelData.location.x, parcelData.location.y]); + let buffer = turf.buffer(point, 300, { units: 'meters' }); + let simplePolygon = turf.simplify(buffer.geometry, { tolerance: 0.005, highQuality: false }); + let arcsimplePolygon = arcGIS.convert(simplePolygon); + let url = `https://opengis.detroitmi.gov/opengis/rest/services/DoIT/ImproveDetroitIssues/FeatureServer/0/query?where=status+%3C%3E+%27Closed%27+and+status+%3C%3E+%27Archived%27&objectIds=&time=&geometry=${encodeURI(JSON.stringify(arcsimplePolygon))}&geometryType=esriGeometryPolygon&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=3&f=geojson`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "improve-det", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let recycling = new Promise((resolve, reject) => { + let url = "https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/WasteCollectionAreas/FeatureServer/0/query?where=&text=&objectIds=&time=&geometry=" + parcelData.location.x + "%2C+" + parcelData.location.y + "&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=json"; + fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + let today = new Date(); + let todaysMonth = today.getMonth() + 1; + let todaysYear = today.getFullYear(); + let url = `https://apis.detroitmi.gov/waste_schedule/details/${data.features[0].attributes.FID}/year/${todaysYear}/month/${todaysMonth}/`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "recycling", "data": data }); + }); + }).catch(err => { + // console.log(err); + }); + }); + let historicDistrict = new Promise((resolve, reject) => { + let url = "https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/Detroit_Local_Historic_Districts/FeatureServer/0/query?where=&text=&objectIds=&time=&geometry=" + parcelData.location.x + "%2C+" + parcelData.location.y + "&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&relationParam=&outFields=*&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=json"; + fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "historicDistrict", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + let fireEscrow = new Promise((resolve, reject) => { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/fie_properties_final/FeatureServer/0/query?where=parcel_id%3D%27${parcelData.attributes.parcel_id}%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnHiddenFields=false&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=json&token=`; + return fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + resolve({ "id": "fireEscrow", "data": data }); + }).catch(err => { + // console.log(err); + }); + }); + dataSets.forEach(f => { + switch (f) { + case 'council': + dataList.push(council); + break; + + case 'neighborhood': + dataList.push(neighborhoods); + break; + + case 'assessors-data': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + if (parcelData.attributes.parcel_id == 'CONDO BUILDING') { + } else { + dataList.push(assessorsData); + } + } + break; + + case 'permit-data': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + dataList.push(permitData); + } + break; + + case 'blight-data': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + dataList.push(blightData); + } + break; + + case 'salesHistoryData': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + dataList.push(salesHistoryData); + } + break; + + case 'fireEscrow': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + dataList.push(fireEscrow); + } + break; + + case 'nez': + dataList.push(nezHomestead); + break; + + case 'nrsa': + dataList.push(nrsa); + break; + + case 'npo': + dataList.push(npo); + break; + + case 'improve-det': + dataList.push(improveDet); + break; + + case 'recycling': + dataList.push(recycling); + break; + + case 'rental-data': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + dataList.push(rentalData); + } + break; + + case 'rental-cert': + dataList.push(rentalCertData); + break; + + case 'demo-status': + if (parcelData.attributes.parcel_id != null && parcelData.attributes.parcel_id != '') { + dataList.push(demoStatus); + } + break; + + case 'demos-data': + dataList.push(demosData); + break; + + case 'stabilization-data': + dataList.push(stabilizationData); + break; + + case 'schools': + dataList.push(schools); + break; + + case 'historicDistrict': + dataList.push(historicDistrict); + break; + + case 'district-managers': + dataList.push(districtManagers); + break; + + case 'district-inspectors': + dataList.push(districtInspectors); + break; + + case 'council-members': + dataList.push(councilMembers); + break; + + case 'bop-members': + dataList.push(bopMembers); + break; + + case 'HRDFlooding': + console.log('pushing HRDFlooding'); + dataList.push(HRDFlooding); + break; + + default: + break; + } + }); + return dataList; + } + + buildCouncilData(data) { + let councilData = { + council: { + district: `District ${data.council.data.attributes.council_district}`, + districtURL: null, + name: null, + url: null, + phone: null + }, + bop: { + district: `District ${data.council.data.attributes.council_district}`, + url: null, + name: null, + url: null, + phone: null, + email: null + }, + dmanager: { + name: null, + url: `/departments/department-of-neighborhoods/district-${data.council.data.attributes.council_district}#block-views-block-contacts-special-block-1`, + phone: null + }, + ddmanager: { + name: null, + url: `/departments/department-of-neighborhoods/district-${data.council.data.attributes.council_district}#block-views-block-contacts-special-block-1`, + phone: null + }, + bliaision: { + name: null, + email: null + }, + enforcement: { + name: null, + phone: null + } + }; + switch (data.council.data.attributes.council_district.toString()) { + case "1": + councilData.council.districtURL = `/taxonomy/term/1276`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1276') { + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1276`; + councilData.council.phone = item.field_phone; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 1')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4331`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 1 Manager')) { + councilData.dmanager.name = item.title; + councilData.dmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 1 Deputy Manager')) { + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 1 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 1')) { + councilData.enforcement.name = item.title; + councilData.enforcement.phone = item.field_telephone; + } + }); + break; + + case "2": + councilData.council.districtURL = `/taxonomy/term/1476`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1476') { + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1476`; + councilData.council.phone = item.field_phone; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 2')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4336`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 2 Manager')) { + councilData.dmanager.name = item.title; + councilData.dmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 2 Deputy Manager')) { + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 2 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 2')) { + councilData.enforcement.name = item.title; + councilData.enforcement.phone = item.field_telephone; + } + }); + break; + + case "3": + councilData.council.districtURL = `/taxonomy/term/1481`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1481') { + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1481`; + councilData.council.phone = item.field_phone; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 3')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4341`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 3 Manager')) { + councilData.dmanager.name = item.title; + councilData.dmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 3 Deputy Manager')) { + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 3 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 3')) { + councilData.enforcement.name = item.title; + councilData.enforcement.phone = item.field_telephone; + } + }); + break; + + case "4": + councilData.council.districtURL = `/taxonomy/term/1486`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1486') { + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1486`; + councilData.council.phone = item.field_phone; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 4')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4346`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 4 Manager')) { + councilData.dmanager.name = item.title; + councilData.dmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 4 Deputy Manager')) { + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 4 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 4')) { + councilData.enforcement.name = item.title; + councilData.enforcement.phone = item.field_telephone; + } + }); + break; + + case "5": + councilData.council.districtURL = `/taxonomy/term/1346`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1346') { + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1346`; + councilData.council.phone = item.field_phone; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 5')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4351`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 5 Manager')) { + councilData.dmanager.name = item.title; + councilData.dmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 5 Deputy Manager')) { + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 5 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 5')) { + councilData.enforcement.name = item.title; + councilData.enforcement.phone = item.field_telephone; + } + }); + break; + + case "6": + councilData.council.districtURL = `/taxonomy/term/1491`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1491') { + let cleanPhone = item.field_phone.replace('Office: ', ''); + cleanPhone = cleanPhone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1491`; + councilData.council.phone = `${item.field_phone}`; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 6')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4321`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 6 Manager')) { + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.dmanager.name = item.title; + councilData.dmanager.phone = `${item.field_telephone}`; + } + if (item.field_contact_position.includes('District 6 Deputy Manager')) { + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = `${item.field_telephone}`; + } + if (item.field_contact_position.includes('District 6 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 6')) { + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.enforcement.name = item.title; + councilData.enforcement.phone = `${item.field_telephone}`; + } + }); + break; + + case "7": + councilData.council.districtURL = `/taxonomy/term/1511`; + data['council-members'].data.forEach((item) => { + if (item.tid == '1511') { + councilData.council.name = item.field_organization_head_name; + councilData.council.url = `/taxonomy/term/1511`; + councilData.council.phone = item.field_phone; + } + }); + data['bop-members'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 7')) { + councilData.bop.name = item.title; + councilData.bop.url = `/taxonomy/term/4356`; + let cleanPhone = item.field_telephone.replace(/ /g, '-'); + cleanPhone = cleanPhone.replace(/[()]/g, ''); + councilData.bop.phone = `${item.field_telephone}`; + councilData.bop.email = item.field_email_address; + } + }); + data['district-managers'].data.forEach((item) => { + if (item.field_contact_position.includes('District 7 Manager')) { + councilData.dmanager.name = item.title; + councilData.dmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 7 Deputy Manager')) { + councilData.ddmanager.name = item.title; + councilData.ddmanager.phone = item.field_telephone; + } + if (item.field_contact_position.includes('District 7 Business Liaison')) { + councilData.bliaision.name = item.title; + councilData.bliaision.email = item.field_email_address; + } + }); + data['district-inspectors'].data.forEach((item) => { + if (item.field_responsibilities.includes('District 7')) { + councilData.enforcement.name = item.title; + councilData.enforcement.phone = item.field_telephone; + } + }); + break; + + default: + // console.log('not inside city'); + break; + } + return councilData; + } + + sortFeaturesByDistanceTo(target){ + return function(a, b) { + var options = {units: 'radians'}; // using radians to forgo conversion to another unit + return turf.distance(target, a, options) - turf.distance(target, b, options); + } + } + + getData(loader) { + const app = document.getElementsByTagName('my-home-info'); + const activeDataSets = app[0].getAttribute('data-active-sets').split(','); + const parcelData = JSON.parse(app[0].getAttribute('data-parcel-id')); + const storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets')); + let dataAlreadyLoaded = false; + for (let key in storedData) { + if (activeDataSets.includes(key)) { + dataAlreadyLoaded = true; + } + } + if (dataAlreadyLoaded) { + let dataSets = {}; + activeDataSets.forEach(data => { + dataSets[data] = storedData[data]; + }); + app[0].setAttribute('data-api-active-datasets', JSON.stringify(dataSets)); + app[0].setAttribute('data-app-state', 'results'); + } else { + let dataList = loader.getDataSets(loader); + Promise.all(dataList).then(values => { + console.log(values); + let dataSets = {}; + for (let key in values) { + if (values[key] != null) { + dataSets[values[key].id] = values[key]; + } else { + initialLoadChecker = false; + } + } + if (activeDataSets.includes('council')) { + let councilData = loader.buildCouncilData(dataSets); + dataSets['council-members'] = { id: 'council-members', data: councilData.council }; + dataSets['bop-members'] = { id: 'bop-members', data: councilData.bop }; + let dManagers = { manager: councilData.dmanager, deputy: councilData.ddmanager } + dataSets['district-managers'] = { id: 'district-managers', data: dManagers }; + dataSets['business-liaison'] = { id: 'business-liaison', data: councilData.bliaision }; + dataSets['district-inspectors'] = { id: 'district-inspectors', data: councilData.enforcement }; + } + if (activeDataSets.includes('DWSDBackupProtection')) { + try { + if (!dataSets.DWSDBackupProtection) { + dataSets.DWSDBackupProtection = { id: 'DWSDBackupProtection', data: dataSets['neighborhood'].data }; + } + } catch (error) { + // console.log(error); + } + } + app[0].setAttribute('data-api-active-datasets', JSON.stringify(dataSets)); + app[0].setAttribute('data-app-state', 'results'); + }).catch(reason => { + // console.log(reason); + }); + } + } + + clearLoader(loader) { + const shadow = loader.shadowRoot; + while (shadow.firstChild) { + shadow.removeChild(shadow.firstChild); + } + } + + loadLoader(loader) { + const shadow = loader.shadowRoot; + const loaderWrapper = document.createElement('section'); + loaderWrapper.id = 'loader-wrapper'; + switch (loader.getAttribute('data-loader-state')) { + case 'active': + loader.getData(loader); + const textWelcome = document.createElement('p'); + textWelcome.innerText = 'Loading DATA'; + loaderWrapper.appendChild(textWelcome); + shadow.appendChild(loaderWrapper); + break; + + case 'finished': + const text = document.createElement('p'); + text.innerText = 'Data loaded'; + loaderWrapper.appendChild(text); + shadow.appendChild(loaderWrapper); + break; + + default: + + break; + } + } +} diff --git a/src/components/Display.js b/src/components/Display.js new file mode 100644 index 0000000..bca37da --- /dev/null +++ b/src/components/Display.js @@ -0,0 +1,179 @@ +'use strict'; +import Geocoder from './Geocoder'; +import NavigationTools from './NavigationTools'; +customElements.define('app-geocoder', Geocoder); +customElements.define('app-nav-tools', NavigationTools); +export default class Display extends HTMLElement { + + constructor() { + // Always call super first in constructor + super(); + + // Create a shadow root + const shadow = this.attachShadow({ mode: 'open' }); + + shadow.innerHTML = ` + + +
Offcanvas
+
+ +

+ Some text as placeholder. In real life you can have the elements you + have chosen. Like, text, images, lists, etc. +

+
+
+ `; + } + + attributeChangedCallback(name, oldValue, newValue) { + // console.log(`Display - attribute: ${name}, old: ${oldValue}, new: ${newValue}`); + if (newValue == 'data-panel-data') { + this.clearDisplay(this); + } + if (name == 'data-pagination'){ + this.clearDisplay(this); + } + this.loadDisplay(this); + } + + clearDisplay(display) { + const shadow = display.shadowRoot; + while (shadow.firstChild) { + shadow.removeChild(shadow.firstChild); + } + } + + formatDate(value) { + const month = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + const tempDate = new Date(value); + return `${month[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getFullYear()}`; + } + + printInfo(display) { + let divContents = display.buildDataSection(display); + let a = window.open('', '', 'height=500, width=500'); + a.document.write(''); + a.document.write(''); + a.document.write(''); + a.document.write(divContents.children[1].innerHTML); + a.document.write(''); + a.document.close(); + a.print(); + } + + loadDisplay(display) { + const shadow = display.shadowRoot; + const displayWrapper = document.createElement('section'); + const geocoder = document.createElement('app-geocoder'); + const navTools = document.createElement('app-nav-tools'); + const app = document.getElementsByTagName('my-home-info'); + navTools.printInfo = display.printInfo; + displayWrapper.id = 'display-wrapper'; + switch (this.getAttribute('data-display-type')) { + case 'active-panel': + console.log('loading panel'); + let data = JSON.parse(this.getAttribute('data-panel-data')); + let panel = document.createElement('cod-offcanvas'); + panel.id = 'd6-map-panel'; + panel.setAttribute('data-show', 'true'); + let panelHeader = document.createElement('cod-offcanvas-header'); + let panelBody = document.createElement('cod-offcanvas-body'); + + panelHeader.innerHTML = `
${data.properties.business_name}`; + panelBody.innerHTML = ` +

Address: ${data.properties.address}

+

Phone: ${data.properties.business_phone_number}

+

Website: ${data.properties.business_phone_website}

+ `; + panel.appendChild(panelHeader); + panel.appendChild(panelBody); + displayWrapper.appendChild(panel); + shadow.appendChild(displayWrapper); + console.log(panel); + break; + + case 'active': + shadow.appendChild(display.welcomeStyle); + displayWrapper.appendChild(geocoder); + shadow.appendChild(displayWrapper); + break; + + case 'loading': + const loader = document.createElement('cod-loader'); + loader.setAttribute('data-color', 'color-3'); + displayWrapper.appendChild(loader); + shadow.appendChild(displayWrapper); + break; + + case 'results': + let parcelData = JSON.parse(app[0].getAttribute('data-parcel-id')); + shadow.appendChild(display.resultsStyle); + let resultsContainer = document.createElement('section'); + resultsContainer.className = 'results-container'; + resultsContainer.appendChild(navTools); + let dataSetResults = document.createElement('article'); + dataSetResults.className = 'dataset-results'; + let addressBox = document.createElement('article'); + addressBox.className = 'result-address'; + addressBox.innerText = parcelData.address; + dataSetResults.appendChild(addressBox); + let results = display.buildDataSection(display); + dataSetResults.appendChild(results); + resultsContainer.appendChild(dataSetResults); + displayWrapper.appendChild(resultsContainer); + shadow.appendChild(displayWrapper); + break; + + case 'error': + let errorContainer = document.createElement('section'); + shadow.appendChild(display.resultsStyle); + errorContainer.className = 'results-container'; + errorContainer.appendChild(navTools); + let errorBox = document.createElement('article'); + errorBox.className = 'error-result'; + errorBox.innerHTML = ` + + + + + + + + + + +

No Information found on this address. Please close and try again.

+ `; + errorContainer.appendChild(errorBox); + displayWrapper.appendChild(errorContainer); + shadow.appendChild(displayWrapper); + break; + + case 'print': + let printParcelData = JSON.parse(app[0].getAttribute('data-parcel-id')); + shadow.appendChild(display.resultsStyle); + let printResultsContainer = document.createElement('section'); + printResultsContainer.className = 'results-container'; + printResultsContainer.appendChild(navTools); + let printDataSetResults = document.createElement('article'); + printDataSetResults.className = 'dataset-results'; + let printAddressBox = document.createElement('article'); + printAddressBox.className = 'result-address'; + printAddressBox.innerText = printParcelData.address; + printDataSetResults.appendChild(printAddressBox); + let printResults = display.buildDataSection(display); + printDataSetResults.appendChild(printResults); + printResultsContainer.appendChild(printDataSetResults); + displayWrapper.appendChild(printResultsContainer); + shadow.appendChild(displayWrapper); + display.printInfo(display); + break; + + default: + break; + } + } + +} diff --git a/src/components/Geocoder.js b/src/components/Geocoder.js new file mode 100644 index 0000000..a52582e --- /dev/null +++ b/src/components/Geocoder.js @@ -0,0 +1,271 @@ +'use strict'; +export default class Geocoder extends HTMLElement { + + static get observedAttributes() { + return ['form', 'parcelStatus', 'user']; + } + + constructor() { + // Always call super first in constructor + super(); + + // Set Attributes + this.form = null; + this.parcelStatus = 'Invalid'; + this.user = null; + this.styles = document.createElement('style'); + this.styles.textContent = ` + @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;700&display=swap') + #geocoder {width: 100%} + input {width: calc(100% - 2em); padding: 1em; border:.1em solid #e6e6e6; font-size: 1em;} + `; + + // Create a shadow root + const shadow = this.attachShadow({ mode: 'open' }); + + // Create geocoder section + shadow.appendChild(this.styles); + const geocoderWraper = document.createElement('article'); + geocoderWraper.id = 'geocoder'; + let form = document.createElement('form'); + let label = document.createElement('label'); + label.style.fontFamily = 'Montserrat, sans-serif'; + label.style.fontWeight = 'bold'; + let input = document.createElement('input'); + let suggestions = document.createElement('ul'); + let list = document.createElement('datalist'); + let icon = document.createElement('i'); + form.addEventListener('submit', (ev) => { + this.submit(ev, this); + }); + icon.className = 'fas fa-map-marker-alt'; + // Get label text + const app = document.getElementsByTagName('my-home-info'); + label.innerText = "Property Address:"; + try { + if (app[0].getAttribute('data-geocoder-label')){ + if(app[0].getAttribute('data-geocoder-label') != ''){ + label.innerText = app[0].getAttribute('data-geocoder-label'); + } + } + } catch (error) { + + } + label.setAttribute("for", "geocoder-input"); + input.type = 'text'; + input.setAttribute('list', 'addresses-list'); + input.placeholder = 'Enter address'; + input.setAttribute('id', 'geocoder-input'); + input.setAttribute('autocomplete', 'off'); + input.addEventListener('keyup', (ev) => { + this.inputChange(ev, this); + }); + list.setAttribute('id', 'addresses-list'); + + + form.appendChild(label); + form.appendChild(input); + form.appendChild(icon); + // form.appendChild(suggestions); + form.appendChild(list); + this.form = form; + geocoderWraper.appendChild(form); + shadow.appendChild(geocoderWraper); + } + + supplementGeocoder(address, geocoder, type) { + const app = document.getElementsByTagName('my-home-info'); + let tempAddr = address.split(","); + tempAddr = tempAddr[0]; + tempAddr = tempAddr.split(" "); + let newTempAddr = ''; + let size = tempAddr.length; + tempAddr.forEach(function (item, index) { + newTempAddr += item; + ((index < size) && (index + 1) !== size) ? newTempAddr += '+' : 0; + }); + let url = `https://opengis.detroitmi.gov/opengis/rest/services/BaseUnits/BaseUnitGeocoder/GeocodeServer/findAddressCandidates?Address=&Address2=&Address3=&Neighborhood=&City=&Subregion=&Region=&Postal=&PostalExt=&CountryCode=&SingleLine=${newTempAddr}&outFields=*&maxLocations=&matchOutOfRange=true&langCode=&locationType=&sourceCountry=&category=&location=&distance=&searchExtent=&outSR=&magicKey=&f=json`; + + try { + fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + // console.log(data); + if (type === 'suggestions') { + data.candidates.forEach((item) => { + let sugg = document.createElement('option'); + if (item.attributes.parcel_id === '') { + sugg.value = item.address; + sugg.setAttribute('data-parsel', 'no-parcel'); + } else { + sugg.value = `${item.address} RECOMMENDED`; + sugg.setAttribute('data-parsel', item.attributes.parcel_id); + } + + sugg.onclick = (ev) => { + geocoder.selectSuggestion(ev, geocoder); + } + geocoder.form.childNodes[3].appendChild(sugg); + }); + } else { + if (data.candidates.length) { + let url = `https://services2.arcgis.com/qvkbeam7Wirps6zC/arcgis/rest/services/City_of_Detroit_Boundary/FeatureServer/0/query?where=&objectIds=&time=&geometry=${data.candidates[0].location.x}%2C+${data.candidates[0].location.y}&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=4326&returnGeometry=true&returnCentroid=false&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=geojson&token=`; + try { + fetch(url) + .then((resp) => resp.json()) // Transform the data into json + .then(function (city) { + if (city.features.length) { + let parcel = null; + let location; + data.candidates.forEach((item) => { + if (item.attributes.parcel_id !== '') { + if (geocoder.checkParcelValid(item.attributes.parcel_id)) { + parcel = item; + } + } + }); + (parcel == null) ? location = data.candidates[0].location : location = null; + if (parcel === null) { + geocoder.parcelStatus = 'Invalid'; + geocoder.needGeocode(address, geocoder, location); + geocoder.clearSuggestions(geocoder); + app[0].setAttribute('data-parcel-id', JSON.stringify(data.candidates[0])); + // geocoder.controller.panel.loaderToggle(true); + // geocoder.controller.panel.clearPanel(); + // geocoder.controller.dataManager.buildData(data.candidates[0], geocoder.controller); + } else { + geocoder.parcelStatus = 'Valid'; + geocoder.needGeocode(address, geocoder, location); + geocoder.clearSuggestions(geocoder); + app[0].setAttribute('data-parcel-id', JSON.stringify(parcel)); + // geocoder.controller.panel.loaderToggle(true); + // geocoder.controller.panel.clearPanel(); + // geocoder.controller.dataManager.buildData(parcel, geocoder.controller); + } + } else { + geocoder.parcelStatus = 'Invalid'; + geocoder.needGeocode(address, geocoder, location); + geocoder.clearSuggestions(geocoder); + app[0].setAttribute('data-app-state', 'error'); + } + }); + } catch (error) { + geocoder.parcelStatus = 'Invalid'; + geocoder.needGeocode(address, geocoder, location); + geocoder.clearSuggestions(geocoder); + app[0].setAttribute('data-app-state', 'error'); + } + } else { + geocoder.parcelStatus = 'Invalid'; + geocoder.needGeocode(address, geocoder, location); + geocoder.clearSuggestions(geocoder); + app[0].setAttribute('data-app-state', 'error'); + } + } + }); + } catch (error) { + geocoder.parcelStatus = 'Invalid'; + geocoder.needGeocode(address, geocoder, location); + geocoder.clearSuggestions(geocoder); + app[0].setAttribute('data-app-state', 'error'); + } + } + + selectSuggestion(ev, geocoder) { + let selection = null; + if (ev.target.tagName === 'SPAN') { + selection = ev.target.parentNode; + } else { + selection = ev.target; + } + if (selection.attributes[0].value === 'no-parcel') { + geocoder.clearSuggestions(geocoder); + geocoder.supplementGeocoder(selection.innerText, geocoder, 'submit'); + } else { + geocoder.supplementGeocoder(selection.innerText, geocoder, 'submit'); + } + } + + inputChange(ev, geocoder) { + switch (ev.key) { + case 'Enter': + (ev.target.value != '' && ev.target.value != undefined) ? geocoder.supplementGeocoder(ev.target.value, geocoder, 'submit') : 0; + break; + + case 'ArrowDown': + + break; + + case 'ArrowUp': + + break; + + case 'ArrowRight': + + break; + + case 'ArrowLeft': + + break; + + case undefined: + (ev.target.value != '' && ev.target.value != undefined) ? geocoder.supplementGeocoder(ev.target.value, geocoder, 'submit') : 0; + break; + + default: + geocoder.clearSuggestions(geocoder); + geocoder.supplementGeocoder(ev.target.value, geocoder, 'suggestions'); + break; + } + } + + clearSuggestions(geocoder) { + while (geocoder.form.childNodes[3].firstChild) { + geocoder.form.childNodes[3].removeChild(geocoder.form.childNodes[3].firstChild); + } + } + + needGeocode(address, geocoder, location) { + fetch('https://us-central1-local-services-loopkup.cloudfunctions.net/getToken') + .then((resp) => resp.json()) // Transform the data into json + .then(function (data) { + let cleanAddress = address.split(' RECOMMENDED')[0]; + let params = [ + { + "attributes": { + "valid_parcel_status": geocoder.parcelStatus, + "user_input": cleanAddress + }, + "geometry": { + "x": 0, + "y": 0 + } + } + ]; + if (location != null) { + params[0].geometry.x = location.x; + params[0].geometry.y = location.y; + } + let request = new Request(`https://services2.arcgis.com/qvkbeam7Wirps6zC/ArcGIS/rest/services/addressvalidator/FeatureServer/0/addFeatures?token=${data.access_token}&features=${encodeURIComponent(JSON.stringify(params))}&f=json`, { + method: 'POST', + body: '', + headers: new Headers(), + mode: 'cors', + cache: 'default' + }); + fetch(request) + .then((res) => { + // console.log(res); + }); + }); + } + + checkParcelValid(parcel){ + return /\d/.test(parcel); + } + + submit(ev, geocoder) { + ev.preventDefault(); + geocoder.supplementGeocoder(ev.target['0'].value, geocoder, 'submit'); + } +} \ No newline at end of file diff --git a/src/components/NavigationTools.js b/src/components/NavigationTools.js new file mode 100644 index 0000000..e349d96 --- /dev/null +++ b/src/components/NavigationTools.js @@ -0,0 +1,238 @@ +export default class NavigationTools extends HTMLElement { + + constructor() { + // Always call super first in constructor + super(); + + // Create a shadow root + const shadow = this.attachShadow({ mode: 'open' }); + + // Creating display styles + this.navToolsStyle = document.createElement('style'); + this.navToolsStyle.textContent = ` + #nav-tools-wrapper { display: flex; flex-direction: column;} + button.clear { font-size: 1.25em; width: 2.5em; height: 2.5em; background-color: #FEB70D; cursor: pointer; border: none; } + button.nav { width: 3.75em; height: 3.75em; border: none; cursor: pointer;background: #fff; } + button.nav:hover { background-color: #e6e6e6; transition: all 500ms cubic-bezier(.64,.09,.08,1); } + button.nav.active { background-color: #9fd5b3; } + button.nav img { width: 100%; } + `; + + // Start loading display content + this.loadNavTools(this); + } + + clearDisplay(display) { + const shadow = display.shadowRoot; + while (shadow.firstChild) { + shadow.removeChild(shadow.firstChild); + } + } + + loadNavTools(navTools) { + const app = document.getElementsByTagName('d6-business-map'); + const appStatus = app[0].getAttribute('data-app-state'); + const appMode = app[0].getAttribute('data-app-mode'); + const initialSets = app[0].getAttribute('data-inital-sets'); + const initalMapStatus = app[0].getAttribute('data-initial-map-available'); + const shadow = navTools.shadowRoot; + shadow.appendChild(navTools.navToolsStyle); + const navToolsWrapper = document.createElement('section'); + navToolsWrapper.id = 'nav-tools-wrapper'; + navToolsWrapper.setAttribute('role', 'navigation'); + navToolsWrapper.setAttribute('aria-label', 'Data Navigation'); + const clearResultsBtn = document.createElement('cod-button'); + clearResultsBtn.addEventListener('click', (ev) => { + if (app[0].getAttribute('data-app-mode') == 'my-home-info') { + app[0].setAttribute('data-app-state', 'welcome-screen'); + app[0].setAttribute('data-active-sets', 'assessors-data,neighborhood,recycling,rental-data,rental-cert,demo-status,blight-data,permit-data,DWSDBackupProtection'); + } else { + app[0].setAttribute('data-app-state', 'active-screen'); + app[0].setAttribute('data-active-sets', initialSets); + } + if(initalMapStatus == 'true'){ + app[0].setAttribute('data-map-available', 'true'); + }else{ + app[0].setAttribute('data-map-available', 'false'); + } + app[0].setAttribute('data-parcel-id', 'none'); + app[0].setAttribute('data-api-stored-datasets', '{}'); + app[0].setAttribute('data-api-active-datasets', 'none'); + app[0].setAttribute('data-active-section', 'property'); + }); + clearResultsBtn.setAttribute('data-primary', true); + clearResultsBtn.setAttribute('data-label', 'x'); + clearResultsBtn.setAttribute('data-size', 'lg'); + clearResultsBtn.setAttribute('data-hover', false); + clearResultsBtn.setAttribute('data-extra-classes', 'fw-bold'); + clearResultsBtn.setAttribute('data-background-color', 'warning'); + clearResultsBtn.setAttribute('data-img', ''); + clearResultsBtn.setAttribute('data-img-alt', ''); + clearResultsBtn.setAttribute('data-shape', 'square'); + clearResultsBtn.setAttribute('data-icon', ''); + navToolsWrapper.appendChild(clearResultsBtn); + + if (appMode == 'my-home-info' && appStatus != 'error') { + const propertyDataBtn = document.createElement('cod-button'); + propertyDataBtn.setAttribute('data-label', ''); + propertyDataBtn.setAttribute('data-size', 'lg'); + propertyDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/home.png'); + propertyDataBtn.setAttribute('data-img-alt', 'about this property'); + propertyDataBtn.setAttribute('data-shape', 'square'); + propertyDataBtn.setAttribute('data-nav-value', 'about this property'); + propertyDataBtn.setAttribute('data-icon', ''); + if (app[0].getAttribute('data-active-section') == 'about this property') { + propertyDataBtn.setAttribute('data-background-color', 'success'); + propertyDataBtn.setAttribute('data-primary', true); + } else { + propertyDataBtn.setAttribute('data-background-color', 'secondary'); + propertyDataBtn.setAttribute('data-primary', false); + propertyDataBtn.addEventListener('click', (ev) => { + if (app[0].getAttribute('data-api-active-datasets') != 'none') { + let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets')); + let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets')); + for (const key in activeData) { + if (!(key in storedData)) { + storedData[key] = activeData[key]; + } + } + app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData)); + } + app[0].setAttribute('data-api-active-datasets', 'none'); + app[0].setAttribute('data-active-sets', 'assessors-data,neighborhood,recycling,rental-data,rental-cert,demo-status,blight-data,permit-data,DWSDBackupProtection'); + app[0].setAttribute('data-map-available', 'false'); + app[0].setAttribute('data-active-section', 'about this property'); + app[0].setAttribute('data-app-state', 'loading-screen'); + }) + } + navToolsWrapper.appendChild(propertyDataBtn); + + const govDataBtn = document.createElement('cod-button'); + govDataBtn.setAttribute('data-label', ''); + govDataBtn.setAttribute('data-size', 'lg'); + govDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/government.png'); + govDataBtn.setAttribute('data-img-alt', 'government officials'); + govDataBtn.setAttribute('data-shape', 'square'); + govDataBtn.setAttribute('data-nav-value', 'government officials'); + govDataBtn.setAttribute('data-icon', ''); + if (app[0].getAttribute('data-active-section') == 'government officials') { + govDataBtn.setAttribute('data-background-color', 'success'); + govDataBtn.setAttribute('data-primary', true); + } else { + govDataBtn.setAttribute('data-background-color', 'secondary'); + govDataBtn.setAttribute('data-primary', false); + govDataBtn.addEventListener('click', (ev) => { + if (app[0].getAttribute('data-api-active-datasets') != 'none') { + let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets')); + let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets')); + for (const key in activeData) { + if (!(key in storedData)) { + storedData[key] = activeData[key]; + } + } + app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData)); + } + app[0].setAttribute('data-api-active-datasets', 'none'); + app[0].setAttribute('data-active-sets', 'council,council-members,bop-members,district-managers,business-liaison,district-inspectors,npo'); + app[0].setAttribute('data-map-available', 'false'); + app[0].setAttribute('data-active-section', 'government officials'); + app[0].setAttribute('data-app-state', 'loading-screen'); + }); + } + navToolsWrapper.appendChild(govDataBtn); + + const zoneDataBtn = document.createElement('cod-button'); + zoneDataBtn.setAttribute('data-label', ''); + zoneDataBtn.setAttribute('data-size', 'lg'); + zoneDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/zone.png'); + zoneDataBtn.setAttribute('data-img-alt', 'special areas and zones'); + zoneDataBtn.setAttribute('data-shape', 'square'); + zoneDataBtn.setAttribute('data-nav-value', 'special areas and zones'); + zoneDataBtn.setAttribute('data-icon', ''); + if (app[0].getAttribute('data-active-section') == 'special areas and zones') { + zoneDataBtn.setAttribute('data-background-color', 'success'); + zoneDataBtn.setAttribute('data-primary', true); + } else { + zoneDataBtn.setAttribute('data-background-color', 'secondary'); + zoneDataBtn.setAttribute('data-primary', false); + zoneDataBtn.addEventListener('click', (ev) => { + if (app[0].getAttribute('data-api-active-datasets') != 'none') { + let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets')); + let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets')); + for (const key in activeData) { + if (!(key in storedData)) { + storedData[key] = activeData[key]; + } + } + app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData)); + } + app[0].setAttribute('data-api-active-datasets', 'none'); + app[0].setAttribute('data-active-sets', 'nez,nrsa,historicDistrict'); + app[0].setAttribute('data-map-available', 'false'); + app[0].setAttribute('data-active-section', 'special areas and zones'); + app[0].setAttribute('data-app-state', 'loading-screen'); + }); + } + navToolsWrapper.appendChild(zoneDataBtn); + + const nearDataBtn = document.createElement('cod-button'); + nearDataBtn.setAttribute('data-label', ''); + nearDataBtn.setAttribute('data-size', 'lg'); + nearDataBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/nearby.png'); + nearDataBtn.setAttribute('data-img-alt', 'things nearby'); + nearDataBtn.setAttribute('data-shape', 'square'); + nearDataBtn.setAttribute('data-nav-value', 'things nearby'); + nearDataBtn.setAttribute('data-icon', ''); + if (app[0].getAttribute('data-active-section') == 'things nearby') { + nearDataBtn.setAttribute('data-background-color', 'success'); + nearDataBtn.setAttribute('data-primary', true); + } else { + nearDataBtn.setAttribute('data-background-color', 'secondary'); + nearDataBtn.setAttribute('data-primary', false); + nearDataBtn.addEventListener('click', (ev) => { + if (app[0].getAttribute('data-api-active-datasets') != 'none') { + let storedData = JSON.parse(app[0].getAttribute('data-api-stored-datasets')); + let activeData = JSON.parse(app[0].getAttribute('data-api-active-datasets')); + for (const key in activeData) { + if (!(key in storedData)) { + storedData[key] = activeData[key]; + } + } + app[0].setAttribute('data-api-stored-datasets', JSON.stringify(storedData)); + } + app[0].setAttribute('data-api-active-datasets', 'none'); + app[0].setAttribute('data-active-sets', 'schools,demos-data,stabilization-data,improve-det'); + app[0].setAttribute('data-active-section', 'things nearby'); + app[0].setAttribute('data-map-available', 'true'); + app[0].setAttribute('data-app-state', 'loading-screen'); + }); + } + navToolsWrapper.appendChild(nearDataBtn); + + const printBtn = document.createElement('cod-button'); + printBtn.setAttribute('data-label', ''); + printBtn.setAttribute('data-size', 'lg'); + printBtn.setAttribute('data-img', 'https://detroitmi.gov/sites/detroitmi.localhost/files/2023-01/print.png'); + printBtn.setAttribute('data-img-alt', 'print'); + printBtn.setAttribute('data-shape', 'square'); + printBtn.setAttribute('data-nav-value', 'print'); + printBtn.setAttribute('data-icon', ''); + if (app[0].getAttribute('data-active-section') == 'print') { + printBtn.setAttribute('data-background-color', 'success'); + printBtn.setAttribute('data-primary', true); + } else { + printBtn.setAttribute('data-background-color', 'secondary'); + printBtn.setAttribute('data-primary', false); + printBtn.addEventListener('click', (ev) => { + if(ev.target.getAttribute('data-nav-value')){ + app[0].setAttribute('data-app-state', 'print'); + } + }); + } + navToolsWrapper.appendChild(printBtn); + } + + shadow.appendChild(navToolsWrapper); + } + +} diff --git a/src/components/style.json b/src/components/style.json new file mode 100644 index 0000000..e0b7ec4 --- /dev/null +++ b/src/components/style.json @@ -0,0 +1,17110 @@ +{ + "version": 8, + "sprite": "https://cdn.arcgis.com/sharing/rest/content/items/273bf8d5c8ac400183fc24e109d20bcf/resources/styles/../sprites/sprite", + "glyphs": "https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "tiles": ["https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/{z}/{y}/{x}.pbf"] + }, + "parcels": { + "type": "vector", + "tiles": ["https://tiles.arcgis.com/tiles/qvkbeam7Wirps6zC/arcgis/rest/services/parcels/VectorTileServer/tile/{z}/{y}/{x}.pbf"] + }, + "mapillary": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [] + } + }, + "mly": { + "type": "vector", + "tiles": ["https://tiles.mapillary.com/maps/vtp/mly1_computed_public/2/{z}/{x}/{y}?access_token=MLY|4690399437648324|de87555bb6015affa20c3df794ebab15"], + "maxzoom": 14, + "minzoom": 14 + } + }, + "layers": [ + { + "id": "Land/Not ice", + "type": "fill", + "source": "esri", + "source-layer": "Land", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 0, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 0, + "#dce0ca" + ], + [ + 10, + "#E6E5D6" + ], + [ + 15, + "#f2eee9" + ] + ] + } + } + }, + { + "id": "Land/Ice", + "type": "fill", + "source": "esri", + "source-layer": "Land", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 0, + "layout": {}, + "paint": { + "fill-color": "#E6E5D6" + } + }, + { + "id": "Urban area", + "type": "fill", + "source": "esri", + "source-layer": "Urban area", + "minzoom": 5, + "maxzoom": 15, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#e3dfdc" + ], + [ + 10, + "#ECE8E3" + ], + [ + 15, + "#f2eee9" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Parcel/fill", + "type": "fill", + "source": "esri", + "source-layer": "Parcel", + "minzoom": 18, + "layout": {}, + "paint": { + "fill-color": "#f0ebe5" + } + }, + { + "id": "Parcel/line", + "type": "line", + "source": "esri", + "source-layer": "Parcel", + "minzoom": 17, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#dddbd8", + "line-width": { + "base": 1.2, + "stops": [ + [ + 17, + 0.6 + ], + [ + 22, + 5 + ] + ] + } + } + }, + { + "id": "Vegetation small scale/High density", + "type": "fill", + "source": "esri", + "source-layer": "Vegetation small scale", + "filter": [ + "==", + "_symbol", + 0 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#c2e699", + "fill-opacity": { + "stops": [ + [ + 0, + 0.3 + ], + [ + 5, + 0.28 + ], + [ + 7, + 0.18 + ], + [ + 10, + 0.08 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Vegetation small scale/Low density", + "type": "fill", + "source": "esri", + "source-layer": "Vegetation small scale", + "filter": [ + "==", + "_symbol", + 1 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#9ad666", + "fill-opacity": { + "stops": [ + [ + 0, + 0.3 + ], + [ + 5, + 0.28 + ], + [ + 7, + 0.18 + ], + [ + 10, + 0.08 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Indigenous", + "type": "fill", + "source": "esri", + "source-layer": "Indigenous", + "minzoom": 6, + "layout": {}, + "paint": { + "fill-color": "#dbd5bd", + "fill-outline-color": "#d6d4c8", + "fill-opacity": 0.35 + } + }, + { + "id": "Openspace or forest", + "type": "fill", + "source": "esri", + "source-layer": "Openspace or forest", + "minzoom": 9, + "layout": {}, + "paint": { + "fill-color": "#CDDFB3", + "fill-antialias": false + } + }, + { + "id": "Admin0 forest or park", + "type": "fill", + "source": "esri", + "source-layer": "Admin0 forest or park", + "minzoom": 6, + "layout": {}, + "paint": { + "fill-color": "#CDDFB3", + "fill-opacity": { + "stops": [ + [ + 6, + 0.4 + ], + [ + 8, + 1 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Admin0 forest or park/line2", + "type": "line", + "source": "esri", + "source-layer": "Admin0 forest or park", + "minzoom": 6, + "layout": {}, + "paint": { + "line-color": "#c0d3a5", + "line-opacity": 0.3, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.6 + ], + [ + 15, + 15 + ] + ] + } + } + }, + { + "id": "Admin0 forest or park/line", + "type": "line", + "source": "esri", + "source-layer": "Admin0 forest or park", + "minzoom": 6, + "layout": {}, + "paint": { + "line-color": "#c0d3a5", + "line-opacity": { + "stops": [ + [ + 6, + 0.4 + ], + [ + 8, + 1 + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.6 + ], + [ + 9, + 1.1 + ] + ] + } + } + }, + { + "id": "Admin1 forest or park", + "type": "fill", + "source": "esri", + "source-layer": "Admin1 forest or park", + "minzoom": 7, + "layout": {}, + "paint": { + "fill-color": "#CDDFB3", + "fill-opacity": { + "stops": [ + [ + 6, + 0.4 + ], + [ + 8, + 1 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Admin1 forest or park/line2", + "type": "line", + "source": "esri", + "source-layer": "Admin1 forest or park", + "minzoom": 7, + "layout": {}, + "paint": { + "line-color": "#c0d3a5", + "line-opacity": 0.3, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.6 + ], + [ + 15, + 15 + ] + ] + } + } + }, + { + "id": "Admin1 forest or park/line", + "type": "line", + "source": "esri", + "source-layer": "Admin1 forest or park", + "minzoom": 7, + "layout": {}, + "paint": { + "line-color": "#c0d3a5", + "line-opacity": { + "stops": [ + [ + 6, + 0.4 + ], + [ + 8, + 1 + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.6 + ], + [ + 9, + 1.1 + ] + ] + } + } + }, + { + "id": "Zoo", + "type": "fill", + "source": "esri", + "source-layer": "Zoo", + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#CDDFB3" + ], + [ + 17, + "#A5C187" + ] + ] + } + } + }, + { + "id": "Military", + "type": "fill", + "source": "esri", + "source-layer": "Military", + "minzoom": 6, + "layout": {}, + "paint": { + "fill-color": "#d9d9d9", + "fill-opacity": 0.5, + "fill-antialias": false + } + }, + { + "id": "Port", + "type": "fill", + "source": "esri", + "source-layer": "Port", + "minzoom": 12, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 13, + "#d9d2c8" + ], + [ + 15, + "#E6E0D9" + ], + [ + 19, + "#ECE7E1" + ] + ] + } + } + }, + { + "id": "Transportation", + "type": "fill", + "source": "esri", + "source-layer": "Transportation", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 13, + "#ddd3c5" + ], + [ + 15, + "#E8E1D7" + ], + [ + 19, + "#EDE7E0" + ] + ] + } + } + }, + { + "id": "Industry", + "type": "fill", + "source": "esri", + "source-layer": "Industry", + "minzoom": 12, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 13, + "#d9d2c8" + ], + [ + 15, + "#E2DCD4" + ], + [ + 19, + "#ECE7E1" + ] + ] + } + } + }, + { + "id": "Golf course", + "type": "fill", + "source": "esri", + "source-layer": "Golf course", + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#D6E6C3" + } + }, + { + "id": "Airport/Airport property", + "type": "fill", + "source": "esri", + "source-layer": "Airport", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 9, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 9, + "#d9d6d2" + ], + [ + 11, + "#e3e1df" + ], + [ + 15, + "#EAE7E4" + ] + ] + }, + "fill-outline-color": "#DDDBD9" + } + }, + { + "id": "Airport/Airport runway", + "type": "fill", + "source": "esri", + "source-layer": "Airport", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#dddbd9" + ], + [ + 22, + "#8D8C8A" + ] + ] + } + } + }, + { + "id": "Retail", + "type": "fill", + "source": "esri", + "source-layer": "Retail", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#f7c2b5" + ], + [ + 15, + "#F5D8CF" + ], + [ + 19, + "#F3E8E2" + ] + ] + } + } + }, + { + "id": "Water and wastewater", + "type": "fill", + "source": "esri", + "source-layer": "Water and wastewater", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 13, + "#ddd3c5" + ], + [ + 15, + "#E8E1D7" + ], + [ + 19, + "#EDE7E0" + ] + ] + } + } + }, + { + "id": "Freight", + "type": "fill", + "source": "esri", + "source-layer": "Freight", + "minzoom": 12, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 13, + "#d9d2c8" + ], + [ + 15, + "#E2DCD4" + ], + [ + 19, + "#EDE7E0" + ] + ] + } + } + }, + { + "id": "Cemetery", + "type": "fill", + "source": "esri", + "source-layer": "Cemetery", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": "#d3e6b9" + } + }, + { + "id": "Finance", + "type": "fill", + "source": "esri", + "source-layer": "Finance", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#f7c2b5" + ], + [ + 15, + "#F5D8CF" + ], + [ + 19, + "#F3E8E2" + ] + ] + } + } + }, + { + "id": "Government", + "type": "fill", + "source": "esri", + "source-layer": "Government", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 13, + "#ddd3c5" + ], + [ + 15, + "#E8E1D7" + ], + [ + 19, + "#EDE7E0" + ] + ] + } + } + }, + { + "id": "Emergency", + "type": "fill", + "source": "esri", + "source-layer": "Emergency", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": "#E8E7E5" + } + }, + { + "id": "Landmark", + "type": "fill", + "source": "esri", + "source-layer": "Landmark", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 10, + "#d7ede6" + ], + [ + 15, + "#E5EEE8" + ], + [ + 19, + "#EBEEE8" + ] + ] + } + } + }, + { + "id": "Pedestrian", + "type": "fill", + "source": "esri", + "source-layer": "Pedestrian", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-color": "#E8E7E5", + "fill-outline-color": "#bcb7ae" + } + }, + { + "id": "Education", + "type": "fill", + "source": "esri", + "source-layer": "Education", + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#dde2a9" + ], + [ + 15, + "#E8E8C9" + ], + [ + 19, + "#EEEBDB" + ] + ] + } + } + }, + { + "id": "Medical", + "type": "fill", + "source": "esri", + "source-layer": "Medical", + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#c7dff4" + ], + [ + 15, + "#DDE7EF" + ], + [ + 19, + "#E7EAEC" + ] + ] + } + } + }, + { + "id": "Park or farming", + "type": "fill", + "source": "esri", + "source-layer": "Park or farming", + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 11, + "#CDDFB3" + ], + [ + 17, + "#A5C187" + ] + ] + } + } + }, + { + "id": "Beach", + "type": "fill", + "source": "esri", + "source-layer": "Beach", + "minzoom": 13, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Sand" + } + }, + { + "id": "Special area of interest/Garden path", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 12 + ], + "minzoom": 14, + "layout": { + "visibility": "none" + }, + "paint": { + "fill-color": "#f5f5f1", + "fill-outline-color": "#EBE8E8" + } + }, + { + "id": "Special area of interest/Green openspace", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 11 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 14, + "#c5e0a9" + ], + [ + 17, + "#A5C187" + ] + ] + } + } + }, + { + "id": "Special area of interest/Grass", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 8 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 14, + "#b4d197" + ], + [ + 17, + "#84A661" + ] + ] + } + } + }, + { + "id": "Special area of interest/Grass/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 8 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "line-color": { + "stops": [ + [ + 14, + "#a4c683" + ], + [ + 17, + "#739551" + ] + ] + }, + "line-width": { + "stops": [ + [ + 15, + 1.1 + ], + [ + 22, + 10 + ] + ] + }, + "line-blur": { + "stops": [ + [ + 15, + 1 + ], + [ + 22, + 5 + ] + ] + } + } + }, + { + "id": "Special area of interest/Grass/pattern", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 8 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Grass", + "fill-opacity": 0.5 + } + }, + { + "id": "Special area of interest/Grass/pattern/1", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 8 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Small stipple" + } + }, + { + "id": "Special area of interest/Baseball field or other grounds", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": "#91a761" + } + }, + { + "id": "Special area of interest/Baseball field or other grounds/pattern", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Baseball field or other grounds" + } + }, + { + "id": "Special area of interest/Groundcover", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 13 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": "#97be82" + } + }, + { + "id": "Special area of interest/Groundcover/pattern", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 13 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Groundcover", + "fill-opacity": 0.5 + } + }, + { + "id": "Special area of interest/Field or court exterior", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 5 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": "#6E866E" + } + }, + { + "id": "Special area of interest/Football field or court", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": "#7fa57a" + } + }, + { + "id": "Special area of interest/Football field or court/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "line-color": "#e3e0da", + "line-opacity": 0.8, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 4 + ] + ] + } + } + }, + { + "id": "Special area of interest/Hardcourt", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 10 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 15, + "#dddbd9" + ], + [ + 22, + "#8D8C8A" + ] + ] + } + } + }, + { + "id": "Special area of interest/Hardcourt/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 10 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "line-color": "#e3e0da", + "line-opacity": 0.8, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 4 + ] + ] + } + } + }, + { + "id": "Special area of interest/Mulch or dirt", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 14 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Mulch or dirt" + } + }, + { + "id": "Special area of interest/Mulch or dirt/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 14 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "line-color": "#c9b58b", + "line-width": { + "stops": [ + [ + 15, + 1.1 + ], + [ + 22, + 10 + ] + ] + }, + "line-blur": { + "stops": [ + [ + 15, + 1 + ], + [ + 22, + 5 + ] + ] + } + } + }, + { + "id": "Special area of interest/Athletic track", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 14, + "#d49a87" + ], + [ + 17, + "#cb7169" + ] + ] + } + } + }, + { + "id": "Special area of interest/Athletic track/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "line-color": "#e3e0da", + "line-opacity": 0.8, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 4 + ] + ] + } + } + }, + { + "id": "Special area of interest/Sand", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 6 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Sand" + } + }, + { + "id": "Special area of interest/Parking/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 15 + ], + "minzoom": 15, + "layout": {}, + "paint": { + "line-color": { + "stops": [ + [ + 15, + "#d1cfcd" + ], + [ + 22, + "#7c7b79" + ] + ] + }, + "line-opacity": 0.8, + "line-width": { + "stops": [ + [ + 15, + 1.1 + ], + [ + 22, + 10 + ] + ] + }, + "line-blur": { + "stops": [ + [ + 15, + 1 + ], + [ + 22, + 5 + ] + ] + } + } + }, + { + "id": "Special area of interest/Parking", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 15 + ], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 15, + "#dddbd9" + ], + [ + 22, + "#8D8C8A" + ] + ] + } + } + }, + { + "id": "Special area of interest/Parking/stipple", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 15 + ], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Small stipple" + } + }, + { + "id": "Special area of interest/Rock or gravel", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 16 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Rock or gravel" + } + }, + { + "id": "Water line small scale", + "type": "line", + "source": "esri", + "source-layer": "Water line small scale", + "minzoom": 1, + "maxzoom": 5, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#B7D7D9" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 1, + 0.5 + ], + [ + 5, + 0.5 + ] + ] + } + } + }, + { + "id": "Water line medium scale", + "type": "line", + "source": "esri", + "source-layer": "Water line medium scale", + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#B7D7D9" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 5, + 0.5 + ], + [ + 7, + 0.7 + ] + ] + } + } + }, + { + "id": "Water line large scale", + "type": "line", + "source": "esri", + "source-layer": "Water line large scale", + "minzoom": 7, + "maxzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#B7D7D9" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 7, + 0.5 + ], + [ + 11, + 0.7 + ] + ] + } + } + }, + { + "id": "Water line/Waterfall", + "type": "line", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 5 + ], + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#6BC4F0", + "line-width": 0.8, + "line-dasharray": [ + 5, + 5 + ] + } + }, + { + "id": "Water line/Dam or weir", + "type": "line", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#afafaf", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.7 + ], + [ + 14, + 0.7 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Water line/Levee/1", + "type": "line", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#c3c3c3", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.7 + ], + [ + 14, + 0.7 + ], + [ + 20, + 2.5 + ] + ] + } + } + }, + { + "id": "Water line/Levee/0", + "type": "symbol", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "icon-image": "Water line/Levee/0", + "symbol-spacing": 13.3, + "icon-rotation-alignment": "map", + "icon-allow-overlap": true, + "icon-padding": 1 + }, + "paint": {} + }, + { + "id": "Water line/Canal or ditch", + "type": "line", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 11, + "layout": { + "line-cap": "round" + }, + "paint": { + "line-color": "#6BC4F0", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.7 + ], + [ + 14, + 0.7 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Water line/Stream or river intermittent", + "type": "line", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "line-color": "#6BC4F0", + "line-dasharray": [ + 7, + 3 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.7 + ], + [ + 14, + 0.7 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Water line/Stream or river", + "type": "line", + "source": "esri", + "source-layer": "Water line", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 11, + "layout": { + "line-cap": "round" + }, + "paint": { + "line-color": "#6BC4F0", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.7 + ], + [ + 14, + 0.7 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Marine area/1", + "type": "fill", + "source": "esri", + "source-layer": "Marine area", + "minzoom": 0, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#53B9EA" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Bathymetry/depth 2 (shallow water)", + "type": "fill", + "source": "esri", + "source-layer": "Bathymetry", + "filter": [ + "==", + "_symbol", + 0 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#5BBDEC" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Bathymetry/depth 3", + "type": "fill", + "source": "esri", + "source-layer": "Bathymetry", + "filter": [ + "==", + "_symbol", + 1 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#63C0EE" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Bathymetry/depth 4", + "type": "fill", + "source": "esri", + "source-layer": "Bathymetry", + "filter": [ + "==", + "_symbol", + 2 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#6BC4F0" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Bathymetry/depth 5", + "type": "fill", + "source": "esri", + "source-layer": "Bathymetry", + "filter": [ + "==", + "_symbol", + 3 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#72C8F1" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Bathymetry/depth 6", + "type": "fill", + "source": "esri", + "source-layer": "Bathymetry", + "filter": [ + "==", + "_symbol", + 4 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#7ACBF3" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Bathymetry/depth 7 (deep water)", + "type": "fill", + "source": "esri", + "source-layer": "Bathymetry", + "filter": [ + "==", + "_symbol", + 5 + ], + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#82CFF5" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "Water area small scale", + "type": "fill", + "source": "esri", + "source-layer": "Water area small scale", + "minzoom": 1, + "maxzoom": 5, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#53B9EA" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-outline-color": "#53B9EA" + } + }, + { + "id": "Water area medium scale/Lake intermittent", + "type": "fill", + "source": "esri", + "source-layer": "Water area medium scale", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 5, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Lake or river intermittent" + } + }, + { + "id": "Water area medium scale/Lake or river", + "type": "fill", + "source": "esri", + "source-layer": "Water area medium scale", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 5, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#53B9EA" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-outline-color": "#53B9EA" + } + }, + { + "id": "Water area large scale/Lake intermittent", + "type": "fill", + "source": "esri", + "source-layer": "Water area large scale", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 7, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Lake or river intermittent" + } + }, + { + "id": "Water area large scale/Lake or river", + "type": "fill", + "source": "esri", + "source-layer": "Water area large scale", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 7, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 5, + "#53B9EA" + ], + [ + 10.6, + "#6BC4F0" + ] + ] + }, + "fill-outline-color": { + "stops": [ + [ + 8, + "#53B9EA" + ], + [ + 9, + "#6BC4F0" + ] + ] + } + } + }, + { + "id": "Water area/Lake, river or bay", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#6BC4F0", + "fill-outline-color": "#6BC4F0" + } + }, + { + "id": "Water area/Lake or river intermittent", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 6 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Lake or river intermittent" + } + }, + { + "id": "Water area/Inundated area", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Inundated area" + } + }, + { + "id": "Water area/Swamp or marsh", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Swamp or marsh", + "fill-opacity": 0.45 + } + }, + { + "id": "Water area/Playa", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Playa" + } + }, + { + "id": "Water area/Ice mass", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-pattern": "Water area/Ice mass", + "fill-opacity": 0.5 + } + }, + { + "id": "Water area/Dam or weir", + "type": "fill", + "source": "esri", + "source-layer": "Water area", + "filter": [ + "==", + "_symbol", + 5 + ], + "minzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#e5e5dd", + "fill-outline-color": "#d9d9d1" + } + }, + { + "id": "Special area of interest/Bike, walk or pedestrian/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 15, + "layout": {}, + "paint": { + "line-color": "#bcb7ae", + "line-width": { + "stops": [ + [ + 15, + 1.1 + ], + [ + 22, + 10 + ] + ] + }, + "line-blur": { + "stops": [ + [ + 15, + 1 + ], + [ + 22, + 5 + ] + ] + } + } + }, + { + "id": "Special area of interest/Bike, walk or pedestrian", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#E8E7E5", + "fill-outline-color": "#dbd9d5" + } + }, + { + "id": "Special area of interest/Bike, walk or pedestrian/pattern", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "Special area of interest/Small stipple" + } + }, + { + "id": "Special area of interest/Water", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": "#6BC4F0" + } + }, + { + "id": "Special area of interest/Water/line", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "line-color": "#5db6e2", + "line-width": { + "stops": [ + [ + 15, + 1.1 + ], + [ + 22, + 7 + ] + ] + }, + "line-blur": { + "stops": [ + [ + 15, + 1 + ], + [ + 22, + 3.5 + ] + ] + } + } + }, + { + "id": "Ferry/Ferry", + "type": "line", + "source": "esri", + "source-layer": "Ferry", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#c1e1f0", + "line-opacity": 0.8, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 1.3 + ], + [ + 14, + 1.5 + ], + [ + 17, + 1.5 + ] + ] + }, + "line-dasharray": [ + 3, + 4 + ] + } + }, + { + "id": "Railroad/2", + "type": "line", + "source": "esri", + "source-layer": "Railroad", + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 11, + "#dedcd9" + ], + [ + 17, + "#B8B1AA" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 2.5 + ], + [ + 14, + 2.5 + ], + [ + 17, + 4 + ] + ] + } + } + }, + { + "id": "Railroad/1", + "type": "line", + "source": "esri", + "source-layer": "Railroad", + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-dasharray": [ + 6, + 7.5 + ], + "line-color": { + "stops": [ + [ + 11, + "#E3E0D7" + ], + [ + 17, + "#DBD8CB" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.75 + ], + [ + 15, + 0.75 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Ferry/Rail ferry/2", + "type": "line", + "source": "esri", + "source-layer": "Ferry", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 11, + "#dedcd9" + ], + [ + 17, + "#B8B1AA" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 2.5 + ], + [ + 14, + 2.5 + ], + [ + 17, + 4 + ] + ] + } + } + }, + { + "id": "Ferry/Rail ferry/1", + "type": "line", + "source": "esri", + "source-layer": "Ferry", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 11, + "layout": { + "line-join": "round" + }, + "paint": { + "line-dasharray": [ + 6, + 7.5 + ], + "line-color": { + "stops": [ + [ + 11, + "#E3E0D7" + ], + [ + 17, + "#DBD8CB" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.75 + ], + [ + 15, + 0.75 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Sports field", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 6 + ], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e3e0da", + "line-opacity": 0.8, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 4 + ] + ] + } + } + }, + { + "id": "Road/4WD/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 10 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e3e1dc", + "line-dasharray": [ + 2, + 1 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 1.5 + ], + [ + 14, + 2.3 + ], + [ + 17, + 8.3 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Road/Minor, ramp or traffic circle/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 6 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#E2DFD6" + ], + [ + 10, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9.9, + 1 + ], + [ + 14, + 4 + ], + [ + 16, + 11.5 + ], + [ + 17, + 19 + ], + [ + 20, + 58 + ] + ] + } + } + }, + { + "id": "Road/Minor/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#E2DFD6" + ], + [ + 10, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 1 + ], + [ + 10, + 3.3 + ], + [ + 14, + 5.5 + ], + [ + 16, + 11.5 + ], + [ + 17, + 19 + ], + [ + 20, + 58 + ] + ] + } + } + }, + { + "id": "Road/Major, ramp or traffic circle/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 3.3 + ], + [ + 14, + 7.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 22 + ], + [ + 20, + 63 + ] + ] + } + } + }, + { + "id": "Road/Major/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 8, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-width": { + "base": 1, + "stops": [ + [ + 8, + 3.3 + ], + [ + 14, + 7.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 22 + ], + [ + 20, + 63 + ] + ] + } + } + }, + { + "id": "Road/Service/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 8 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e3e1dc", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 2 + ], + [ + 14, + 2.5 + ], + [ + 17, + 10.3 + ], + [ + 20, + 45 + ] + ] + } + } + }, + { + "id": "Trail or path/1", + "type": "line", + "source": "esri", + "source-layer": "Trail or path", + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 15, + "#dddbd5" + ], + [ + 17, + "#e3e1dc" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 2.5 + ], + [ + 16, + 3 + ], + [ + 17, + 5 + ], + [ + 20, + 20 + ], + [ + 22, + 31 + ] + ] + } + } + }, + { + "id": "Road/Pedestrian/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 9 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 15, + "#dddbd5" + ], + [ + 17, + "#e3e1dc" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 2.5 + ], + [ + 16, + 3 + ], + [ + 17, + 5 + ], + [ + 20, + 20 + ], + [ + 22, + 31 + ] + ] + } + } + }, + { + "id": "Road/Local/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e3e1dc", + "line-width": { + "base": 1.4, + "stops": [ + [ + 11, + 1.1 + ], + [ + 14, + 3 + ], + [ + 16, + 8 + ], + [ + 17, + 16 + ], + [ + 20, + 48 + ] + ] + } + } + }, + { + "id": "Trail or path/0", + "type": "line", + "source": "esri", + "source-layer": "Trail or path", + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 15, + "#f8f8f7" + ], + [ + 18, + "#ffffff" + ] + ] + }, + "line-dasharray": { + "stops": [ + [ + 15, + [ + 3, + 3 + ] + ], + [ + 17, + [ + 2, + 2 + ] + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 1.3 + ], + [ + 17, + 2.5 + ] + ] + } + } + }, + { + "id": "Road/Pedestrian/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 9 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 15, + "#f8f8f7" + ], + [ + 18, + "#ffffff" + ] + ] + }, + "line-dasharray": { + "stops": [ + [ + 15, + [ + 3, + 3 + ] + ], + [ + 17, + [ + 2, + 2 + ] + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 1.3 + ], + [ + 17, + 2.5 + ] + ] + } + } + }, + { + "id": "Road/4WD/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 10 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.75 + ], + [ + 14, + 1.3 + ], + [ + 17, + 7.3 + ], + [ + 20, + 48 + ] + ] + } + } + }, + { + "id": "Road/Service/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 8 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.75 + ], + [ + 14, + 1.3 + ], + [ + 17, + 8.3 + ], + [ + 20, + 43 + ] + ] + } + } + }, + { + "id": "Road/Local/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 12, + "#fcfbf9" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.4, + "stops": [ + [ + 11, + 1.1 + ], + [ + 14, + 2 + ], + [ + 16, + 6 + ], + [ + 17, + 14 + ], + [ + 20, + 45 + ] + ] + } + } + }, + { + "id": "Road/Minor, ramp or traffic circle/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 6 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 0.75 + ], + [ + 14, + 2 + ], + [ + 16, + 9.5 + ], + [ + 17, + 17 + ], + [ + 20, + 55 + ] + ] + } + } + }, + { + "id": "Road/Minor/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 1.3 + ], + [ + 14, + 4.5 + ], + [ + 16, + 9.5 + ], + [ + 17, + 17 + ], + [ + 20, + 55 + ] + ] + } + } + }, + { + "id": "Road/Major, ramp or traffic circle/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 1.3 + ], + [ + 14, + 5.3 + ], + [ + 16, + 10.3 + ], + [ + 17, + 20 + ], + [ + 20, + 60 + ] + ] + } + } + }, + { + "id": "Road/Major/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 8, + 1.3 + ], + [ + 14, + 5.3 + ], + [ + 16, + 10.3 + ], + [ + 17, + 20 + ], + [ + 20, + 60 + ] + ] + } + } + }, + { + "id": "Road/Freeway Motorway, ramp or traffic circle/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "#ffffff", + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 0.3 + ], + [ + 14, + 8.3 + ], + [ + 16, + 14.3 + ], + [ + 17, + 30 + ], + [ + 20, + 52 + ] + ] + } + } + }, + { + "id": "Road/Highway/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#ffffff", + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.3 + ], + [ + 14, + 8.3 + ], + [ + 16, + 14.3 + ], + [ + 17, + 30 + ], + [ + 20, + 52 + ] + ] + } + } + }, + { + "id": "Road/Freeway Motorway/1", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 5, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#ffffff", + "line-width": { + "base": 1.2, + "stops": [ + [ + 5, + 0.3 + ], + [ + 14, + 8.3 + ], + [ + 16, + 14.3 + ], + [ + 17, + 30 + ], + [ + 20, + 52 + ] + ] + } + } + }, + { + "id": "Road/Freeway Motorway, ramp or traffic circle/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 6, + "#F6CA91" + ], + [ + 8, + "#F6CA91" + ], + [ + 12, + "#F6CA91" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 0.7 + ], + [ + 14, + 6.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 28 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Road/Highway/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 6, + "#F6CA91" + ], + [ + 8, + "#F6CA91" + ], + [ + 12, + "#F6CA91" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.7 + ], + [ + 14, + 6.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 28 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Road/Freeway Motorway/0", + "type": "line", + "source": "esri", + "source-layer": "Road", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 5, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#F6CA91", + "line-width": { + "base": 1.2, + "stops": [ + [ + 5, + 0.7 + ], + [ + 14, + 6.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 28 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Dock or pier", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#E8E7E5", + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 4 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Fence (chain link)/1", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#686868", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 0.7 + ], + [ + 20, + 3 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Fence (chain link)/0", + "type": "symbol", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "icon-image": "Special area of interest line/Fence (chain link)/0", + "symbol-spacing": { + "stops": [ + [ + 16, + 7 + ], + [ + 22, + 20 + ] + ] + }, + "icon-rotation-alignment": "map", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.25 + ], + [ + 22, + 1 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Special area of interest line/Fence (metal)/1", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#686868", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 0.7 + ], + [ + 20, + 3 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Fence (metal)/0", + "type": "symbol", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "icon-image": "Special area of interest line/Fence (metal)/0", + "symbol-spacing": { + "stops": [ + [ + 16, + 7 + ], + [ + 22, + 20 + ] + ] + }, + "icon-rotation-alignment": "map", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.2 + ], + [ + 22, + 0.9 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Special area of interest line/Fence (wood)/1", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#CDAA66", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 0.7 + ], + [ + 20, + 3 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Fence (wood)/0", + "type": "symbol", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "icon-image": "Special area of interest line/Fence (wood)/0", + "symbol-spacing": { + "stops": [ + [ + 16, + 7 + ], + [ + 22, + 20 + ] + ] + }, + "icon-rotation-alignment": "map", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.2 + ], + [ + 22, + 0.9 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Special area of interest line/Gate/2", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#686868", + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 2 + ], + [ + 20, + 7 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Gate/1", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#E1E1E1", + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 1 + ], + [ + 20, + 5 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Gate/0", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#686868", + "line-dasharray": [ + 5, + 15 + ], + "line-width": 0.7 + } + }, + { + "id": "Special area of interest line/Wall/2", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BCB7AE", + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 4 + ], + [ + 20, + 7 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Wall/1", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e3e3e1", + "line-width": { + "base": 1.2, + "stops": [ + [ + 16, + 2 + ], + [ + 20, + 5 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Wall/0", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BCB7AE", + "line-width": 0.5 + } + }, + { + "id": "Building/1", + "type": "fill", + "source": "esri", + "source-layer": "Building", + "minzoom": 18, + "layout": {}, + "paint": { + "fill-color": "#6f6c68", + "fill-opacity": 0.15, + "fill-translate": { + "stops": [ + [ + 18, + [ + 2, + 2 + ] + ], + [ + 20, + [ + 10, + 10 + ] + ] + ] + }, + "fill-translate-anchor": "viewport" + } + }, + { + "id": "Building/General", + "type": "fill", + "source": "esri", + "source-layer": "Building", + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [ + 15, + "#ebe7e2" + ], + [ + 20, + "#D1C4BA" + ] + ] + } + } + }, + { + "id": "Building/pattern", + "type": "fill", + "source": "esri", + "source-layer": "Building", + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "Building", + "fill-opacity": 0.15 + } + }, + { + "id": "Building/line", + "type": "line", + "source": "esri", + "source-layer": "Building", + "minzoom": 15, + "layout": {}, + "paint": { + "line-color": { + "stops": [ + [ + 15, + "#dbd4cb" + ], + [ + 22, + "#ac9c92" + ] + ] + }, + "line-width": { + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 1.5 + ] + ] + } + } + }, + { + "id": "Special area of interest line/Parking lot", + "type": "line", + "source": "esri", + "source-layer": "Special area of interest line", + "filter": [ + "==", + "_symbol", + 5 + ], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#E8E7E5", + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 0.5 + ], + [ + 20, + 4 + ] + ] + } + } + }, + { + "id": "Road tunnel/4WD/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 10 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e3e1dc", + "line-dasharray": [ + 2, + 1 + ], + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 1.5 + ], + [ + 14, + 2.3 + ], + [ + 17, + 8.3 + ], + [ + 20, + 49 + ] + ] + } + } + }, + { + "id": "Road tunnel/Minor, ramp or traffic circle/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 6 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#E2DFD6" + ], + [ + 10, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9.9, + 1 + ], + [ + 14, + 4 + ], + [ + 16, + 11.5 + ], + [ + 17, + 19 + ], + [ + 20, + 57 + ] + ] + } + } + }, + { + "id": "Road tunnel/Minor/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#E2DFD6" + ], + [ + 10, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 1 + ], + [ + 10, + 3.3 + ], + [ + 14, + 5.5 + ], + [ + 16, + 11.5 + ], + [ + 17, + 19 + ], + [ + 20, + 57 + ] + ] + } + } + }, + { + "id": "Road tunnel/Major, ramp or traffic circle/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 3.3 + ], + [ + 14, + 7.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 22 + ], + [ + 20, + 62 + ] + ] + } + } + }, + { + "id": "Road tunnel/Major/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 8, + "#dedbd1" + ], + [ + 12, + "#e3e1dc" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1, + "stops": [ + [ + 8, + 3.3 + ], + [ + 14, + 7.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 22 + ], + [ + 20, + 62 + ] + ] + } + } + }, + { + "id": "Road tunnel/Pedestrian/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 9 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 14, + 1.6 + ], + [ + 16, + 2 + ], + [ + 17, + 8 + ], + [ + 20, + 45 + ] + ] + } + } + }, + { + "id": "Road tunnel/4WD/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 10 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.75 + ], + [ + 14, + 1.3 + ], + [ + 17, + 7.3 + ], + [ + 20, + 48 + ] + ] + } + } + }, + { + "id": "Road tunnel/Service/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 8 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 13, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.75 + ], + [ + 14, + 1.3 + ], + [ + 17, + 8.3 + ], + [ + 20, + 48 + ] + ] + } + } + }, + { + "id": "Road tunnel/Local/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 12, + "#fcfbf9" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.4, + "stops": [ + [ + 11, + 1.1 + ], + [ + 14, + 2 + ], + [ + 16, + 6 + ], + [ + 17, + 14 + ], + [ + 20, + 55 + ] + ] + } + } + }, + { + "id": "Road tunnel/Minor, ramp or traffic circle/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 6 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 0.75 + ], + [ + 14, + 2 + ], + [ + 16, + 9.5 + ], + [ + 17, + 17 + ], + [ + 20, + 55 + ] + ] + } + } + }, + { + "id": "Road tunnel/Minor/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 1.3 + ], + [ + 14, + 4.5 + ], + [ + 16, + 9.5 + ], + [ + 17, + 17 + ], + [ + 20, + 55 + ] + ] + } + } + }, + { + "id": "Road tunnel/Major, ramp or traffic circle/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 1.3 + ], + [ + 14, + 5.3 + ], + [ + 16, + 10.3 + ], + [ + 17, + 20 + ], + [ + 20, + 60 + ] + ] + } + } + }, + { + "id": "Road tunnel/Major/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 9, + "#f0efea" + ], + [ + 13, + "#ffffff" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 8, + 1.3 + ], + [ + 14, + 5.3 + ], + [ + 16, + 10.3 + ], + [ + 17, + 20 + ], + [ + 20, + 60 + ] + ] + } + } + }, + { + "id": "Road tunnel/Freeway Motorway, ramp or traffic circle/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "#ffffff", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 0.3 + ], + [ + 14, + 8.3 + ], + [ + 16, + 14.3 + ], + [ + 17, + 30 + ], + [ + 20, + 52 + ] + ] + } + } + }, + { + "id": "Road tunnel/Highway/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#ffffff", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.3 + ], + [ + 14, + 8.3 + ], + [ + 16, + 14.3 + ], + [ + 17, + 30 + ], + [ + 20, + 52 + ] + ] + } + } + }, + { + "id": "Road tunnel/Freeway Motorway/1", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 5, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#ffffff", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 5, + 0.3 + ], + [ + 14, + 8.3 + ], + [ + 16, + 14.3 + ], + [ + 17, + 30 + ], + [ + 20, + 52 + ] + ] + } + } + }, + { + "id": "Road tunnel/Freeway Motorway, ramp or traffic circle/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 6, + "#F6CA91" + ], + [ + 8, + "#F6CA91" + ], + [ + 12, + "#F6CA91" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 9, + 0.7 + ], + [ + 14, + 6.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 28 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Road tunnel/Highway/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 6, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 6, + "#F6CA91" + ], + [ + 8, + "#F6CA91" + ], + [ + 12, + "#F6CA91" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 6, + 0.7 + ], + [ + 14, + 6.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 28 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Road tunnel/Freeway Motorway/0", + "type": "line", + "source": "esri", + "source-layer": "Road tunnel", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 5, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#F6CA91", + "line-opacity": 0.5, + "line-width": { + "base": 1.2, + "stops": [ + [ + 5, + 0.7 + ], + [ + 14, + 6.3 + ], + [ + 16, + 12.3 + ], + [ + 17, + 28 + ], + [ + 20, + 50 + ] + ] + } + } + }, + { + "id": "Special area of interest/Gutter", + "type": "fill", + "source": "esri", + "source-layer": "Special area of interest", + "filter": [ + "in", + "_symbol", + 9, + 3 + ], + "minzoom": 14, + "layout": {}, + "paint": { + "fill-color": "#E8E7E5", + "fill-outline-color": "#bcb7ae" + } + }, + { + "id": "Boundary line/Disputed admin2", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 8 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#f5f5f5" + ], + [ + 3, + "#fafafa" + ], + [ + 9, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 1, + 0.65 + ], + [ + 14, + 1.3 + ], + [ + 17, + 2.5 + ] + ] + }, + "line-dasharray": [ + 5, + 5 + ] + } + }, + { + "id": "Boundary line/Disputed admin1/1", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "minzoom": 3, + "filter": [ + "all", + [ + "==", + "_symbol", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#c6c4b6", + "line-opacity": 0.95, + "line-width": { + "base": 1, + "stops": [ + [ + 4, + 0.5 + ], + [ + 14, + 7 + ], + [ + 17, + 7 + ] + ] + } + } + }, + { + "id": "Boundary line/Disputed admin0/1", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 6 + ], + [ + "!in", + "Viz", + 2 + ], + [ + "!in", + "DisputeID", + 8, + 16, + 90, + 96, + 0 + ] + ], + "minzoom": 1, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#c6c4b6", + "line-opacity": 0.95, + "line-width": { + "base": 1, + "stops": [ + [ + 1, + 0.5 + ], + [ + 14, + 9.3 + ], + [ + 17, + 9.3 + ] + ] + } + } + }, + { + "id": "Boundary line/Disputed admin1/0", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "minzoom": 3, + "filter": [ + "all", + [ + "==", + "_symbol", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#f5f5f5" + ], + [ + 3, + "#fafafa" + ], + [ + 9, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 1, + 0.65 + ], + [ + 14, + 1.3 + ], + [ + 17, + 2.5 + ] + ] + }, + "line-dasharray": [ + 5, + 5 + ] + } + }, + { + "id": "Boundary line/Disputed admin0/0", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 6 + ], + [ + "!in", + "Viz", + 2 + ], + [ + "!in", + "DisputeID", + 8, + 16, + 90, + 96, + 0 + ] + ], + "minzoom": 1, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#f5f5f5" + ], + [ + 3, + "#fafafa" + ], + [ + 9, + "#ffffff" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 1, + 0.65 + ], + [ + 14, + 1.3 + ], + [ + 17, + 2.5 + ] + ] + }, + "line-dasharray": [ + 5, + 5 + ] + } + }, + { + "id": "Boundary line/Admin2/1", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#ede7e0", + "line-opacity": 0.6, + "line-width": { + "base": 1.2, + "stops": [ + [ + 8, + 2.3 + ], + [ + 14, + 5.5 + ], + [ + 17, + 7.5 + ] + ] + } + } + }, + { + "id": "Boundary line/Admin1/1", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 3, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 3, + "#DEE1CC" + ], + [ + 10, + "#d1ceb8" + ] + ] + }, + "line-opacity": 0.5, + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 0.5 + ], + [ + 14, + 9 + ], + [ + 17, + 10 + ] + ] + } + } + }, + { + "id": "Boundary line/Admin0/1", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 1, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#d1cfc2", + "line-width": { + "base": 1, + "stops": [ + [ + 1, + 0.5 + ], + [ + 14, + 11.3 + ], + [ + 17, + 12.3 + ] + ] + } + } + }, + { + "id": "Boundary line/Admin5", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#9C9C9C", + "line-width": { + "base": 1.2, + "stops": [ + [ + 14, + 1 + ], + [ + 17, + 1 + ] + ] + }, + "line-dasharray": [ + 6, + 4 + ] + } + }, + { + "id": "Boundary line/Admin4", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#9C9C9C", + "line-width": { + "base": 1.2, + "stops": [ + [ + 14, + 1 + ], + [ + 17, + 1 + ] + ] + }, + "line-dasharray": [ + 6, + 4 + ] + } + }, + { + "id": "Boundary line/Admin3", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#9C9C9C", + "line-width": { + "base": 1.2, + "stops": [ + [ + 14, + 1 + ], + [ + 17, + 1 + ] + ] + }, + "line-dasharray": [ + 6, + 4 + ] + } + }, + { + "id": "Boundary line/Admin2/0", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 9, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#888577", + "line-dasharray": [ + 7, + 5 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 8, + 0.5 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "Boundary line/Admin1/0", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 3, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 3, + "#c1bdb5" + ], + [ + 4, + "#9b9382" + ] + ] + }, + "line-width": { + "base": 1, + "stops": [ + [ + 4, + 0.5 + ], + [ + 14, + 1.3 + ], + [ + 17, + 1.3 + ] + ] + } + } + }, + { + "id": "Boundary line/Admin0/0", + "type": "line", + "source": "esri", + "source-layer": "Boundary line", + "filter": [ + "all", + [ + "==", + "_symbol", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 1, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 1, + "#b9b9b9" + ], + [ + 7, + "#434242" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 1, + 0.5 + ], + [ + 14, + 1.3 + ], + [ + 17, + 2 + ] + ] + } + } + }, + { + "id": "Coastline", + "type": "line", + "source": "esri", + "source-layer": "Coastline", + "maxzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": { + "stops": [ + [ + 0, + "#53B9EA" + ], + [ + 7, + "#53B9EA" + ], + [ + 9, + "#6BC4F0" + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 0, + 0.5 + ], + [ + 9, + 1.3 + ] + ] + } + } + }, + { + "id": "Tree/Elm", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Elm", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Eucalyptus", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Eucalyptus", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Maple", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Maple", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Oak", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Oak", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Orange", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Orange", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Palm", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 5 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Palm", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Pine", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 6 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Pine", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Tree/Spruce", + "type": "symbol", + "source": "esri", + "source-layer": "Tree", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Tree/Spruce", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Shrub", + "type": "symbol", + "source": "esri", + "source-layer": "Shrub", + "minzoom": 16, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "Shrub", + "icon-allow-overlap": true, + "icon-padding": 1, + "icon-size": { + "stops": [ + [ + 16, + 0.07 + ], + [ + 17, + 0.18 + ], + [ + 18, + 0.3 + ], + [ + 20, + 1 + ] + ] + } + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 16, + 0.4 + ], + [ + 17, + 0.6 + ], + [ + 20, + 0.9 + ] + ] + } + } + }, + { + "id": "Pavement marking/Arrow", + "type": "symbol", + "source": "esri", + "source-layer": "Pavement marking", + "minzoom": 17, + "filter": [ + "==", + "_symbol", + 0 + ], + "layout": { + "icon-rotation-alignment": "map", + "icon-image": "Pavement marking/Arrow", + "icon-size": { + "stops": [ + [ + 17, + 0.5 + ], + [ + 22, + 1 + ] + ] + }, + "icon-rotate": { + "type": "identity", + "property": "angle", + "default": 0 + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#B2B2B2" + } + }, + { + "id": "Pavement marking/Handicap", + "type": "symbol", + "source": "esri", + "source-layer": "Pavement marking", + "minzoom": 18, + "filter": [ + "==", + "_symbol", + 1 + ], + "layout": { + "icon-rotation-alignment": "map", + "icon-image": "Pavement marking/Handicap", + "icon-size": { + "stops": [ + [ + 18, + 0.5 + ], + [ + 20, + 1 + ], + [ + 22, + 1.25 + ] + ] + }, + "icon-rotate": { + "type": "identity", + "property": "angle", + "default": 0 + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#296AA3", + "icon-opacity": { + "stops": [ + [ + 18, + 0.65 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "Pavement marking/Left turn", + "type": "symbol", + "source": "esri", + "source-layer": "Pavement marking", + "minzoom": 17, + "filter": [ + "==", + "_symbol", + 2 + ], + "layout": { + "icon-rotation-alignment": "map", + "icon-image": "Pavement marking/Left turn", + "icon-size": { + "stops": [ + [ + 17, + 0.5 + ], + [ + 22, + 1 + ] + ] + }, + "icon-rotate": { + "type": "identity", + "property": "angle", + "default": 0 + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#B2B2B2" + } + }, + { + "id": "Pavement marking/Right turn", + "type": "symbol", + "source": "esri", + "source-layer": "Pavement marking", + "minzoom": 17, + "filter": [ + "==", + "_symbol", + 3 + ], + "layout": { + "icon-rotation-alignment": "map", + "icon-image": "Pavement marking/Right turn", + "icon-size": { + "stops": [ + [ + 17, + 0.5 + ], + [ + 22, + 1 + ] + ] + }, + "icon-rotate": { + "type": "identity", + "property": "angle", + "default": 0 + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#B2B2B2" + } + }, + { + "id": "Pavement marking/Two-way left turn", + "type": "symbol", + "source": "esri", + "source-layer": "Pavement marking", + "minzoom": 17, + "filter": [ + "==", + "_symbol", + 4 + ], + "layout": { + "icon-rotation-alignment": "map", + "icon-image": "Pavement marking/Two-way left turn", + "icon-size": { + "stops": [ + [ + 17, + 0.5 + ], + [ + 22, + 1 + ] + ] + }, + "icon-rotate": { + "type": "identity", + "property": "angle", + "default": 0 + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#B2B2B2" + } + }, + { + "id": "Pavement marking/U-turn", + "type": "symbol", + "source": "esri", + "source-layer": "Pavement marking", + "minzoom": 17, + "filter": [ + "==", + "_symbol", + 5 + ], + "layout": { + "icon-rotation-alignment": "map", + "icon-image": "Pavement marking/U-turn", + "icon-size": { + "stops": [ + [ + 17, + 0.5 + ], + [ + 22, + 1 + ] + ] + }, + "icon-rotate": { + "type": "identity", + "property": "angle", + "default": 0 + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#B2B2B2" + } + }, + { + "id": "Water point/Sea or ocean", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 15.5 + ] + ] + }, + "text-letter-spacing": 0.3, + "text-line-height": 1.6, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Water point/Island", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 7 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#595959", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1 + } + }, + { + "id": "Water point/Dam or weir", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 5 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#171310", + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.7, + "text-halo-blur": 1 + } + }, + { + "id": "Water point/Playa", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 6 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#171310", + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.7, + "text-halo-blur": 1 + } + }, + { + "id": "Water point/Canal or ditch", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 4 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.13, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1 + } + }, + { + "id": "Water point/Stream or river", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 3 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water point/Lake or reservoir", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 2 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#FFFFFF", + "text-halo-width": 0.5 + } + }, + { + "id": "Water point/Bay or inlet", + "type": "symbol", + "source": "esri", + "source-layer": "Water point", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Ferry/label/Ferry", + "type": "symbol", + "source": "esri", + "source-layer": "Ferry/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 10, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 30 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-width": 1.2, + "text-halo-color": "#6BC4F0", + "text-halo-blur": 1 + } + }, + { + "id": "Water line/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water line/label", + "minzoom": 11, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.5, + "text-letter-spacing": 0.07, + "text-max-width": 8, + "text-max-angle": 35, + "text-field": "{_name_global}", + "text-padding": 1, + "text-offset": [ + 0, + -0.5 + ], + "symbol-spacing": 800 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water line large scale/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water line large scale/label", + "minzoom": 7, + "maxzoom": 11, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.3, + "text-letter-spacing": 0.01, + "text-max-width": 8, + "text-max-angle": { + "stops": [ + [ + 7, + 25 + ], + [ + 11, + 35 + ] + ] + }, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0, + -0.5 + ], + "symbol-spacing": 800 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water line medium scale/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water line medium scale/label", + "minzoom": 5, + "maxzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.3, + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-max-angle": { + "stops": [ + [ + 5, + 15 + ], + [ + 6, + 25 + ] + ] + }, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0, + -0.5 + ], + "symbol-spacing": 800 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water line small scale/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water line small scale/label", + "minzoom": 4, + "maxzoom": 5, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 8.5, + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-max-angle": 18, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0, + -0.5 + ], + "symbol-spacing": 800 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Marine park/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Marine park/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#3a7795" + } + }, + { + "id": "Water area/label/Dam or weir", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 8 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.5, + "text-letter-spacing": 0.08, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#171310", + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5, + "text-halo-blur": 1 + } + }, + { + "id": "Water area/label/Playa", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 9 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.5, + "text-letter-spacing": 0.08, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#171310", + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5, + "text-halo-blur": 1 + } + }, + { + "id": "Water area/label/Canal or ditch", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 2 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-max-width": 5 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area/label/Small river", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 7 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-max-width": 8 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area/label/Large river", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 4 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-max-width": 8 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area/label/Small lake or reservoir", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 6 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-line-height": 1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area/label/Large lake or reservoir", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 3 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-line-height": 1.5, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area/label/Bay or inlet", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-line-height": 1.5, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area/label/Small island", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 11, + "layout": { + "text-size": 10.5, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ] + }, + "paint": { + "text-color": "#595959", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1 + } + }, + { + "id": "Water area/label/Large island", + "type": "symbol", + "source": "esri", + "source-layer": "Water area/label", + "filter": [ + "==", + "_label_class", + 5 + ], + "minzoom": 11, + "layout": { + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-line-height": 1.5, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ] + }, + "paint": { + "text-color": "#595959", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1 + } + }, + { + "id": "Water area large scale/label/River", + "type": "symbol", + "source": "esri", + "source-layer": "Water area large scale/label", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 7, + "maxzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-size": 9.3, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-max-width": 4 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area large scale/label/Lake or lake intermittent", + "type": "symbol", + "source": "esri", + "source-layer": "Water area large scale/label", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 7, + "maxzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.3, + "text-letter-spacing": 0.1, + "text-max-width": 4, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area medium scale/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water area medium scale/label", + "minzoom": 5, + "maxzoom": 7, + "layout": { + "text-max-width": 4, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-letter-spacing": 0.08, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.3 + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Water area small scale/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water area small scale/label", + "minzoom": 1, + "maxzoom": 5, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.3, + "text-letter-spacing": 0.08, + "text-max-width": 4, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.5 + } + }, + { + "id": "Marine area/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Marine area/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 10.5, + "text-letter-spacing": 0.13, + "text-line-height": 1.5, + "text-max-width": 4, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 1 + } + }, + { + "id": "Marine waterbody/label/small", + "type": "symbol", + "source": "esri", + "source-layer": "Marine waterbody/label", + "filter": [ + "==", + "_label_class", + 4 + ], + "minzoom": 1, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-letter-spacing": { + "stops": [ + [ + 1, + 0.12 + ], + [ + 10, + 0.25 + ] + ] + }, + "text-line-height": 1.5, + "text-max-width": 6, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 1, + 8 + ], + [ + 6, + 9.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 1, + "#0d6c9a" + ], + [ + 6, + "#0d6c9a" + ] + ] + }, + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 0.5 + } + }, + { + "id": "Marine waterbody/label/medium", + "type": "symbol", + "source": "esri", + "source-layer": "Marine waterbody/label", + "filter": [ + "==", + "_label_class", + 3 + ], + "minzoom": 1, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-letter-spacing": { + "stops": [ + [ + 1, + 0.15 + ], + [ + 10, + 0.3 + ] + ] + }, + "text-line-height": 1.5, + "text-max-width": 6, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 1, + 8 + ], + [ + 6, + 9.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 1, + "#0d6c9a" + ], + [ + 6, + "#0d6c9a" + ] + ] + }, + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 0.5 + } + }, + { + "id": "Marine waterbody/label/large", + "type": "symbol", + "source": "esri", + "source-layer": "Marine waterbody/label", + "filter": [ + "==", + "_label_class", + 2 + ], + "minzoom": 1, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-letter-spacing": { + "stops": [ + [ + 1, + 0.18 + ], + [ + 10, + 0.4 + ] + ] + }, + "text-line-height": 1.5, + "text-max-width": 6, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 1, + 8 + ], + [ + 6, + 10 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 1, + "#0d6c9a" + ], + [ + 6, + "#0d6c9a" + ] + ] + }, + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 0.5 + } + }, + { + "id": "Marine waterbody/label/x large", + "type": "symbol", + "source": "esri", + "source-layer": "Marine waterbody/label", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 1, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-letter-spacing": { + "stops": [ + [ + 1, + 0.2 + ], + [ + 10, + 1.5 + ] + ] + }, + "text-line-height": 1.5, + "text-max-width": 6, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 1, + 8 + ], + [ + 6, + 11 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 1, + "#0d6c9a" + ], + [ + 6, + "#0d6c9a" + ] + ] + }, + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 0.5 + } + }, + { + "id": "Marine waterbody/label/2x large", + "type": "symbol", + "source": "esri", + "source-layer": "Marine waterbody/label", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 1, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-letter-spacing": { + "stops": [ + [ + 1, + 0.3 + ], + [ + 10, + 2 + ] + ] + }, + "text-line-height": 1.6, + "text-max-width": 6, + "text-field": "{_name}", + "text-padding": 15, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 1, + 10 + ], + [ + 4, + 18 + ] + ] + } + }, + "paint": { + "text-color": "#0d6c9a", + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 0.5 + } + }, + { + "id": "Ferry/label/Rail ferry", + "type": "symbol", + "source": "esri", + "source-layer": "Ferry/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9, + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 5, + "text-offset": [ + 0, + -0.6 + ], + "symbol-spacing": 1000 + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Railroad/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Railroad/label", + "minzoom": 14, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9, + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 5, + "text-offset": [ + 0, + -0.6 + ], + "symbol-spacing": 1000 + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1 + } + }, + { + "id": "Trail or path/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Trail or path/label", + "minzoom": 15, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 9.3, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 5 + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road tunnel/label/Pedestrian", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 6 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 15, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 5 + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Local, service, 4WD", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.5, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 12, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Minor", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 12.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Major, alt name", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 12.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4e4e4e", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Major", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 12.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Highway", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 14.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Freeway Motorway, alt name", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 14.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road tunnel/label/Freeway Motorway", + "type": "symbol", + "source": "esri", + "source-layer": "Road tunnel/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 14.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Road/label/Local", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 5 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 12, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 11.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 12, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Minor", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 4 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 12.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Major, alt name", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 3 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 12.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Major", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 2 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 12.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Highway", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 75 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 14.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Freeway Motorway, alt name", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 1 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 14.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Freeway Motorway", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 0 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 10, + 9.5 + ], + [ + 14, + 10.5 + ], + [ + 18, + 14.5 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": { + "stops": [ + [ + 10, + 5 + ], + [ + 15, + 5 + ], + [ + 16, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#4E4E4E", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Road/label/Rectangle white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 32 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 31 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Secondary Hwy red white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 16 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Secondary Hwy red white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Secondary Hwy red white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 15 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Secondary Hwy red white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/U-shaped yellow black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 24 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped yellow black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped yellow black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 23 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped yellow black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped red white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 26 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped red white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/U-shaped red white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 25 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped red white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/U-shaped blue white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 28 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped blue white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/U-shaped blue white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 27 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped blue white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/V-shaped white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 30 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/V-shaped white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/V-shaped white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 29 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/V-shaped white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 18 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 17 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped white green (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 20 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped white green (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped white green", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 19 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped white green/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped green leaf (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 22 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped green leaf (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/U-shaped green leaf", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 21 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/U-shaped green leaf/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle yellow black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 38 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle yellow black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle yellow black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 37 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle yellow black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle red white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 36 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle red white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Rectangle red white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 35 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle red white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Rectangle blue white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 34 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle blue white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Rectangle blue white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 33 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle blue white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Rectangle green white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 40 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle green white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Rectangle green white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 39 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle green white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Rectangle green yellow (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 42 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle green yellow (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#f1dfb7" + } + }, + { + "id": "Road/label/Rectangle green yellow", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 41 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle green yellow/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#f1dfb7" + } + }, + { + "id": "Road/label/Pentagon inverse white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 44 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon inverse white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Pentagon inverse white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 43 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon inverse white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Pentagon white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 46 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Pentagon white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 45 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Pentagon yellow black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 50 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon yellow black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Pentagon yellow black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 49 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon yellow black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Pentagon green white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 51 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon green white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Pentagon green white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 52 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon green white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Pentagon green yellow", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 53 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon green yellow/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#f1dfb7" + } + }, + { + "id": "Road/label/Pentagon green yellow (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 54 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon green yellow (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#f1dfb7" + } + }, + { + "id": "Road/label/Pentagon blue white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 48 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon blue white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Pentagon blue white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 47 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Pentagon blue white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 56 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Hexagon white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 55 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Hexagon blue white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 57 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon blue white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon blue white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 58 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon blue white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon red white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 59 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon red white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon red white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 60 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon red white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon green white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 62 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon green white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon green white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 61 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon green white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Hexagon orange black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 63 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon orange black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Hexagon orange black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 64 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Hexagon orange black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon blue white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 66 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon blue white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon blue white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 65 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon blue white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon red white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 68 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon red white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon red white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 67 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon red white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon green white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 70 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon green white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon green white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 69 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon green white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon brown white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 72 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon brown white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Rectangle hexagon brown white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 71 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Rectangle hexagon brown white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Octagon green white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 74 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Octagon green white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Octagon green white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 73 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Octagon green white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Shield white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 10 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Shield white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Shield white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 9 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Shield white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Secondary Hwy green white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 14 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Secondary Hwy green white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Secondary Hwy green white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 13 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 9.3, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Secondary Hwy green white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Secondary Hwy white black (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 12 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Secondary Hwy white black (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Secondary Hwy white black", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 11 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Secondary Hwy white black/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": {} + }, + { + "id": "Road/label/Shield blue white (Alt)", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 8 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Shield blue white (Alt)/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Shield blue white", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 7 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 7, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 400, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": 8.5, + "text-max-width": 8, + "text-field": "{_name}", + "icon-image": "Road/Shield blue white/{_len}", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport", + "text-padding": { + "stops": [ + [ + 7, + 50 + ], + [ + 10, + 50 + ], + [ + 11, + 15 + ] + ] + } + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "Road/label/Pedestrian", + "type": "symbol", + "source": "esri", + "source-layer": "Road/label", + "filter": [ + "all", + [ + "==", + "_label_class", + 6 + ], + [ + "!in", + "Viz", + 2 + ] + ], + "minzoom": 15, + "layout": { + "symbol-placement": "line", + "symbol-avoid-edges": true, + "symbol-spacing": 400, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 9.3, + "text-letter-spacing": 0.05, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 5 + }, + "paint": { + "text-color": "#595959", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1 + } + }, + { + "id": "Building/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Building/label", + "minzoom": 15, + "layout": { + "visibility": "none", + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#5a3514", + "text-halo-color": "#EBE7E2", + "text-halo-width": 0.7, + "text-halo-blur": 1 + } + }, + { + "id": "Cemetery/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Cemetery/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#2d4e28", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Freight/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Freight/label", + "minzoom": 12, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#4a2b1b", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Water and wastewater/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Water and wastewater/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#4a2b1b", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Port/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Port/label", + "minzoom": 12, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#4a2b1b", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Industry/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Industry/label", + "minzoom": 12, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#4a2b1b", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Government/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Government/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#4a2b1b", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Finance/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Finance/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#9d5a48", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Emergency/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Emergency/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#33302f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Indigenous/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Indigenous/label", + "minzoom": 7, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 9.5 + ], + [ + 20, + 12.5 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#533d32", + "text-halo-color": "#e8e6d6", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Military/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Military/label", + "minzoom": 6, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 9.5 + ], + [ + 20, + 12.5 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 25, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#242221", + "text-halo-color": "#E0E0D9", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Transportation/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Transportation/label", + "minzoom": 13, + "layout": { + "visibility": "none", + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#242221", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Pedestrian/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Pedestrian/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#242221", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Beach/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Beach/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": 0.08, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#806b3c", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Golf course/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Golf course/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#2d4e28", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Zoo/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Zoo/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#2d4e28", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Retail/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Retail/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#9d5a48", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Landmark/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Landmark/label", + "minzoom": 13, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#446757", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Openspace or forest/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Openspace or forest/label", + "minzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 25 + }, + "paint": { + "text-color": "#006200", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Park or farming/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Park or farming/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 25 + }, + "paint": { + "text-color": "#006200", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Point of interest/Park", + "type": "symbol", + "source": "esri", + "source-layer": "Point of interest", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": "#006200", + "text-halo-width": 1, + "text-halo-color": "#EBE7E2", + "text-halo-blur": 1 + } + }, + { + "id": "Education/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Education/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#505000", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Medical/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Medical/label", + "minzoom": 11, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#3d5d69", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 forest or park/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 forest or park/label", + "minzoom": 7, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 9.5 + ], + [ + 20, + 12.5 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 25 + }, + "paint": { + "text-color": "#006200", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 forest or park/label/Default", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 forest or park/label", + "minzoom": 6, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 9.5 + ], + [ + 20, + 12.5 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 25, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#006200", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Airport/label/Airport property", + "type": "symbol", + "source": "esri", + "source-layer": "Airport/label", + "minzoom": 9, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 9, + 8.5 + ], + [ + 15, + 9.5 + ], + [ + 20, + 12.5 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15, + "symbol-avoid-edges": true + }, + "paint": { + "text-color": "#5f5e5c", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin2 area/label/small", + "type": "symbol", + "source": "esri", + "source-layer": "Admin2 area/label", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 9, + "maxzoom": 11, + "layout": { + "text-letter-spacing": 0.2, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 11, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#80755f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin2 area/label/large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin2 area/label", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 9, + "maxzoom": 11, + "layout": { + "text-letter-spacing": 0.2, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": 13, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#80755f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 area/label/x small", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 area/label", + "filter": [ + "==", + "_label_class", + 5 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-transform": "uppercase", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 4, + 8.5 + ], + [ + 5, + 9.5 + ], + [ + 6, + 10.3 + ], + [ + 9, + 11 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.1 + ], + [ + 8, + 0.2 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 4, + "#554434" + ], + [ + 6, + "#39240e" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 area/label/small", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 area/label", + "filter": [ + "==", + "_label_class", + 4 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-transform": "uppercase", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 4, + 8.5 + ], + [ + 5, + 9.5 + ], + [ + 6, + 10.5 + ], + [ + 9, + 11.5 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.1 + ], + [ + 8, + 0.2 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 4, + "#554434" + ], + [ + 6, + "#39240e" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 area/label/medium", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 area/label", + "filter": [ + "==", + "_label_class", + 3 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-transform": "uppercase", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 4, + 9.5 + ], + [ + 5, + 10.5 + ], + [ + 6, + 11.3 + ], + [ + 9, + 12 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.15 + ], + [ + 8, + 0.4 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 4, + "#554434" + ], + [ + 6, + "#39240e" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 area/label/large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 area/label", + "filter": [ + "==", + "_label_class", + 2 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-transform": "uppercase", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 4, + 9.5 + ], + [ + 5, + 11.3 + ], + [ + 6, + 13 + ], + [ + 9, + 17 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.1 + ], + [ + 8, + 0.5 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 4, + "#554434" + ], + [ + 6, + "#39240e" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 area/label/x large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 area/label", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-transform": "uppercase", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 4, + 10.3 + ], + [ + 5, + 12 + ], + [ + 6, + 13.5 + ], + [ + 9, + 19 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.15 + ], + [ + 8, + 0.6 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 4, + "#554434" + ], + [ + 6, + "#39240e" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin1 area/label/2x large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin1 area/label", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Montserrat SemiBold" + ], + "text-transform": "uppercase", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-size": { + "stops": [ + [ + 4, + 11.5 + ], + [ + 5, + 12.3 + ], + [ + 6, + 14 + ], + [ + 9, + 19 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.15 + ], + [ + 8, + 0.75 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 4, + "#554434" + ], + [ + 6, + "#39240e" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Point of interest/General", + "type": "symbol", + "source": "esri", + "source-layer": "Point of interest", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 9, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": { + "stops": [ + [ + 9, + "#5a3514" + ], + [ + 11, + "#5a3514" + ] + ] + }, + "text-halo-width": 1, + "text-halo-color": "#EBE7E2", + "text-halo-blur": 1 + } + }, + { + "id": "Point of interest/Bus station", + "type": "symbol", + "source": "esri", + "source-layer": "Point of interest", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 12, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": { + "stops": [ + [ + 9, + "#5a3514" + ], + [ + 11, + "#5a3514" + ] + ] + }, + "text-halo-width": 1, + "text-halo-color": "#EBE7E2", + "text-halo-blur": 1 + } + }, + { + "id": "Point of interest/Rail station", + "type": "symbol", + "source": "esri", + "source-layer": "Point of interest", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 12, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 15, + 9.5 + ], + [ + 20, + 11 + ], + [ + 22, + 15 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 20, + 0.15 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-color": { + "stops": [ + [ + 9, + "#5a3514" + ], + [ + 11, + "#5a3514" + ] + ] + }, + "text-halo-width": 1, + "text-halo-color": "#EBE7E2", + "text-halo-blur": 1 + } + }, + { + "id": "Neighborhood", + "type": "symbol", + "source": "esri", + "source-layer": "Neighborhood", + "minzoom": 14, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 10 + ], + [ + 16, + 14 + ] + ] + }, + "text-letter-spacing": 0.08, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 1 + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City large scale/town small", + "type": "symbol", + "source": "esri", + "source-layer": "City large scale", + "filter": [ + "==", + "_label_class", + 5 + ], + "minzoom": 10, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 11 + ], + [ + 16, + 15 + ] + ] + }, + "text-letter-spacing": 0.08, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 15 + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City large scale/town large", + "type": "symbol", + "source": "esri", + "source-layer": "City large scale", + "filter": [ + "==", + "_label_class", + 4 + ], + "minzoom": 10, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": { + "stops": [ + [ + 10, + 11 + ], + [ + 16, + 17 + ] + ] + }, + "text-letter-spacing": 0.09, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 1 + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City large scale/small", + "type": "symbol", + "source": "esri", + "source-layer": "City large scale", + "filter": [ + "==", + "_label_class", + 3 + ], + "minzoom": 10, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 1, + "text-size": { + "stops": [ + [ + 10, + 12 + ], + [ + 16, + 18 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City large scale/medium", + "type": "symbol", + "source": "esri", + "source-layer": "City large scale", + "filter": [ + "==", + "_label_class", + 2 + ], + "minzoom": 10, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 1, + "text-size": { + "stops": [ + [ + 10, + 13 + ], + [ + 16, + 20 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City large scale/large", + "type": "symbol", + "source": "esri", + "source-layer": "City large scale", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 10, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 1, + "text-size": { + "stops": [ + [ + 10, + 14 + ], + [ + 16, + 26 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City large scale/x large", + "type": "symbol", + "source": "esri", + "source-layer": "City large scale", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 10, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Montserrat SemiBold" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-field": "{_name_global}", + "text-padding": 1, + "text-size": { + "stops": [ + [ + 10, + 14.5 + ], + [ + 16, + 31 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/town small non capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 17 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 11, + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left" + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/town large non capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 15 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 11, + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left" + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/small non capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 12 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 11.5, + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left" + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/medium non capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 9 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 12.3 + ], + [ + 8, + 13 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/other capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 18 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 11.5, + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left" + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/town large other capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 14 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 11.5, + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left" + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/small other capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 11 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-size": 11.5, + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left" + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/medium other capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 8 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 12.3 + ], + [ + 8, + 13 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 point/x small", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 point", + "filter": [ + "==", + "_label_class", + 5 + ], + "minzoom": 5, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-letter-spacing": { + "stops": [ + [ + 5, + 0.13 + ], + [ + 8, + 0.5 + ] + ] + }, + "text-size": { + "stops": [ + [ + 5, + 13 + ], + [ + 10, + 18 + ] + ] + } + }, + "paint": { + "text-color": "#0f010f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 point/small", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 point", + "filter": [ + "==", + "_label_class", + 4 + ], + "minzoom": 4, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-letter-spacing": { + "stops": [ + [ + 4, + 0.13 + ], + [ + 8, + 0.5 + ] + ] + }, + "text-size": { + "stops": [ + [ + 4, + 13 + ], + [ + 10, + 18 + ] + ] + } + }, + "paint": { + "text-color": "#0f010f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 point/medium", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 point", + "filter": [ + "==", + "_label_class", + 3 + ], + "minzoom": 2, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-letter-spacing": { + "stops": [ + [ + 2, + 0.13 + ], + [ + 8, + 0.5 + ] + ] + }, + "text-size": { + "stops": [ + [ + 2, + 10 + ], + [ + 4, + 14 + ], + [ + 10, + 22 + ] + ] + } + }, + "paint": { + "text-color": "#0f010f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 point/large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 point", + "filter": [ + "==", + "_label_class", + 2 + ], + "minzoom": 2, + "maxzoom": 10, + "layout": { + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-letter-spacing": { + "stops": [ + [ + 2, + 0.13 + ], + [ + 8, + 0.5 + ] + ] + }, + "text-size": { + "stops": [ + [ + 2, + 11 + ], + [ + 4, + 14 + ], + [ + 6, + 22 + ] + ] + } + }, + "paint": { + "text-color": "#0f010f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 point/x large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 point", + "filter": [ + "==", + "_label_class", + 1 + ], + "minzoom": 2, + "maxzoom": 8, + "layout": { + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-line-height": 1.5, + "text-letter-spacing": { + "stops": [ + [ + 2, + 0.15 + ], + [ + 6, + 0.5 + ] + ] + }, + "text-size": { + "stops": [ + [ + 2, + 11.5 + ], + [ + 4, + 15 + ], + [ + 6, + 23 + ] + ] + } + }, + "paint": { + "text-color": "#0f010f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/town small admin0 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 16 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/town large admin0 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 13 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/small admin0 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 10 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/medium admin0 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 7 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-color": "#343434", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/large other capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 5 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 12.3 + ], + [ + 8, + 13 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#343434" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/x large admin2 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 2 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#343434" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/large non capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 6 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 12.3 + ], + [ + 8, + 13 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#343434" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/large admin0 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 4 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#2d2d2d" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/x large non capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 3 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#343434" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/x large admin1 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 1 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#343434" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "City small scale/x large admin0 capital", + "type": "symbol", + "source": "esri", + "source-layer": "City small scale", + "filter": [ + "==", + "_symbol", + 0 + ], + "minzoom": 3, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "icon-image": "City small scale", + "icon-padding": 1, + "text-font": [ + "Montserrat SemiBold" + ], + "text-anchor": "bottom-left", + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "text-offset": [ + 0.2, + 0.1 + ], + "text-justify": "left", + "text-size": { + "stops": [ + [ + 4, + 12.3 + ], + [ + 6, + 13.5 + ], + [ + 8, + 14.3 + ] + ] + } + }, + "paint": { + "text-color": { + "stops": [ + [ + 2, + "#2d2d2d" + ], + [ + 3, + "#000000" + ] + ] + }, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Admin0 point/2x large", + "type": "symbol", + "source": "esri", + "source-layer": "Admin0 point", + "filter": [ + "==", + "_label_class", + 0 + ], + "minzoom": 2, + "maxzoom": 6, + "layout": { + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1, + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-line-height": 1.7, + "text-letter-spacing": { + "stops": [ + [ + 2, + 0.3 + ], + [ + 5, + 0.5 + ] + ] + }, + "text-size": { + "stops": [ + [ + 2, + 14 + ], + [ + 4, + 22.5 + ], + [ + 5, + 28 + ] + ] + } + }, + "paint": { + "text-color": "#0f010f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Continent", + "type": "symbol", + "source": "esri", + "source-layer": "Continent", + "maxzoom": 2, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 0, + 8.3 + ], + [ + 1, + 10.3 + ] + ] + }, + "text-letter-spacing": 0.35, + "text-max-width": 8, + "text-line-height": 1.75, + "text-field": "{_name_global}", + "text-padding": 1, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#363636", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "Disputed label point/Island", + "type": "symbol", + "source": "esri", + "source-layer": "Disputed label point", + "filter": [ + "all", + [ + "==", + "_label_class", + 1 + ], + [ + "in", + "DisputeID", + 0 + ] + ], + "minzoom": 6, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 6, + 7 + ], + [ + 15, + 10 + ] + ] + }, + "text-letter-spacing": 0.13, + "text-line-height": 1.5, + "text-max-width": 4, + "text-field": "{_name}", + "text-padding": 1 + }, + "paint": { + "text-color": "#595959", + "text-halo-blur": 1, + "text-halo-color": "#EBE7E2", + "text-halo-width": 1 + } + }, + { + "id": "Disputed label point/Waterbody", + "type": "symbol", + "source": "esri", + "source-layer": "Disputed label point", + "filter": [ + "all", + [ + "==", + "_label_class", + 0 + ], + [ + "in", + "DisputeID", + 1006 + ] + ], + "minzoom": 2, + "maxzoom": 10, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Demi Italic" + ], + "text-size": { + "stops": [ + [ + 2, + 8 + ], + [ + 6, + 9.3 + ] + ] + }, + "text-letter-spacing": 0.1, + "text-max-width": 6, + "text-field": "{_name}", + "text-padding": 1 + }, + "paint": { + "text-color": { + "stops": [ + [ + 1, + "#0d6c9a" + ], + [ + 6, + "#0d6c9a" + ] + ] + }, + "text-halo-blur": 1, + "text-halo-color": "#82CFF5", + "text-halo-width": 0.5 + } + }, + { + "id": "Disputed label point/Admin0", + "type": "symbol", + "source": "esri", + "source-layer": "Disputed label point", + "filter": [ + "all", + [ + "==", + "_label_class", + 2 + ], + [ + "in", + "DisputeID", + 1021 + ] + ], + "minzoom": 2, + "layout": { + "symbol-avoid-edges": true, + "text-font": [ + "Avenir Next LT Pro Bold" + ], + "text-size": { + "stops": [ + [ + 2, + 10 + ], + [ + 4, + 14 + ], + [ + 10, + 22 + ] + ] + }, + "text-letter-spacing": { + "stops": [ + [ + 2, + 0.13 + ], + [ + 8, + 0.5 + ] + ] + }, + "text-max-width": 8, + "text-field": "{_name}", + "text-padding": 1 + }, + "paint": { + "text-color": "#1f1d1f", + "text-halo-color": "#EBE7E2", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "mapillary-images", + "type": "circle", + "source": "mly", + "source-layer": "image", + "maxzoom": 22, + "minzoom": 11, + "filter": [ + "all", + ["==", "is_pano", true], + ["==", "organization_id", 518073312556755] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "circle-radius": { + "base": 1, + "stops": [[13, 0.1], [14, 0.5], [17, 2], [18.5, 4], [19, 7], [19.5, 10]] + }, + "circle-color": "rgba(20,20,120,0)" + } + }, + { + "id": "mapillary-location", + "type": "symbol", + "source": "mapillary", + "layout": { + "icon-rotate": ["get", "bearing"], + "icon-rotation-alignment": "map", + "icon-image": "video" + } + }, + { + "id": "parcels", + "type": "line", + "source": "parcels", + "source-layer": "parcels", + "minzoom": 11, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": { + "stops": [ + [14, "#222"], + [17, "#333"], + [17.1, "#444"], + [18, "#333"] + ] + }, + "line-width": { + "base": 1, + "stops": [ + [12, 0.1], + [14, 0.75], + [17, 1.5], + [20, 4] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [12, 0], + [12.1, 0.5], + [22, 1] + ] + } + } + }, + { + "id": "parcels-highlight", + "type": "line", + "source": "parcels", + "source-layer": "parcels", + "minzoom": 11, + "filter": ["==", "parcelno", ""], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "#feb70d", + "line-width": { + "base": 1, + "stops": [ + [12, 0.5], + [14, 2], + [15, 3], + [22, 10] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [12, 0], + [12.1, 0.1], + [12.5, 1], + [22, 1] + ] + } + } + }, + { + "id": "parcels-fill", + "type": "fill", + "source": "parcels", + "source-layer": "parcels", + "interactive": true, + "minzoom": 12, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "rgba(0,0,0,0)" + } + } + ], + "metadata": { + "arcgisStyleUrl": "https://www.arcgis.com/sharing/rest/content/items/273bf8d5c8ac400183fc24e109d20bcf/resources/styles/root.json", + "arcgisOriginalItemTitle": "Community" + } + } \ No newline at end of file diff --git a/src/components/test-data.json b/src/components/test-data.json new file mode 100644 index 0000000..5c67726 --- /dev/null +++ b/src/components/test-data.json @@ -0,0 +1,313 @@ +{ + "name": "d6", + "data": { + "type" : "FeatureCollection", + "features" : [ + { + "type" : "Feature", + "id" : 1, + "geometry" : + { + "type" : "Point", + "coordinates" : [ + -83.0667049083513, 42.3316885335753 + ] + }, + "properties" : { + "business_survey_id" : "6011", + "business_name" : "McShane's Irish Pub & Whiskey Bar", + "business_website" : "https://mcshanespub.com/", + "business_phone_number" : "+1 (313) 961-1960", + "street_number" : 1460, + "street_prefix" : "", + "street_name" : "Michigan", + "unit_type" : "Unit", + "unit_number" : "", + "city" : "Detroit", + "state" : "MI", + "zip_code" : "48216", + "profit_or_nonprofit" : "For-profit / con fines de lucro / هادفة للربح", + "primary_type_of_service" : "Bar/Restaurant / Bar/Restaurante / حانة / مطعم", + "faith_tradition" : "", + "has_clinic_community_health_ser" : null, + "has_dental_service" : null, + "has_emergency_urgent_care_servi" : null, + "has_family_health_service" : null, + "has_mental_health_service" : null, + "has_pediatric_service" : null, + "has_primary_care_service" : null, + "has_sexual_health_service" : null, + "has_specialist_service" : null, + "has_other_health_service" : null, + "is_public_transit_accessible" : 1, + "is_ada_accessible" : null, + "has_bike_rack" : null, + "has_parking_lot" : null, + "is_cash_only" : null, + "has_free_wifi" : null, + "has_gender_neutral_bathrooms" : null, + "has_rental_space" : null, + "is_asian_owned" : null, + "is_black_owned" : null, + "is_lgbtq_owned" : null, + "is_indigenous_owned" : null, + "is_middle_eastern_owned" : null, + "is_veteran_owned" : null, + "is_minority_owned" : null, + "is_woman_owned" : null, + "modified_at" : 1692969075000, + "ESRI_OID" : 1, + "amenities" : "Accessible by public transit / Accesible por transporte público / يمكن الوصول بالطريق النقل العام", + "address" : "1460 Michigan Ave", + "healthcare_type" : "", + "business_owner_demographics" : "", + "street_type" : "Ave" + } + }, + { + "type" : "Feature", + "id" : 2, + "geometry" : + { + "type" : "Point", + "coordinates" : [ + -83.0194216508142, 42.3446372944598 + ] + }, + "properties" : { + "business_survey_id" : "6008", + "business_name" : "D6 CM GSR", + "business_website" : "https://detroitmi.gov/government/city-council/city-council-district-6", + "business_phone_number" : "+1 (313) 224-2450", + "street_number" : 2, + "street_prefix" : "", + "street_name" : "Woods", + "unit_type" : "Suite", + "unit_number" : "1340", + "city" : "Detroit", + "state" : "MI", + "zip_code" : "48226", + "profit_or_nonprofit" : "Non-profit / Sin fines de lucro / غير ربحية", + "primary_type_of_service" : "Healthcare/Medical/Dental / Cuidado de la salud/Médico/Dental / الرعاية الصحية / طب / طب الأسنان", + "faith_tradition" : "", + "has_clinic_community_health_ser" : null, + "has_dental_service" : null, + "has_emergency_urgent_care_servi" : null, + "has_family_health_service" : null, + "has_mental_health_service" : null, + "has_pediatric_service" : null, + "has_primary_care_service" : 1, + "has_sexual_health_service" : null, + "has_specialist_service" : null, + "has_other_health_service" : null, + "is_public_transit_accessible" : 1, + "is_ada_accessible" : 1, + "has_bike_rack" : 1, + "has_parking_lot" : null, + "is_cash_only" : null, + "has_free_wifi" : null, + "has_gender_neutral_bathrooms" : null, + "has_rental_space" : null, + "is_asian_owned" : null, + "is_black_owned" : null, + "is_lgbtq_owned" : 1, + "is_indigenous_owned" : null, + "is_middle_eastern_owned" : null, + "is_veteran_owned" : null, + "is_minority_owned" : null, + "is_woman_owned" : 1, + "modified_at" : 1690916288000, + "ESRI_OID" : 2, + "amenities" : "Accessible by public transit / Accesible por transporte público / يمكن الوصول بالطريق النقل العام, ADA Accessible/Barrier free / Accesible según la ADA/sin barreras / خالي من الحواجز/ (ADA) سهل الحصول على قانون الأمريكي المعاقين, Bike rack / Portabicicletas/ رف الدراجة, Free Wi-Fi / Wi-Fi gratis / واي فاي مجاني", + "address" : "2 Woods Cir", + "healthcare_type" : "Primary Care / Atención primaria / رعاية الصحة الأولية", + "business_owner_demographics" : "Latinx-owned / propiedad de latinos / المملوكة لاتنية, LGBTQ-owned / Propiedad LGBTQ / المملوكة المثليي الجنس والمتحولين جنسيا, Woman-owned / propiedad de una mujer / المملوكة للمرأة", + "street_type" : "Cir" + } + }, + { + "type" : "Feature", + "id" : 3, + "geometry" : + { + "type" : "Point", + "coordinates" : [ + -83.0929805515992, 42.3316666742977 + ] + }, + "properties" : { + "business_survey_id" : "6012", + "business_name" : "27th Letter Books", + "business_website" : "https://www.27thletterbooks.com/", + "business_phone_number" : "+1 (313) 652-1552", + "street_number" : 3546, + "street_prefix" : "", + "street_name" : "Michigan", + "unit_type" : "Unit", + "unit_number" : "", + "city" : "Detroit", + "state" : "MI", + "zip_code" : "48216", + "profit_or_nonprofit" : "For-profit / con fines de lucro / هادفة للربح", + "primary_type_of_service" : "Retail / Lugar de ventas / مفرق", + "faith_tradition" : "", + "has_clinic_community_health_ser" : null, + "has_dental_service" : null, + "has_emergency_urgent_care_servi" : null, + "has_family_health_service" : null, + "has_mental_health_service" : null, + "has_pediatric_service" : null, + "has_primary_care_service" : null, + "has_sexual_health_service" : null, + "has_specialist_service" : null, + "has_other_health_service" : null, + "is_public_transit_accessible" : null, + "is_ada_accessible" : null, + "has_bike_rack" : null, + "has_parking_lot" : null, + "is_cash_only" : null, + "has_free_wifi" : null, + "has_gender_neutral_bathrooms" : null, + "has_rental_space" : null, + "is_asian_owned" : 1, + "is_black_owned" : 1, + "is_lgbtq_owned" : null, + "is_indigenous_owned" : null, + "is_middle_eastern_owned" : null, + "is_veteran_owned" : 1, + "is_minority_owned" : 1, + "is_woman_owned" : 1, + "modified_at" : 1692969075000, + "ESRI_OID" : 3, + "amenities" : "", + "address" : "3546 Michigan Ave", + "healthcare_type" : "", + "business_owner_demographics" : "Asian-owned / De propiedad asiática / المملوكة لآسيا, Black-owned / propiedad de negros / المملوكة للسود, Minority-owned / Propiedad de minorías / تملكها أقلية, Veteran-owned / Propiedad de veteranos / المملوكة المخضرم, Woman-owned / propiedad de una mujer / المملوكة للمرأة", + "street_type" : "Ave" + } + }, + { + "type" : "Feature", + "id" : 4, + "geometry" : + { + "type" : "Point", + "coordinates" : [ + -83.0636146608718, 42.351349933761 + ] + }, + "properties" : { + "business_survey_id" : "6010", + "business_name" : "Source Booksellers", + "business_website" : "http://www.sourcebooksellers.com/", + "business_phone_number" : "+1 (313) 832-1155", + "street_number" : 4240, + "street_prefix" : "", + "street_name" : "Cass", + "unit_type" : "Unit", + "unit_number" : "105", + "city" : "Detroit", + "state" : "MI", + "zip_code" : "48201", + "profit_or_nonprofit" : "For-profit / con fines de lucro / هادفة للربح", + "primary_type_of_service" : "Retail / Lugar de ventas / مفرق", + "faith_tradition" : "", + "has_clinic_community_health_ser" : null, + "has_dental_service" : null, + "has_emergency_urgent_care_servi" : null, + "has_family_health_service" : null, + "has_mental_health_service" : null, + "has_pediatric_service" : null, + "has_primary_care_service" : null, + "has_sexual_health_service" : null, + "has_specialist_service" : null, + "has_other_health_service" : null, + "is_public_transit_accessible" : 1, + "is_ada_accessible" : 1, + "has_bike_rack" : 1, + "has_parking_lot" : null, + "is_cash_only" : null, + "has_free_wifi" : null, + "has_gender_neutral_bathrooms" : null, + "has_rental_space" : null, + "is_asian_owned" : null, + "is_black_owned" : null, + "is_lgbtq_owned" : null, + "is_indigenous_owned" : null, + "is_middle_eastern_owned" : null, + "is_veteran_owned" : null, + "is_minority_owned" : 1, + "is_woman_owned" : 1, + "modified_at" : 1692969075000, + "ESRI_OID" : 4, + "amenities" : "Accessible by public transit / Accesible por transporte público / يمكن الوصول بالطريق النقل العام, ADA Accessible/Barrier free / Accesible según la ADA/sin barreras / خالي من الحواجز/ (ADA) سهل الحصول على قانون الأمريكي المعاقين, Bike rack / Portabicicletas/ رف الدراجة", + "address" : "4240 Cass Ave", + "healthcare_type" : "", + "business_owner_demographics" : "Minority-owned / Propiedad de minorías / تملكها أقلية, Woman-owned / propiedad de una mujer / المملوكة للمرأة", + "street_type" : "Ave" + } + }, + { + "type" : "Feature", + "id" : 5, + "geometry" : + { + "type" : "Point", + "coordinates" : [ + -83.092608693067, 42.3174721837889 + ] + }, + "properties" : { + "business_survey_id" : "6007", + "business_name" : "Test Business", + "business_website" : "", + "business_phone_number" : "+1 (313) 111-1111", + "street_number" : 4301, + "street_prefix" : "W", + "street_name" : "Vernor", + "unit_type" : "", + "unit_number" : "", + "city" : "Detroit", + "state" : "MI", + "zip_code" : "48209", + "profit_or_nonprofit" : "Non-profit / Sin fines de lucro / غير ربحية", + "primary_type_of_service" : "Other / Otra / آخر", + "faith_tradition" : "", + "has_clinic_community_health_ser" : null, + "has_dental_service" : null, + "has_emergency_urgent_care_servi" : null, + "has_family_health_service" : null, + "has_mental_health_service" : null, + "has_pediatric_service" : null, + "has_primary_care_service" : null, + "has_sexual_health_service" : null, + "has_specialist_service" : null, + "has_other_health_service" : null, + "is_public_transit_accessible" : 1, + "is_ada_accessible" : null, + "has_bike_rack" : 1, + "has_parking_lot" : 1, + "is_cash_only" : null, + "has_free_wifi" : null, + "has_gender_neutral_bathrooms" : null, + "has_rental_space" : null, + "is_asian_owned" : null, + "is_black_owned" : null, + "is_lgbtq_owned" : null, + "is_indigenous_owned" : null, + "is_middle_eastern_owned" : null, + "is_veteran_owned" : null, + "is_minority_owned" : null, + "is_woman_owned" : null, + "modified_at" : 1690915332000, + "ESRI_OID" : 5, + "amenities" : "Accessible by public transit / Accesible por transporte público / يمكن الوصول بالطريق النقل العام, Bike rack / Portabicicletas/ رف الدراجة, Parking lot / Estacionamiento / موقف سياراة", + "address" : "4301 W Vernor Hwy", + "healthcare_type" : "", + "business_owner_demographics" : "", + "street_type" : "Hwy" + } + } + ] + } +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..478e533 --- /dev/null +++ b/src/index.js @@ -0,0 +1,2 @@ +import D6BusinessMap from './components/D6BusinessMap'; +customElements.define('d6-business-map', D6BusinessMap); \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..499108a --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,152 @@ +const path = require("path"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const webpack = require("webpack"); +const TerserWebpackPlugin = require("terser-webpack-plugin"); +const CssMinimizerPlugin = require("css-minimizer-webpack-plugin"); +const { sentryWebpackPlugin } = require("@sentry/webpack-plugin"); + +module.exports = function(_env, argv) { + const isProduction = argv.mode === "production"; + const isDevelopment = !isProduction; + + return { + devtool: isProduction ? "source-map" : "cheap-module-source-map", + entry: "./src/index.js", + output: { + path: path.resolve(__dirname, "build"), + filename: "assets/js/[name].js", + publicPath: "" + }, + module: { + rules: [ + { + test: /\.jsx?$/, + exclude: /node_modules/, + use: { + loader: "babel-loader", + options: { + cacheDirectory: true, + cacheCompression: false, + envName: isProduction ? "production" : "development" + } + } + }, + { + test: /\.css$/i, + use: [ + isProduction ? MiniCssExtractPlugin.loader : "style-loader", + "css-loader" + ] + }, + { + test: /\.s[ac]ss$/i, + use: [ + isProduction ? MiniCssExtractPlugin.loader : "style-loader", + "css-loader", "sass-loader" + ] + }, + { + test: /\.(png|jpg|gif)$/i, + use: { + loader: "url-loader", + options: { + limit: 8192, + name: "static/media/[name].[hash:8].[ext]" + } + } + }, + { + test: /\.svg$/, + use: ["@svgr/webpack"] + }, + { + test: /\.(eot|otf|ttf|woff|woff2)$/, + loader: require.resolve("file-loader"), + options: { + name: "static/media/[name].[hash:8].[ext]" + } + } + ] + }, + resolve: { + extensions: [".js", ".jsx"] + }, + plugins: [ + isProduction && + new MiniCssExtractPlugin({ + filename: "assets/css/[name].css", + chunkFilename: "assets/css/[name].chunk.css" + }), + new HtmlWebpackPlugin({ + template: path.resolve(__dirname, "public/index.html"), + inject: true + }), + new webpack.DefinePlugin({ + "process.env.NODE_ENV": JSON.stringify( + isProduction ? "production" : "development" + ) + }), + isProduction && sentryWebpackPlugin({ + org: "cityofdetroit", + project: "myhomeinfo", + + // Auth tokens can be obtained from https://sentry.io/settings/account/api/auth-tokens/ + // and need `project:releases` and `org:read` scopes + authToken: process.env.SENTRY_AUTH_TOKEN, + }), + ].filter(Boolean), + optimization: { + minimize: isProduction, + minimizer: [ + new TerserWebpackPlugin({ + terserOptions: { + compress: { + comparisons: false + }, + mangle: { + safari10: true + }, + output: { + comments: false, + ascii_only: true + }, + warnings: false + } + }), + new CssMinimizerPlugin(), + ], + splitChunks: { + chunks: "all", + minSize: 0, + maxInitialRequests: 10, + maxAsyncRequests: 10, + cacheGroups: { + vendors: { + test: /[\\/]node_modules[\\/]/, + name(module, chunks, cacheGroupKey) { + const packageName = module.context.match( + /[\\/]node_modules[\\/](.*?)([\\/]|$)/ + )[1]; + return `${cacheGroupKey}.${packageName.replace("@", "")}`; + } + }, + common: { + minChunks: 2, + priority: -10 + } + } + }, + runtimeChunk: "single" + }, + devServer: { + port: 3000, + compress: true, + historyApiFallback: true, + open: true, + client: { + overlay: true + } + } + }; +}; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..481a5a2 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,8344 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@auto-it/bot-list@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@auto-it/bot-list/-/bot-list-11.0.4.tgz#a247281531bc4ee4bde791515fd6ad98bc48afe0" + integrity sha512-f3w9UZ655MLiELUQP28K9Gceptf2vvKdKVRzh2b2ST+PG/srmoxCnHgE/TO9afW7NiuUA1h+hQVyIb0eQ9VSfQ== + +"@auto-it/core@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@auto-it/core/-/core-11.0.4.tgz#2a030c4eb58d70a8e74480e1d92b72b5cc824d9c" + integrity sha512-oYIByeGeuiM0MhWibbj3Y4Vj8p5Kt1n4g0hKL7Zu7oFlKmAjsZlwbH4z0wEjVTdK2+Eqg2/I1Dj/GgkiSriXgg== + dependencies: + "@auto-it/bot-list" "11.0.4" + "@endemolshinegroup/cosmiconfig-typescript-loader" "^3.0.2" + "@octokit/core" "^3.5.1" + "@octokit/plugin-enterprise-compatibility" "1.3.0" + "@octokit/plugin-retry" "^3.0.9" + "@octokit/plugin-throttling" "^3.6.2" + "@octokit/rest" "^18.12.0" + await-to-js "^3.0.0" + chalk "^4.0.0" + cosmiconfig "7.0.0" + deepmerge "^4.0.0" + dotenv "^8.0.0" + endent "^2.1.0" + enquirer "^2.3.4" + env-ci "^5.0.1" + fast-glob "^3.1.1" + fp-ts "^2.5.3" + fromentries "^1.2.0" + gitlog "^4.0.3" + https-proxy-agent "^5.0.0" + import-cwd "^3.0.0" + import-from "^3.0.0" + io-ts "^2.1.2" + lodash.chunk "^4.2.0" + log-symbols "^4.0.0" + node-fetch "2.6.7" + parse-author "^2.0.0" + parse-github-url "1.0.2" + pretty-ms "^7.0.0" + requireg "^0.2.2" + semver "^7.0.0" + signale "^1.4.0" + tapable "^2.2.0" + terminal-link "^2.1.1" + tinycolor2 "^1.4.1" + ts-node "^10.9.1" + tslib "2.1.0" + type-fest "^0.21.1" + typescript-memoize "^1.0.0-alpha.3" + url-join "^4.0.0" + +"@auto-it/npm@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@auto-it/npm/-/npm-11.0.4.tgz#67b6bf78fb6d3f814365796f15541b014db73fcb" + integrity sha512-7sKGswdhQZ0/EryFhMU8DZV/hKZSZTOhJnNTXBtCGRk7oLjRHjt6XVOWCMOMOCNO/wVn5k5r52DbhAy5V4i0GQ== + dependencies: + "@auto-it/core" "11.0.4" + "@auto-it/package-json-utils" "11.0.4" + await-to-js "^3.0.0" + endent "^2.1.0" + env-ci "^5.0.1" + fp-ts "^2.5.3" + get-monorepo-packages "^1.1.0" + io-ts "^2.1.2" + registry-url "^5.1.0" + semver "^7.0.0" + tslib "2.1.0" + typescript-memoize "^1.0.0-alpha.3" + url-join "^4.0.0" + user-home "^2.0.0" + +"@auto-it/package-json-utils@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@auto-it/package-json-utils/-/package-json-utils-11.0.4.tgz#a3660f28ff8df5111d893d37d60af7058514079a" + integrity sha512-Y84CW2QSL1TXkc4cVajODhRFFixDhOGX4JBS/ic3TgeJ94h6QH0Q8so+FxzPwBDWGXmUdLsj8fY/A3n0X09lqA== + dependencies: + parse-author "^2.0.0" + parse-github-url "1.0.2" + +"@auto-it/released@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@auto-it/released/-/released-11.0.4.tgz#1c1a4b6c4ce2def28ae10418f848bceacf834685" + integrity sha512-BfzCr+rJvONgw5EtsmTfoPtjm7C6Yo+vKDiXtI82EctLfUuADV/wCE/zj5e1nACsELpqhqWfgLySvDu1n6bn6g== + dependencies: + "@auto-it/bot-list" "11.0.4" + "@auto-it/core" "11.0.4" + deepmerge "^4.0.0" + fp-ts "^2.5.3" + io-ts "^2.1.2" + tslib "2.1.0" + +"@auto-it/version-file@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@auto-it/version-file/-/version-file-11.0.4.tgz#7281768daef5760add4f9ac3ffeb416791165ac5" + integrity sha512-esKwslQPsPjFC96m0lI/MJI12OFjH92KXtVaQEguGIIXAhs7iop9+y5vLXjOtgNOFVBvk/FKTFItq2mV587aiA== + dependencies: + "@auto-it/core" "11.0.4" + fp-ts "^2.5.3" + io-ts "^2.1.2" + semver "^7.0.0" + tslib "1.10.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" + integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.2" + "@babel/parser" "^7.18.5" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.5" + "@babel/types" "^7.18.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.15.8", "@babel/core@^7.21.3": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.9" + "@babel/parser" "^7.23.9" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.18.2", "@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-builder-react-jsx@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.22.10.tgz#591b1b44a80eb16123b46ad55e9ba42335d6f103" + integrity sha512-cZr0nzCwrMp7Z8owt+YN8OncOqhG1eZLp/aRT5ftBnkLJTCB3Dnq/t52vSfWc6sGRWdDeawbksuh3pYQGCzVwA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/types" "^7.22.10" + +"@babel/helper-compilation-targets@^7.18.2", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": + version "7.23.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" + integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.18.2", "@babel/helpers@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.18.5", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-proposal-class-properties@^7.14.5": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" + integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.8": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" + integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" + +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-constant-elements@^7.21.3", "@babel/plugin-transform-react-constant-elements@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz#5efc001d07ef0f7da0d73c3a86c132f73d28e43c" + integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-inline-elements@^7.16.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-inline-elements/-/plugin-transform-react-inline-elements-7.23.3.tgz#e5f60c66da8df963057b6ce29f7150dbb327bf6e" + integrity sha512-NM86KpgxSSvk+GG/PiTBCw386OYdcpLRM6jngy84U7dsZKdtRQSud6BRxSzvuoQmP9r7b7V6X4P9PJjsWVr9mA== + dependencies: + "@babel/helper-builder-react-jsx" "^7.22.10" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.15.8": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" + integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.16.0", "@babel/preset-env@^7.20.2": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" + integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.9" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.8" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.9" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + +"@babel/preset-typescript@^7.21.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.15.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.16.7", "@babel/template@^7.22.15", "@babel/template@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/traverse@^7.18.5", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.18.4", "@babel/types@^7.21.3", "@babel/types@^7.22.10", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.4.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@cypress/request@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" + integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "6.10.4" + safe-buffer "^5.1.2" + tough-cookie "^4.1.3" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@endemolshinegroup/cosmiconfig-typescript-loader@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d" + integrity sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA== + dependencies: + lodash.get "^4" + make-error "^1" + ts-node "^9" + tslib "^2" + +"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@octokit/auth-token@^2.4.4": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== + dependencies: + "@octokit/types" "^6.0.3" + +"@octokit/core@^3.5.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" + integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.3" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.12" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== + dependencies: + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.5.8": + version "4.8.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== + dependencies: + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^12.11.0": + version "12.11.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" + integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== + +"@octokit/plugin-enterprise-compatibility@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-compatibility/-/plugin-enterprise-compatibility-1.3.0.tgz#034f035cc1789b0f0d616e71e41f50f73804e89e" + integrity sha512-h34sMGdEOER/OKrZJ55v26ntdHb9OPfR1fwOx6Q4qYyyhWA104o11h9tFxnS/l41gED6WEI41Vu2G2zHDVC5lQ== + dependencies: + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.0.3" + +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.21.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz#7f12532797775640dbb8224da577da7dc210c87e" + integrity sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== + dependencies: + "@octokit/types" "^6.40.0" + +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.16.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz#7ee8bf586df97dd6868cf68f641354e908c25342" + integrity sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== + dependencies: + "@octokit/types" "^6.39.0" + deprecation "^2.3.1" + +"@octokit/plugin-retry@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz#ae625cca1e42b0253049102acd71c1d5134788fe" + integrity sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ== + dependencies: + "@octokit/types" "^6.0.3" + bottleneck "^2.15.3" + +"@octokit/plugin-throttling@^3.6.2": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-3.7.0.tgz#a35cd05de22b2ef13fde45390d983ff8365b9a9e" + integrity sha512-qrKT1Yl/KuwGSC6/oHpLBot3ooC9rq0/ryDYBCpkRtoj+R8T47xTMDT6Tk2CxWopFota/8Pi/2SqArqwC0JPow== + dependencies: + "@octokit/types" "^6.0.1" + bottleneck "^2.15.3" + +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== + dependencies: + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.12.0": + version "18.12.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== + dependencies: + "@octokit/core" "^3.5.1" + "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^5.12.0" + +"@octokit/types@^6.0.1", "@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.39.0", "@octokit/types@^6.40.0": + version "6.41.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" + integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== + dependencies: + "@octokit/openapi-types" "^12.11.0" + +"@sentry-internal/feedback@7.100.1": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.100.1.tgz#99585ba6f71eca3e7afe918273dd55b12f3aac8a" + integrity sha512-yqcRVnjf+qS+tC4NxOKLJOaSJ+csHmh/dHUzvCTkf5rLsplwXYRnny2r0tqGTQ4tuXMxwgSMKPYwicg81P+xuw== + dependencies: + "@sentry/core" "7.100.1" + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry-internal/replay-canvas@7.100.1": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.100.1.tgz#d37228575931b869d2ad415af46b342d83dd0fd7" + integrity sha512-TnqxqJGhbFhhYRhTG2WLFer+lVieV7mNGeIxFBiw1L4kuj8KGl+C0sknssKyZSRVJFSahhHIosHJGRMkkD//7g== + dependencies: + "@sentry/core" "7.100.1" + "@sentry/replay" "7.100.1" + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry-internal/tracing@7.100.1": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.100.1.tgz#4329492e50c390567197a4acbf7e3672b1db7820" + integrity sha512-+u9RRf5eL3StiyiRyAHZmdkAR7GTSGx4Mt4Lmi5NEtCcWlTGZ1QgW2r8ZbhouVmTiJkjhQgYCyej3cojtazeJg== + dependencies: + "@sentry/core" "7.100.1" + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry/babel-plugin-component-annotate@2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.14.0.tgz#e62f448dd3c922a6d32e9f1c0a5ae85fa6ec22c2" + integrity sha512-FWU4+Lx6fgxjAkwmc3S9j1Q/6pqKZyZzfi52B+8WMNw7a5QjGXgxc5ucBazZYgrcsJKCFBp4QG3PPxNAieFimQ== + +"@sentry/browser@^7.64.0": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.100.1.tgz#146ffca94cc187ecbf49915ef3100f6037316110" + integrity sha512-IxHQ08ixf0bmaWpe4yt1J4UUsOpg02fxax9z3tOQYXw5MSzz5pDXn8M8DFUVJB3wWuyXhHXTub9yD3VIP9fnoA== + dependencies: + "@sentry-internal/feedback" "7.100.1" + "@sentry-internal/replay-canvas" "7.100.1" + "@sentry-internal/tracing" "7.100.1" + "@sentry/core" "7.100.1" + "@sentry/replay" "7.100.1" + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry/bundler-plugin-core@2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.14.0.tgz#8814ed1a4b290bce914c98e0316199ba44712abe" + integrity sha512-jVM47EPs8Na2z5HOWgthLFhpHLU9hwL2wY4TzHEnS1Bj+ODgXFa8QcIxQR2SO+W+L8YhSbY7z+BpPsYTpeZWUg== + dependencies: + "@babel/core" "7.18.5" + "@sentry/babel-plugin-component-annotate" "2.14.0" + "@sentry/cli" "^2.22.3" + "@sentry/node" "^7.60.0" + "@sentry/utils" "^7.60.0" + dotenv "^16.3.1" + find-up "5.0.0" + glob "9.3.2" + magic-string "0.27.0" + unplugin "1.0.1" + +"@sentry/cli-darwin@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.28.5.tgz#d9ab340acaa8179fbfc0bafbf784e66b52ad5f89" + integrity sha512-+18cWhVcAGB8rGEDQxMn+eZIwXdm7nMp0JJFhZ+QJLA9hYr6m2rLKkQqh9g7TgDPZo+NAsE1KSe/LcFy9gW9gw== + +"@sentry/cli-linux-arm64@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.5.tgz#7c3619288dc052560edad90bf27320e660181d8d" + integrity sha512-a0A06O4lc4vmeVLfbKuIavvqOy1Woe0uGEO4tPt2aELtHS280g0pLn2JZ48wQ7XgfC60UK1h/iW1B+XKcT0aKg== + +"@sentry/cli-linux-arm@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.5.tgz#06f14a6cad7c7a2ae0bc051ce858da65b9d2f95e" + integrity sha512-05MR8BEU+wmHWw9ejD73IQlK737SfEKgRd1WOO+ZYan512yA0CpCTbPMBds3ciZWzyeIcEgLaMhh8syGL8PWeA== + +"@sentry/cli-linux-i686@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.5.tgz#802aca898894bcc76145fd4d3836098d51449ec7" + integrity sha512-mPJVU+H+eyXoq0KoqjptGrnX8utJTAL+iWtiB4MmKxUddTQhuFHzTLKjLQslzY1k0AwDoE2zKK7IwzFDHkPuXw== + +"@sentry/cli-linux-x64@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.5.tgz#a06b84ba3308e0cdeaf068b999bd026404ca24bf" + integrity sha512-XZj35T0WfS9erKelUXZRibCcB7n1tTz/f/xuQRYdHtyIp0gF0RoOXM7rJfqPbMW6r/0mI8lB5f9OHXvttEW4qg== + +"@sentry/cli-win32-i686@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.5.tgz#977d055315f91b3b8ed9e268877d7de8cfe5b473" + integrity sha512-VugwqUqMc8ZNj5J/FWyahVuraoYEID9SIjPolIRcodAySGI47BiR5qx7KA6UF0Dh5UnDLGvb2Tu/u21N/mKc1A== + +"@sentry/cli-win32-x64@2.28.5": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.5.tgz#e152376d0b08226558231c2876fc0515f02ab04b" + integrity sha512-OaOfXxP8Kr0GO/JmdK6waKCtMDECzc5Mo2O+WjjV148GffEMlCfbnbcNdqgug/AyXwT/rhrZC6bIwErIKN3KaQ== + +"@sentry/cli@^2.22.3": + version "2.28.5" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.28.5.tgz#ecac5afbe4fe8476f1416dedf8237237665fce1f" + integrity sha512-MrIPqpjvPFnJYaQ1od02IwJCeuOxMfQw4A26A2oBAipRSrS0j4eRAPSO8oSAqt2yUx0i3MnFl1/vZiaZqgiRMQ== + dependencies: + https-proxy-agent "^5.0.0" + node-fetch "^2.6.7" + progress "^2.0.3" + proxy-from-env "^1.1.0" + which "^2.0.2" + optionalDependencies: + "@sentry/cli-darwin" "2.28.5" + "@sentry/cli-linux-arm" "2.28.5" + "@sentry/cli-linux-arm64" "2.28.5" + "@sentry/cli-linux-i686" "2.28.5" + "@sentry/cli-linux-x64" "2.28.5" + "@sentry/cli-win32-i686" "2.28.5" + "@sentry/cli-win32-x64" "2.28.5" + +"@sentry/core@7.100.1": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.100.1.tgz#7b8e101a931af8e8b3b2449534749f882772df4f" + integrity sha512-f+ItUge/o9AjlveQq0ZUbQauKlPH1FIJbC1TRaYLJ4KNfOdrsh8yZ29RmWv0cFJ/e+FGTr603gWpRPObF5rM8Q== + dependencies: + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry/node@^7.60.0": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.100.1.tgz#36195cc24090a71ec7d1c4513da63356ab44d784" + integrity sha512-jB6tBLr7BpgdE2SlYZu343vvpa5jMFnqyFlprr+jdDu/ayNF4idB0qFwQe8p4C6LI6M/MNDRLVOgPBiCjjZSpw== + dependencies: + "@sentry-internal/tracing" "7.100.1" + "@sentry/core" "7.100.1" + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry/replay@7.100.1": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.100.1.tgz#d9af5f8e92ce0f93cef89f5aef74d91a8d12c3eb" + integrity sha512-B1NFjzGEFaqejxBRdUyEzH8ChXc2kfiqlA/W/Lg0aoWIl2/7nuMk+l4ld9gW5F5bIAXDTVd5vYltb1lWEbpr7w== + dependencies: + "@sentry-internal/tracing" "7.100.1" + "@sentry/core" "7.100.1" + "@sentry/types" "7.100.1" + "@sentry/utils" "7.100.1" + +"@sentry/types@7.100.1": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.100.1.tgz#1349b77269cecf4e80c087842575bd1a001e9995" + integrity sha512-fLM+LedHuKzOd8IhXBqaQuym+AA519MGjeczBa5kGakes/BbAsUMwsNfjsKQedp7Kh44RgYF99jwoRPK2oDrXw== + +"@sentry/utils@7.100.1", "@sentry/utils@^7.60.0": + version "7.100.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.100.1.tgz#6e26f3b06b1e485a2180f464ab3374ecb8d5e407" + integrity sha512-Ve6dXr1o6xiBe3VCoJgiutmBKrugryI65EZAbYto5XI+t+PjiLLf9wXtEMF24ZrwImo4Lv3E9Uqza+fWkEbw6A== + dependencies: + "@sentry/types" "7.100.1" + +"@sentry/webpack-plugin@^2.7.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.14.0.tgz#6351ced08b19a4627995ebbcbe3f15c92fcad761" + integrity sha512-6lYxabSSkoMqz+zsACamYfu8amLSIiYFj+CQBLvWKSW7N6wJvaZKfFVHj5bGlmU7K0X0eJyQdxdk6VfLg129Jw== + dependencies: + "@sentry/bundler-plugin-core" "2.14.0" + unplugin "1.0.1" + uuid "^9.0.0" + +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@turf/along@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/along/-/along-5.1.5.tgz#61d6e6a6584acddab56ac5584e07bf8cbe5f8beb" + integrity sha512-N7BN1xvj6VWMe3UpjQDdVI0j0oY/EZ0bWgOgBXc4DlJ411uEsKCh6iBv0b2MSxQ3YUXEez3oc5FcgO9eVSs7iQ== + dependencies: + "@turf/bearing" "^5.1.5" + "@turf/destination" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/area@5.1.x", "@turf/area@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/area/-/area-5.1.5.tgz#efd899bfd260cdbd1541b2a3c155f8a5d2eefa1d" + integrity sha512-lz16gqtvoz+j1jD9y3zj0Z5JnGNd3YfS0h+DQY1EcZymvi75Frm9i5YbEyth0RfxYZeOVufY7YIS3LXbJlI57g== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/bbox-clip@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/bbox-clip/-/bbox-clip-5.1.5.tgz#3364b5328dff9f3cf41d9e02edaff374d150cc84" + integrity sha512-KP64aoTvjcXxWHeM/Hs25vOQUBJgyJi7DlRVEoZofFJiR1kPnmDQrK7Xj+60lAk5cxuqzFnaPPxUk9Q+3v4p1Q== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + lineclip "^1.1.5" + +"@turf/bbox-polygon@5.1.x", "@turf/bbox-polygon@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/bbox-polygon/-/bbox-polygon-5.1.5.tgz#6aeba4ed51d85d296e0f7c38b88c339f01eee024" + integrity sha512-PKVPF5LABFWZJud8KzzfesLGm5ihiwLbVa54HJjYySe6yqU/cr5q/qcN9TWptynOFhNktG1dr0KXVG0I2FZmfw== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/bbox@5.1.x", "@turf/bbox@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-5.1.5.tgz#3051df514ad4c50f4a4f9b8a2d15fd8b6840eda3" + integrity sha512-sYQU4fqsOYYJoD8UndC1n2hy8hV/lGIAmMLKWuzwmPUWqWOuSKWUcoRWDi9mGB0GvQQe/ow2IxZr8UaVaGz3sQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/bearing@5.1.x", "@turf/bearing@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-5.1.5.tgz#7a0b790136c4ef4797f0246305d45cbe2d27b3f7" + integrity sha512-PrvZuJjnXGseB8hUatIjsrK3tgD3wttyRnVYXTbSfXYJZzaOfHDMplgO4lxXQp7diraZhGhCdSlbMvRRXItbUQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/bearing@6.x", "@turf/bearing@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-6.5.0.tgz#462a053c6c644434bdb636b39f8f43fb0cd857b0" + integrity sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A== + dependencies: + "@turf/helpers" "^6.5.0" + "@turf/invariant" "^6.5.0" + +"@turf/bezier-spline@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/bezier-spline/-/bezier-spline-5.1.5.tgz#59a27bba5d7b97ef15ab3fd5a40fbd2387049bca" + integrity sha512-Y9NoComaGgFFFe9TWWE/cEMg2+EnBfU1R3112ec2wlx21ygDmFGXs4boOS71WM4ySwm/dbS3wxnbVxs4j68sKw== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/boolean-clockwise@5.1.x", "@turf/boolean-clockwise@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-clockwise/-/boolean-clockwise-5.1.5.tgz#3302b7dac62c5e291a0789e29af7283387fa9deb" + integrity sha512-FqbmEEOJ4rU4/2t7FKx0HUWmjFEVqR+NJrFP7ymGSjja2SQ7Q91nnBihGuT+yuHHl6ElMjQ3ttsB/eTmyCycxA== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/boolean-contains@5.1.x", "@turf/boolean-contains@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-contains/-/boolean-contains-5.1.5.tgz#596d63aee636f7ad53ee99f9ff24c96994a0ef14" + integrity sha512-x2HeEieeE9vBQrTdCuj4swnAXlpKbj9ChxMdDTV479c0m2gVmfea83ocmkj3w+9cvAaS63L8WqFyNVSmkwqljQ== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/boolean-point-on-line" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/boolean-crosses@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-crosses/-/boolean-crosses-5.1.5.tgz#01bfaea2596f164de4a4d325094dc7c255c715d6" + integrity sha512-odljvS7INr9k/8yXeyXQVry7GqEaChOmXawP0+SoTfGO3hgptiik59TLU/Yjn/SLFjE2Ul54Ga1jKFSL7vvH0Q== + dependencies: + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-intersect" "^5.1.5" + "@turf/polygon-to-line" "^5.1.5" + +"@turf/boolean-disjoint@5.1.x": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@turf/boolean-disjoint/-/boolean-disjoint-5.1.6.tgz#3fbd87084b269133f5fd15725deb3c6675fb8a9d" + integrity sha512-KHvUS6SBNYHBCLIJEJrg04pF5Oy+Fqn8V5G9U+9pti5vI9tyX7Ln2g7RSB7iJ1Cxsz8QAi6OukhXjEF2/8ZpGg== + dependencies: + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/line-intersect" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/polygon-to-line" "^5.1.5" + +"@turf/boolean-equal@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-equal/-/boolean-equal-5.1.5.tgz#29f8f6d60bb84507dfd765b32254db8e72c938a4" + integrity sha512-QEMbhDPV+J8PlRkMlVg6m5oSLaYUpOx2VUhDDekQ73FlpnhFBKRIlidhvHtS6CYnEw8d+/zA3h8Z18B4W4mq9Q== + dependencies: + "@turf/clean-coords" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + geojson-equality "0.1.6" + +"@turf/boolean-overlap@5.1.x", "@turf/boolean-overlap@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-overlap/-/boolean-overlap-5.1.5.tgz#0d4e64c52c770a28e93d9efcdf8a8b8373acce75" + integrity sha512-lizojgU559KME0G705YAgWVa0B3/tsWNobMzOEWDx/1rABWTojCY4uxw2rFxpOsP++s8JJHrGWXRLh1PbdAvRQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-intersect" "^5.1.5" + "@turf/line-overlap" "^5.1.5" + "@turf/meta" "^5.1.5" + geojson-equality "0.1.6" + +"@turf/boolean-parallel@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-parallel/-/boolean-parallel-5.1.5.tgz#739358475ea5b65c7e1827a3c3e0e8a687d3a85d" + integrity sha512-eeuGgDhnas3nJ22A/DD8aiH0kg9dSzbQChIMAqYRPGg3pWNK41aGAbeh5z0GO5N/EVFX1+ga5a0vsPmiRgQB5g== + dependencies: + "@turf/clean-coords" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/line-segment" "^5.1.5" + "@turf/rhumb-bearing" "^5.1.5" + +"@turf/boolean-point-in-polygon@5.1.x", "@turf/boolean-point-in-polygon@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-5.1.5.tgz#f01cc194d1e030a548bfda981cba43cfd62941b7" + integrity sha512-y+gbAhLmsAZH9uYhv+C68pu06mxsGIm3o7l0hzVkc/PXYdbkr+vKe7n7PfSN3xpVA3qoDLKLpCGOqeW8/ThaJA== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/boolean-point-on-line@5.1.x", "@turf/boolean-point-on-line@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-point-on-line/-/boolean-point-on-line-5.1.5.tgz#f633c5ff802ad24bb8f158dadbaf6ff4a023dd7b" + integrity sha512-Zf4d28mckV2tYfLWf2iqxQ8eeLZqi2HGimM26mptf1OCEIwc1wfkKgLRRJXMu94Crvd/pJxjRAjoYGcGliP6Vg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/boolean-within@5.1.x", "@turf/boolean-within@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/boolean-within/-/boolean-within-5.1.5.tgz#47105d56d0752a9d0fbfcd43c36a5f9149dc8697" + integrity sha512-CNAtrvm4HiUwV/vhpGhvJzfhV9CN7VhPC5y4tTfQicK82fYY6ifPz0iaNpUOmshU6+TAot/fsVQVgDJ4t7HXcA== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/boolean-point-on-line" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/buffer@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/buffer/-/buffer-5.1.5.tgz#841c9627cfb974b122ac4e1a956f0466bc0231c4" + integrity sha512-U3LU0HF/JNFUNabpB5ArpNG6yPla7yR5XPrZvzZRH48vvbr/N0rkSRI0tJFRWTz7ntugVm9X0OD9Y382NTJRhA== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/center" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/projection" "^5.1.5" + d3-geo "1.7.1" + turf-jsts "*" + +"@turf/center-mean@5.1.x", "@turf/center-mean@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/center-mean/-/center-mean-5.1.5.tgz#8c8e9875391e5f09f0e6e78f5d661b88b2108a0a" + integrity sha512-XdkBXzFUuyCqu5EPlBwgkv8FLA8pIGBnt7xy5cxxhxKOYLMrKqwMPPHPA84TjeQpNti0gH0CVuOk2r1f/Pp8iQ== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/center-median@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/center-median/-/center-median-5.1.5.tgz#bb461bfe7a2a48601d8a4727685718723a14a872" + integrity sha512-M+O6bSNsIDKZ4utk/YzSOIg6W0isjLVWud+TCLWyrDCWTSERlSJlhOaVE1y7cObhG8nYBHvmszqZyoAY6nufQw== + dependencies: + "@turf/center-mean" "^5.1.5" + "@turf/centroid" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/center-of-mass@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/center-of-mass/-/center-of-mass-5.1.5.tgz#4d3bd79d88498dbab8324d4f69f0322f6520b9ca" + integrity sha512-UvI7q6GgW3afCVIDOyTRuLT54v9Xwv65Xudxh4FIT6w7HNU4KUBtTGnx0NuhODZcgvZgWVWVakhmIcHQTMjYYA== + dependencies: + "@turf/centroid" "^5.1.5" + "@turf/convex" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/center@5.1.x", "@turf/center@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/center/-/center-5.1.5.tgz#44ab2cd954f63c0d37757f7158a99c3ef5114b80" + integrity sha512-Dy1TvAv2oHKFddZcWqlVsanxurfcZV1Mmb1E+7H7GRKI+fXZTfRjwCdbiZCbO/tPwxt8jWQHWdLHn8E9lecc3A== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/centroid@5.1.x", "@turf/centroid@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/centroid/-/centroid-5.1.5.tgz#778ada74216335021ad8fd0e7a65a8349d53c769" + integrity sha512-0m9ZAZJB4YXLDxF2fWGqlE/g9Y68cebeWaRNOMN+e6Bti1fz0JKQuaEqJV+J8xOmODPHSMbZZ1SqSDVRgVHP2Q== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/centroid@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/centroid/-/centroid-6.5.0.tgz#ecaa365412e5a4d595bb448e7dcdacfb49eb0009" + integrity sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A== + dependencies: + "@turf/helpers" "^6.5.0" + "@turf/meta" "^6.5.0" + +"@turf/circle@5.1.x", "@turf/circle@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/circle/-/circle-5.1.5.tgz#9b1577835508ab52fb1c10b2a5065cba2b87b6a5" + integrity sha512-CNaEtvp38Q+TSFJHdzdl5iYNjBFZRluRTFikIuEcennSeMJD60nP0dMubP58TR/QQn541eNDUyED90V4KuOjyQ== + dependencies: + "@turf/destination" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/clean-coords@5.1.x", "@turf/clean-coords@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/clean-coords/-/clean-coords-5.1.5.tgz#12800a98a78c9a452a72ec428493c43acf2ada1f" + integrity sha512-xd/iSM0McVUxbu81KCKDqirCsYkKk3EAwpDjYI8vIQ+eKf/MLSdteRcm3PB7wo2y6JcYp4dMGv2cr9IP7V+dXQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/clone@5.1.x", "@turf/clone@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/clone/-/clone-5.1.5.tgz#253e8d35477181976e33adfab50a0f02a7f0e367" + integrity sha512-//pITsQ8xUdcQ9pVb4JqXiSqG4dos5Q9N4sYFoWghX21tfOV2dhc5TGqYOhnHrQS7RiKQL1vQ48kIK34gQ5oRg== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/clone@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/clone/-/clone-6.5.0.tgz#895860573881ae10a02dfff95f274388b1cda51a" + integrity sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw== + dependencies: + "@turf/helpers" "^6.5.0" + +"@turf/clusters-dbscan@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/clusters-dbscan/-/clusters-dbscan-5.1.5.tgz#5781fb4e656c747a0b8e9937df73181c0309e26f" + integrity sha512-X3qLLHJkwMuv+xdWQ08NtOc6BgeqCKKSAltyyAZ7iImE65f0C+sW024DfHSbTMsZVXBFst2Q6RQY8RVUf3QBeQ== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + density-clustering "1.3.0" + +"@turf/clusters-kmeans@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/clusters-kmeans/-/clusters-kmeans-5.1.5.tgz#fd6dfea8b133ba8bdc2370ac3cacee1587a302f1" + integrity sha512-W6raiv9+fRgmJxCvKrpSacbLXzh7beZUk0A1pjF82Fv3CFTrXAJbgAyIbdlmgXezYSXhOT5NMUugnbkUy2oBZw== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + skmeans "0.9.7" + +"@turf/clusters@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/clusters/-/clusters-5.1.5.tgz#673a5e5f1b19c9cababc57c908eeadd682224dd4" + integrity sha512-+rQe+g66xfbIXz58tveXQCDdE9hzqRJtDVSw5xth92TvCcL4J60ZKN8mHNUSn1ZZvpUHtVPe4dYcbtk5bW8fXQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/collect@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/collect/-/collect-5.1.5.tgz#fe98c9a8c218ecf24ffc33d7029517b7c19b2a3e" + integrity sha512-voFWu6EGPcNuIbAp43yvGf2Ip4/q8TTeWhOSJ2yDEHgOfbAwrNUwUJCclEjcUVsnc7ypKNrFn3/8bmR9tI0NQg== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/helpers" "^5.1.5" + rbush "^2.0.1" + +"@turf/combine@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/combine/-/combine-5.1.5.tgz#bb14bdefa55504357195fc1a124cd7d53a8c8905" + integrity sha512-/RqmfCvduHquINVyNmzKOcZtZjfaEHMhghgmj8MYnzepN3ro+E2QXoaQGGrQ7nChAvGgWPAvN8EveVSc1MvzPg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/concave@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/concave/-/concave-5.1.5.tgz#23bbaac387d034b96574a1bd70d059237a9d2110" + integrity sha512-NvR5vmAunmgjEPjNzmvjLRvPcj7C6WuqCf+vu/aqyc4h2c1B/x399bDsSM64iFT+PYesFuoS1ZhJHWivXG8Y5g== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/tin" "^5.1.5" + topojson-client "3.x" + topojson-server "3.x" + +"@turf/convex@5.1.x", "@turf/convex@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/convex/-/convex-5.1.5.tgz#0df9377dd002216ce9821b07f705e037dae3e01d" + integrity sha512-ZEk4kIAoYR/mjO3C8rMe2StgmwhdwmbxVvNxg3udeahe2m0ZzbfkRC4HiJAaBgfR4TLJUAEewynESReTPwASBQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + concaveman "*" + +"@turf/destination@5.1.x", "@turf/destination@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/destination/-/destination-5.1.5.tgz#ed35381bdce83bbddcbd07a2e2bce2bddffbcc26" + integrity sha512-EWwZnd4wxUO9d8UWzJt88jQlFf6W/6SE1930MMzzIR9o+RfqhrS/BL1eUDrg5I5drsymf6PZsK0j/V0q6jqkFQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/difference@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/difference/-/difference-5.1.5.tgz#a24d690a7bca803f1090a9ee3b9d906fc4371f42" + integrity sha512-hIjiUHS8WiDfnmADQrhh6QcXWc3zNtjIpPQ5g/2NZ3k1mjnOdmGBVObkSJG4WEUNqyj3PKlsZ8W9xnSu+lLF1Q== + dependencies: + "@turf/area" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + turf-jsts "*" + +"@turf/dissolve@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/dissolve/-/dissolve-5.1.5.tgz#2cf133a9021d2163831c3d7a958d6507f9d81938" + integrity sha512-YcQgyp7pvhyZHCmbqqItVH6vHs43R9N0jzP/LnAG03oMiY4wves/BO1du6VDDbnJSXeRKf1afmY9tRGKYrm9ag== + dependencies: + "@turf/boolean-overlap" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-intersect" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/union" "^5.1.5" + geojson-rbush "2.1.0" + get-closest "*" + +"@turf/distance@5.1.x", "@turf/distance@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-5.1.5.tgz#39cf18204bbf87587d707e609a60118909156409" + integrity sha512-sYCAgYZ2MjNKMtx17EijHlK9qHwpA0MuuQWbR4P30LTCl52UlG/reBfV899wKyF3HuDL9ux78IbILwOfeQ4zgA== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/distance@6.x", "@turf/distance@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-6.5.0.tgz#21f04d5f86e864d54e2abde16f35c15b4f36149a" + integrity sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg== + dependencies: + "@turf/helpers" "^6.5.0" + "@turf/invariant" "^6.5.0" + +"@turf/ellipse@5.1.x", "@turf/ellipse@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/ellipse/-/ellipse-5.1.5.tgz#d57cab853985920cde60228a78d80458025c54be" + integrity sha512-oVTzEyDOi3d9isgB7Ah+YiOoUKB1eHMtMDXVl1oT+vC/T+6KR2aq+HjjbF11A0cjuh3VhjSWUZaS+2TYY0pu0w== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/rhumb-destination" "^5.1.5" + "@turf/transform-rotate" "^5.1.5" + +"@turf/envelope@5.1.x", "@turf/envelope@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/envelope/-/envelope-5.1.5.tgz#5013309c53fdd43dfaf4b588a65c3fed7dbc108a" + integrity sha512-Mxl5A2euAxq3RZVN65/MVyaO91kzGU8MJXfegPdep6SN4bONDadEp0olwW5qSRf2U3cJ8Jppl089X6AeifD3IA== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/bbox-polygon" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/explode@5.1.x", "@turf/explode@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/explode/-/explode-5.1.5.tgz#b12b2f774004a1b48f62ba95b20a1c655a3de118" + integrity sha512-v/hC9DB9RKRW9/ZjnKoQelIp08JNa5wew0889465s//tfgY8+JEGkSGMag2L2NnVARWmzI/vlLgMK36qwkyDIA== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/flatten@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/flatten/-/flatten-5.1.5.tgz#da2927067133ed6169b0b9d607b9215688aa1358" + integrity sha512-aagHz5tjHmOtb8eMb5fd10+HJwdlhkhsPql1vRXQNnpv0Q9xL/4SsbvXZ6lPqkRAjiZuy087mvaz+ERml76/jg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/flip@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/flip/-/flip-5.1.5.tgz#436f643a722f0ca53b9fce638e4693db3608a68a" + integrity sha512-7+IYM3QQAkV4co3wjEmM726/OkXqUCCHWWyIqrI9hiK+LR628qkoqP1hk6rQ4vZJrAYuvSlK+FZnr24OtgY0cw== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/great-circle@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/great-circle/-/great-circle-5.1.5.tgz#debfb671ce475509cb637301c15fcfccfa359a93" + integrity sha512-k6FWwlt+YCQoD5VS1NybQjriNL7apYHO+tm2HbIFQ85blPUX4IyLppHIFevfD/k+K2bJqhFCze8JNVMBwdrzVw== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/helpers@*", "@turf/helpers@6.x", "@turf/helpers@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e" + integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw== + +"@turf/helpers@5.1.x", "@turf/helpers@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-5.1.5.tgz#153405227ab933d004a5bb9641a9ed999fcbe0cf" + integrity sha512-/lF+JR+qNDHZ8bF9d+Cp58nxtZWJ3sqFe6n3u3Vpj+/0cqkjk4nXKYBSY0azm+GIYB5mWKxUXvuP/m0ZnKj1bw== + +"@turf/hex-grid@5.1.x", "@turf/hex-grid@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/hex-grid/-/hex-grid-5.1.5.tgz#9b7ba5fecf5051f1e85892f713fce5c550502a6a" + integrity sha512-rwDL+DlUyxDNL1aVHIKKCmrt1131ZULF3irExYIO/um6/SwRzsBw+522/RcxD/mg/Shtrpozb6bz8aJJ/3RXHA== + dependencies: + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/intersect" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/interpolate@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/interpolate/-/interpolate-5.1.5.tgz#0f12f0ab756d6dd10afb290ca6e877bdef013eaa" + integrity sha512-LfmvtIUWc3NVkqPkX6j3CAIjF7y1LAZqfDd+2Ii+0fN7XOOGMWcb1uiTTAb8zDQjhTsygcUYgaz6mMYDCWYKPg== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/centroid" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/hex-grid" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/point-grid" "^5.1.5" + "@turf/square-grid" "^5.1.5" + "@turf/triangle-grid" "^5.1.5" + +"@turf/intersect@5.1.x", "@turf/intersect@^5.1.5": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@turf/intersect/-/intersect-5.1.6.tgz#13ffcceb7a529c2a7e5d6681ab3ba671f868e95f" + integrity sha512-KXyNv/GXdoGAOy03qZF53rgtXC2tNhF/4jLwTKiVRrBQH6kcEpipGStdJ+QkYIlarQPa8f7I9UlVAB19et4MfQ== + dependencies: + "@turf/clean-coords" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/truncate" "^5.1.5" + turf-jsts "*" + +"@turf/invariant@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-5.1.5.tgz#f59f4fefa09224b15dce1651f903c868d57a24e1" + integrity sha512-4elbC8GVQ8XxrnWLWpFFXTK3qnzIYzIVtSkJrY9eefA8WNZzwcwT3WGFY3xte4BB48o5oEjihjoJharWRis78w== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/invariant@6.x", "@turf/invariant@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-6.5.0.tgz#970afc988023e39c7ccab2341bd06979ddc7463f" + integrity sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg== + dependencies: + "@turf/helpers" "^6.5.0" + +"@turf/invariant@^5.1.5": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-5.2.0.tgz#f0150ff7290b38577b73d088b7932c1ee0aa90a7" + integrity sha512-28RCBGvCYsajVkw2EydpzLdcYyhSA77LovuOvgCJplJWaNVyJYH6BOR3HR9w50MEkPqb/Vc/jdo6I6ermlRtQA== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/isobands@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/isobands/-/isobands-5.1.5.tgz#6b44cef584d551a31304187af23b4a1582e3f08d" + integrity sha512-0n3NPfDYQyqjOch00I4hVCCqjKn9Sm+a8qlWOKbkuhmGa9dCDzsu2bZL0ahT+LjwlS4c8/owQXqe6KE2GWqT1Q== + dependencies: + "@turf/area" "^5.1.5" + "@turf/bbox" "^5.1.5" + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/explode" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/isolines@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/isolines/-/isolines-5.1.5.tgz#8ab4e7f42bb3dfc54614e5bf155967f7e55d2de1" + integrity sha512-Ehn5pJmiq4hAn2+2jPB2rLt3iF8DDp8zciw9z2pAt5IGVRU/K+x3z4aYG5ra5vbFB/E4G3aHr/X4QPIb9LCJtA== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/kinks@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/kinks/-/kinks-5.1.5.tgz#8abb6961d9bb0107213baddf2c2c2640d0256980" + integrity sha512-G38sC8/+MYqQpVocT3XahhV42cqEAVJAZwUND9YOfKJZfjUn7FKmWhPURs5py95me48UuI0C0jLLAMzBkUc2nQ== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/length@5.1.x", "@turf/length@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/length/-/length-5.1.5.tgz#f3a5f864c2b996a8bb471794535a1faf12eebefb" + integrity sha512-0ryx68h512wCoNfwyksLdabxEfwkGNTPg61/QiY+QfGFUOUNhHbP+QimViFpwF5hyX7qmroaSHVclLUqyLGRbg== + dependencies: + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/line-arc@5.1.x", "@turf/line-arc@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-arc/-/line-arc-5.1.5.tgz#0078a7447835a12ae414a211f9a64d1186150e15" + integrity sha512-Kz5RX/qRIHVrGNqF3BRlD3ACuuCr0G5lpaVyPjNvN+vA7Q4bEDyWIYeqm3DdTn7X2MXitpTNgr2uvX4WoUy4yA== + dependencies: + "@turf/circle" "^5.1.5" + "@turf/destination" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/line-chunk@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-chunk/-/line-chunk-5.1.5.tgz#910a85c05c06d9d0f9c38977a05e0818d5085c42" + integrity sha512-mKvTUMahnb3EsYUMI8tQmygsliQkgQ1FZAY915zoTrm+WV246loa+84+h7i5d8W2O8gGJWuY7jQTpM7toTeL5w== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/length" "^5.1.5" + "@turf/line-slice-along" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/line-intersect@5.1.x", "@turf/line-intersect@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-intersect/-/line-intersect-5.1.5.tgz#0e29071ae403295e491723bc49f5cfac8d11ddf3" + integrity sha512-9DajJbHhJauLI2qVMnqZ7SeFsinFroVICOSUheODk7j5teuwNABuZ2Z6WmKATzEsPkEJ1iVykqB+F9vGMVKB6g== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-segment" "^5.1.5" + "@turf/meta" "^5.1.5" + geojson-rbush "2.1.0" + +"@turf/line-offset@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-offset/-/line-offset-5.1.5.tgz#2ab5b2f089f8c913e231d994378e79dca90b5a1e" + integrity sha512-VccGDgFfBSiCTqrHdQgxD7Rs9lnJmDOJ5gqQRculKPsCNUyRFMYIZud7l2dTs83g66evfOwkZCrTxtSoBY3Jxg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/line-overlap@5.1.x", "@turf/line-overlap@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-overlap/-/line-overlap-5.1.5.tgz#943c6f87a0386dc43dfac11d2b3ff9c112cd3f60" + integrity sha512-hMz3XARXEbfGwLF9WXyErqQjzhZYMKvGQwlPGOoth+2o9Uga9mfWfevduJvozJAE1MKxtFttMjIXMzcShW3O8A== + dependencies: + "@turf/boolean-point-on-line" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-segment" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/nearest-point-on-line" "^5.1.5" + geojson-rbush "2.1.0" + +"@turf/line-segment@5.1.x", "@turf/line-segment@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-segment/-/line-segment-5.1.5.tgz#3207aaee546ab24c3d8dc3cc63f91c770b8013e5" + integrity sha512-wIrRtWuLuLXhnSkqdVG1SDayTU0/CmZf+a+BBhEf0vFIsAedJnrY3a2cbCEvtfuk6ZsAbhOi7/kYiaR/F+rEzg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/line-slice-along@5.1.x", "@turf/line-slice-along@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-slice-along/-/line-slice-along-5.1.5.tgz#eddad0a21ef479f2968a11bd2dd7289a2132e9a5" + integrity sha512-yKvSDtULztLtlPIMowm9l8pS6XLAEpCPmrARZA0sIWFX8XrcSzISBaXZbiMMzg3nxQJMXfGIgWDk10B7+J8Tqw== + dependencies: + "@turf/bearing" "^5.1.5" + "@turf/destination" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/line-slice@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-slice/-/line-slice-5.1.5.tgz#1ecfce1462a378579754cedf4464cde26829f2b5" + integrity sha512-Fo+CuD+fj6T702BofHO+rgiXUgzCk0iO2JqMPtttMtgzfKkVTUOQoauMNS1LNNaG/7n/TfKGh5gRCEDRNaNwYA== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/nearest-point-on-line" "^5.1.5" + +"@turf/line-split@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-split/-/line-split-5.1.5.tgz#5b2df4c37619b72ef725b5163cf9926d5540acb7" + integrity sha512-gtUUBwZL3hcSu5MpqHTl68hgAJBNHcr1APDj8E5o6iX5xFX+wvl4ohQXyMs5HOATCI8Iy83wLuggcY6maNw7LQ== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-intersect" "^5.1.5" + "@turf/line-segment" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/nearest-point-on-line" "^5.1.5" + "@turf/square" "^5.1.5" + "@turf/truncate" "^5.1.5" + geojson-rbush "2.1.0" + +"@turf/line-to-polygon@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/line-to-polygon/-/line-to-polygon-5.1.5.tgz#213cf41a68f8224778ba39d3187dec3e8b81865a" + integrity sha512-hGiDAPd6j986kZZLDgEAkVD7O6DmIqHQliBedspoKperPJOUJJzdzSnF6OAWSsxY+j8fWtQnIo5TTqdO/KfamA== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/mask@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/mask/-/mask-5.1.5.tgz#9ab0fef1a272c98fe3ef492f9ffb618206b242d5" + integrity sha512-2eOuxA3ammZAGsjlsy/H7IpeJxjl3hrgkcKM6kTKRJGft4QyKwCxqQP7RN5j0zIYvAurgs9JOLe/dpd5sE5HXQ== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/union" "^5.1.5" + rbush "^2.0.1" + +"@turf/meta@*", "@turf/meta@6.x", "@turf/meta@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.5.0.tgz#b725c3653c9f432133eaa04d3421f7e51e0418ca" + integrity sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA== + dependencies: + "@turf/helpers" "^6.5.0" + +"@turf/meta@5.1.x": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-5.1.6.tgz#c20a863eded0869fb28548dee889341bccb46a46" + integrity sha512-lv+6LCgoc3LVitQZ4TScN/8a/fcctq8bIoxBTMJVq4aU8xoHeY1851Dq8MCU37EzbH33utkx8/jENaQP+aeElg== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/meta@^5.1.5": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-5.2.0.tgz#3b1ad485ee0c3b0b1775132a32c384d53e4ba53d" + integrity sha512-ZjQ3Ii62X9FjnK4hhdsbT+64AYRpaI8XMBMcyftEOGSmPMUVnkbvuv3C9geuElAXfQU7Zk1oWGOcrGOD9zr78Q== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/midpoint@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/midpoint/-/midpoint-5.1.5.tgz#e261f6b2b0ea8124cceff552a262dd465c9d05f0" + integrity sha512-0pDQAKHyK/zxlvUx3XNxwvqftf4sV32QxnHfqSs4AXaODUGUbPhzAD7aXgDScBeUOVLwpAzFRQfitUvUMTGC6A== + dependencies: + "@turf/bearing" "^5.1.5" + "@turf/destination" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/nearest-point-on-line@5.1.x", "@turf/nearest-point-on-line@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/nearest-point-on-line/-/nearest-point-on-line-5.1.5.tgz#5606ae297f15947524bea51a2a9ef51ec1bf9c36" + integrity sha512-qT7BLTwToo8cq0oNoz921oLlRPJamyRg/rZgll+kNBadyDPmJI4W66riHcpM9RQcAJ6TPvDveIIBeGJH7iG88w== + dependencies: + "@turf/bearing" "^5.1.5" + "@turf/destination" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-intersect" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/nearest-point-to-line@5.1.x": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@turf/nearest-point-to-line/-/nearest-point-to-line-5.1.6.tgz#d30b7606e56a3dce97f4db6d45d352470e0b3f88" + integrity sha512-ZSvDIEiHhifn/vNwLXZI/E8xmEz5yBPqfUR7BVHRZrB1cP7jLhKZvkbidjG//uW8Fr1Ulc+PFOXczLspIcx/lw== + dependencies: + "@turf/helpers" "6.x" + "@turf/invariant" "6.x" + "@turf/meta" "6.x" + "@turf/point-to-line-distance" "^5.1.5" + object-assign "*" + +"@turf/nearest-point@5.1.x", "@turf/nearest-point@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/nearest-point/-/nearest-point-5.1.5.tgz#12050de41c398443224c7978de0f6213900d34fb" + integrity sha512-tZQXI7OE7keNKK4OvYOJ5gervCEuu2pJ6psu59QW9yhe2Di3Gl+HAdLvVa6RZ8s5Fndr3u0JWKsmxve3fCxc9g== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/planepoint@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/planepoint/-/planepoint-5.1.5.tgz#18bbdf006f759def5e42c6a006c9f9de81b2b7ff" + integrity sha512-+Tp+SQ0Db2tqwLbxfXJPysT9IxcOHSMIin2dJb/j3Qn5+g0LRus6rczZl6dWNAIjqBPMawj/V/dZhMu6Q9O9wA== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/point-grid@5.1.x", "@turf/point-grid@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/point-grid/-/point-grid-5.1.5.tgz#305141248f50bafe36ce7e66ba4b97e7ab236887" + integrity sha512-4ibozguP9YJ297Q7i9e8/ypGSycvt1re2jrPXTxeuZ4/L/NE5B1nOBLG+tw121nMjD+S+v2RWOtqD+FZ3Ga+ew== + dependencies: + "@turf/boolean-within" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/point-on-feature@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/point-on-feature/-/point-on-feature-5.1.5.tgz#30c7f032430277c6418d96d289e45b6bfb213fe7" + integrity sha512-NTcpe5xZjybRh0aTL+7td1cm0s49GGbAt5u8Cdec4W9ix2PsehRcLUbmQIQsODN2kiVyUSpnhECIpsyN5MjX7A== + dependencies: + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/center" "^5.1.5" + "@turf/explode" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/nearest-point" "^5.1.5" + +"@turf/point-to-line-distance@5.1.x", "@turf/point-to-line-distance@^5.1.5": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@turf/point-to-line-distance/-/point-to-line-distance-5.1.6.tgz#954f6cb68546420a030d8480392503264970d2d8" + integrity sha512-PE3hiTeeDEi4ZLPtI8XAzFYW9nHo1EVsZGm/4ZVV8jo39d3X1oLVHxY3e1PkCmWwRapXy4QLqvnTQ7nU4wspNw== + dependencies: + "@turf/bearing" "6.x" + "@turf/distance" "6.x" + "@turf/helpers" "6.x" + "@turf/invariant" "6.x" + "@turf/meta" "6.x" + "@turf/projection" "6.x" + "@turf/rhumb-bearing" "6.x" + "@turf/rhumb-distance" "6.x" + +"@turf/points-within-polygon@5.1.x", "@turf/points-within-polygon@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/points-within-polygon/-/points-within-polygon-5.1.5.tgz#2b855a5df3aada57c2ee820a0754ab94928a2337" + integrity sha512-nexe2AHVOY8wEBvs+CYSOp10NyOCkyZ1gkhIfsx0mzU8LPYBxD9ctjlKveheKh4AAldLcFupd/gSCBTKF1JS7A== + dependencies: + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/polygon-tangents@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/polygon-tangents/-/polygon-tangents-5.1.5.tgz#2bf00991473025b178e250dc7cb9ae5409bbd652" + integrity sha512-uoZfKvFhl6rf0+CDWucru9fZ4mJB5Nsg37TS/7emrzjoVxXyOdxc/s1HFCjcKflMue7MjU/gT6AitJyrvdztDg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/polygon-to-line@5.1.x", "@turf/polygon-to-line@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/polygon-to-line/-/polygon-to-line-5.1.5.tgz#23bb448d84dc4c651999ac611a36d91c5925036a" + integrity sha512-kVo0owPqyccy5+qZGvaxGvMsYkgueKE2OOgX2UV/HyrXF3uI3TomK1txjApqeFsLvwuSANxesvVbYLrYiIwvGw== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/polygonize@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/polygonize/-/polygonize-5.1.5.tgz#0493fa11879f39d10b9ad02ce6a23e942d08aa32" + integrity sha512-qzhtuzoOhldqZHm+ZPsWAs9nDpnkcDfsr+I0twmBF+wjAmo0HKiy9++sRQ4kEePpdwbMpF07D/NdZqYdmOJkGQ== + dependencies: + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/envelope" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/projection@5.1.x", "@turf/projection@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/projection/-/projection-5.1.5.tgz#24517eeeb2f36816ba9f712e7ae6d6a368edf757" + integrity sha512-TWKJDFeEKQhI4Ce1+2PuOSDggn4cnMibqyUoCpIW+4KxUC1R88SE3/SYomqzwxMn00O09glHSycPkGD5JzHd8A== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/projection@6.x": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/projection/-/projection-6.5.0.tgz#d2aad862370bf03f2270701115464a8406c144b2" + integrity sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg== + dependencies: + "@turf/clone" "^6.5.0" + "@turf/helpers" "^6.5.0" + "@turf/meta" "^6.5.0" + +"@turf/random@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/random/-/random-5.1.5.tgz#b32efc934560ae8ba57e8ebb51f241c39fba2e7b" + integrity sha512-oitpBwEb6YXqoUkIAOVMK+vrTPxUi2rqITmtTa/FBHr6J8TDwMWq6bufE3Gmgjxsss50O2ITJunOksxrouWGDQ== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/rewind@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/rewind/-/rewind-5.1.5.tgz#9ea3db4a68b73c1fd1dd11f57631b143cfefa1c9" + integrity sha512-Gdem7JXNu+G4hMllQHXRFRihJl3+pNl7qY+l4qhQFxq+hiU1cQoVFnyoleIqWKIrdK/i2YubaSwc3SCM7N5mMw== + dependencies: + "@turf/boolean-clockwise" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/rhumb-bearing@5.1.x", "@turf/rhumb-bearing@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/rhumb-bearing/-/rhumb-bearing-5.1.5.tgz#acf6a502427eb8c49e18cda6ae0effab0c5ddcd2" + integrity sha512-zXTl2khjwf7mx2D1uPo5vgpGgP4sM2VrKDbJNKyulPu4TO4ELt8x7FsKyCBlRTzzQf284t/xnNcZOfUbkkd70g== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/rhumb-bearing@6.x": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/rhumb-bearing/-/rhumb-bearing-6.5.0.tgz#8c41ad62b44fb4e57c14fe790488056684eee7b9" + integrity sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA== + dependencies: + "@turf/helpers" "^6.5.0" + "@turf/invariant" "^6.5.0" + +"@turf/rhumb-destination@5.1.x", "@turf/rhumb-destination@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/rhumb-destination/-/rhumb-destination-5.1.5.tgz#b1b2aeb921547f2ac0c1a994b6a130f92463c742" + integrity sha512-FdDUCSRfRAfsRmUaWjc76Wk32QYFJ6ckmSt6Ls6nEczO6eg/RgH1atF8CIYwR5ifl0Sk1rQzKiOSbpCyvVwQtw== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/rhumb-distance@5.1.x", "@turf/rhumb-distance@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/rhumb-distance/-/rhumb-distance-5.1.5.tgz#1806857625f4225384dad413e69f39538ff5f765" + integrity sha512-AGA/ky5/BJJZtzQqafy2GvJfcUXSzCCrPFp8sDRPSKBoUN4gMBHN15ijDWYYLFoWFFj0urcauVx7chQlHZ/Qfw== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/rhumb-distance@6.x": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@turf/rhumb-distance/-/rhumb-distance-6.5.0.tgz#ed068004b1469512b857070fbf5cb7b7eabbe592" + integrity sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg== + dependencies: + "@turf/helpers" "^6.5.0" + "@turf/invariant" "^6.5.0" + +"@turf/sample@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/sample/-/sample-5.1.5.tgz#e9cb448a4789cc56ee3de2dd6781e2343435b411" + integrity sha512-EJE8yx+5x7rXejTzwBdOKpvT4tOCS0jwYJfycyTVDuLUSh2rETeYdjy7EeJbofnxm9CRPXqWQMPWIBKWxNTjow== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/sector@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/sector/-/sector-5.1.5.tgz#ac2bb94c13edd6034f6fdc2b67008135d20f5e07" + integrity sha512-dnWVifL3xWTqPPs8mfbbV9muDimNJtxRk4ogrkOLEDQ9ZZ1ALQMtQdYrg7kI3iC+L+LscV37tl+E8bayWyX8YA== + dependencies: + "@turf/circle" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/line-arc" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/shortest-path@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/shortest-path/-/shortest-path-5.1.5.tgz#854ae8096f6bc3e1300faca77f3e8f67d8f935ab" + integrity sha512-ZGC8kSBj02GKWiI56Z5FNdrZ+fS0xyeOUNrPJWzudAlrv9wKGaRuWoIVRLGBu0j0OuO1HCwggic2c6WV/AhP0A== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/bbox-polygon" "^5.1.5" + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/clean-coords" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/transform-scale" "^5.1.5" + +"@turf/simplify@5.1.x", "@turf/simplify@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/simplify/-/simplify-5.1.5.tgz#0ac8f27a2eb4218183edd9998c3275abe408b926" + integrity sha512-IuBXEYdGSxbDOK3v949ajaPvs6NhjhTCTbKA6mSGuVbwGS7gzAuRiPSG4K/MvCVuQy3PKpkPcUGD+Uvt2Ov2PQ== + dependencies: + "@turf/clean-coords" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/square-grid@5.1.x", "@turf/square-grid@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/square-grid/-/square-grid-5.1.5.tgz#1bd5f7b9eb14f0b60bc231fefe7351d1a32f1a51" + integrity sha512-/pusEL4FmOwNWLcZfIXUyqUe0fOdkfaLO4wLhDlg/ZL1jWr/wZjhVlMU0tQ27kVN6dJTvlzNc9e0JWNw6yt2eQ== + dependencies: + "@turf/boolean-contains" "^5.1.5" + "@turf/boolean-overlap" "^5.1.5" + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/intersect" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/square@5.1.x", "@turf/square@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/square/-/square-5.1.5.tgz#aa7b21e6033cc9252c3a5bd6f3d88dabd6fed180" + integrity sha512-GgP2le9ksoW6vsVef5wFkjmWQiLPTJvcjGXqmoGWT4oMwDpvTJVQ91RBLs8qQbI4KACCQevz94N69klk3ah30Q== + dependencies: + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + +"@turf/standard-deviational-ellipse@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-5.1.5.tgz#85cd283b5e1aca58f21bd66412e414b56d852324" + integrity sha512-GOaxGKeeJAXV1H3Zz2fjQ5XeSbMKz1OkFRlTDBUipiAawe/9qTCF55L87I2ZPnO80B5BaaIT+AN2n0lMcAklzA== + dependencies: + "@turf/center-mean" "^5.1.5" + "@turf/ellipse" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/points-within-polygon" "^5.1.5" + +"@turf/tag@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/tag/-/tag-5.1.5.tgz#d1ee1a5088ecfd4a1411019c98239ccf2a497d20" + integrity sha512-XI3QFpva6tEsRnzFe1tJGdAAWlzjnXZPfJ9EKShTxEW8ZgPzm92b2odjiSAt2KuQusK82ltNfdw5Frlna5xGYQ== + dependencies: + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/tesselate@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/tesselate/-/tesselate-5.1.5.tgz#32a594e9c21a00420a9f90d2c43df3e1166061cd" + integrity sha512-Rs/jAij26bcU4OzvFXkWDase1G3kSwyuuKZPFU0t7OmJu7eQJOR12WOZLGcVxd5oBlklo4xPE4EBQUqpQUsQgg== + dependencies: + "@turf/helpers" "^5.1.5" + earcut "^2.0.0" + +"@turf/tin@5.1.x", "@turf/tin@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/tin/-/tin-5.1.5.tgz#28223eafc5fbe9ae9acca81cdcfea5d1424c917d" + integrity sha512-lDyCTYKoThBIKmkBxBMupqEpFbvTDAYuZIs8qrWnmux2vntSb8OFGi7ZbGPC6apS2hdVwZZae3YB88Tp+Fg+xw== + dependencies: + "@turf/helpers" "^5.1.5" + +"@turf/transform-rotate@5.1.x", "@turf/transform-rotate@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/transform-rotate/-/transform-rotate-5.1.5.tgz#d096edd9e300fe315069d54d8e458c409221edfb" + integrity sha512-3QKckeHKPXu5O5vEuT+nkszGDI6aknDD06ePb00+6H2oA7MZj7nj+fVQIJLs41MRb76IyKr4n5NvuKZU6idESA== + dependencies: + "@turf/centroid" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/rhumb-bearing" "^5.1.5" + "@turf/rhumb-destination" "^5.1.5" + "@turf/rhumb-distance" "^5.1.5" + +"@turf/transform-scale@5.1.x", "@turf/transform-scale@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/transform-scale/-/transform-scale-5.1.5.tgz#70fd3ae01856cf7bae9f15ad561cdfe8f89001b9" + integrity sha512-t1fCZX29ONA7DJiqCKA4YZy0+hCzhppWNOZhglBUv9vKHsWCFYZDUKfFInciaypUInsZyvm8eKxxixBVPdPGsw== + dependencies: + "@turf/bbox" "^5.1.5" + "@turf/center" "^5.1.5" + "@turf/centroid" "^5.1.5" + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/rhumb-bearing" "^5.1.5" + "@turf/rhumb-destination" "^5.1.5" + "@turf/rhumb-distance" "^5.1.5" + +"@turf/transform-translate@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/transform-translate/-/transform-translate-5.1.5.tgz#530a257fb1dc7268dadcab34e67901eb2a3dec63" + integrity sha512-GdLFp7I7198oRQt311B8EjiqHupndeMSQ3Zclzki5L/niUrb1ptOIpo+mxSidSy03m+1Q5ylWlENroI1WBcQ3Q== + dependencies: + "@turf/clone" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + "@turf/meta" "^5.1.5" + "@turf/rhumb-destination" "^5.1.5" + +"@turf/triangle-grid@5.1.x", "@turf/triangle-grid@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/triangle-grid/-/triangle-grid-5.1.5.tgz#7b36762108554c14f28caff3c48b1cfc82c8dc81" + integrity sha512-jmCRcynI80xsVqd+0rv0YxP6mvZn4BAaJv8dwthg2T3WfHB9OD+rNUMohMuUY8HmI0zRT3s/Ypdy2Cdri9u/tw== + dependencies: + "@turf/distance" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/intersect" "^5.1.5" + "@turf/invariant" "^5.1.5" + +"@turf/truncate@5.1.x", "@turf/truncate@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/truncate/-/truncate-5.1.5.tgz#9eedfb3b18ba81f2c98d3ead09431cca1884ad89" + integrity sha512-WjWGsRE6o1vUqULGb/O7O1eK6B4Eu6R/RBZWnF0rH0Os6WVel6tHktkeJdlKwz9WElIEO12wDIu6uKd54t7DDQ== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + +"@turf/turf@^5.1.6": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@turf/turf/-/turf-5.1.6.tgz#c3122592887ed234b75468b8a8c45bf886fbf8f6" + integrity sha512-NIjkt5jAbOrom+56ELw9ERZF6qsdf1xAIHyC9/PkDMIOQAxe7FVe2HaqbQ+x88F0q5FaSX4dtpIEf08md6h5/A== + dependencies: + "@turf/along" "5.1.x" + "@turf/area" "5.1.x" + "@turf/bbox" "5.1.x" + "@turf/bbox-clip" "5.1.x" + "@turf/bbox-polygon" "5.1.x" + "@turf/bearing" "5.1.x" + "@turf/bezier-spline" "5.1.x" + "@turf/boolean-clockwise" "5.1.x" + "@turf/boolean-contains" "5.1.x" + "@turf/boolean-crosses" "5.1.x" + "@turf/boolean-disjoint" "5.1.x" + "@turf/boolean-equal" "5.1.x" + "@turf/boolean-overlap" "5.1.x" + "@turf/boolean-parallel" "5.1.x" + "@turf/boolean-point-in-polygon" "5.1.x" + "@turf/boolean-point-on-line" "5.1.x" + "@turf/boolean-within" "5.1.x" + "@turf/buffer" "5.1.x" + "@turf/center" "5.1.x" + "@turf/center-mean" "5.1.x" + "@turf/center-median" "5.1.x" + "@turf/center-of-mass" "5.1.x" + "@turf/centroid" "5.1.x" + "@turf/circle" "5.1.x" + "@turf/clean-coords" "5.1.x" + "@turf/clone" "5.1.x" + "@turf/clusters" "5.1.x" + "@turf/clusters-dbscan" "5.1.x" + "@turf/clusters-kmeans" "5.1.x" + "@turf/collect" "5.1.x" + "@turf/combine" "5.1.x" + "@turf/concave" "5.1.x" + "@turf/convex" "5.1.x" + "@turf/destination" "5.1.x" + "@turf/difference" "5.1.x" + "@turf/dissolve" "5.1.x" + "@turf/distance" "5.1.x" + "@turf/ellipse" "5.1.x" + "@turf/envelope" "5.1.x" + "@turf/explode" "5.1.x" + "@turf/flatten" "5.1.x" + "@turf/flip" "5.1.x" + "@turf/great-circle" "5.1.x" + "@turf/helpers" "5.1.x" + "@turf/hex-grid" "5.1.x" + "@turf/interpolate" "5.1.x" + "@turf/intersect" "5.1.x" + "@turf/invariant" "5.1.x" + "@turf/isobands" "5.1.x" + "@turf/isolines" "5.1.x" + "@turf/kinks" "5.1.x" + "@turf/length" "5.1.x" + "@turf/line-arc" "5.1.x" + "@turf/line-chunk" "5.1.x" + "@turf/line-intersect" "5.1.x" + "@turf/line-offset" "5.1.x" + "@turf/line-overlap" "5.1.x" + "@turf/line-segment" "5.1.x" + "@turf/line-slice" "5.1.x" + "@turf/line-slice-along" "5.1.x" + "@turf/line-split" "5.1.x" + "@turf/line-to-polygon" "5.1.x" + "@turf/mask" "5.1.x" + "@turf/meta" "5.1.x" + "@turf/midpoint" "5.1.x" + "@turf/nearest-point" "5.1.x" + "@turf/nearest-point-on-line" "5.1.x" + "@turf/nearest-point-to-line" "5.1.x" + "@turf/planepoint" "5.1.x" + "@turf/point-grid" "5.1.x" + "@turf/point-on-feature" "5.1.x" + "@turf/point-to-line-distance" "5.1.x" + "@turf/points-within-polygon" "5.1.x" + "@turf/polygon-tangents" "5.1.x" + "@turf/polygon-to-line" "5.1.x" + "@turf/polygonize" "5.1.x" + "@turf/projection" "5.1.x" + "@turf/random" "5.1.x" + "@turf/rewind" "5.1.x" + "@turf/rhumb-bearing" "5.1.x" + "@turf/rhumb-destination" "5.1.x" + "@turf/rhumb-distance" "5.1.x" + "@turf/sample" "5.1.x" + "@turf/sector" "5.1.x" + "@turf/shortest-path" "5.1.x" + "@turf/simplify" "5.1.x" + "@turf/square" "5.1.x" + "@turf/square-grid" "5.1.x" + "@turf/standard-deviational-ellipse" "5.1.x" + "@turf/tag" "5.1.x" + "@turf/tesselate" "5.1.x" + "@turf/tin" "5.1.x" + "@turf/transform-rotate" "5.1.x" + "@turf/transform-scale" "5.1.x" + "@turf/transform-translate" "5.1.x" + "@turf/triangle-grid" "5.1.x" + "@turf/truncate" "5.1.x" + "@turf/union" "5.1.x" + "@turf/unkink-polygon" "5.1.x" + "@turf/voronoi" "5.1.x" + +"@turf/union@5.1.x", "@turf/union@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/union/-/union-5.1.5.tgz#53285b6094047fc58d96aac0ea90865ec34d454b" + integrity sha512-wBy1ixxC68PpsTeEDebk/EfnbI1Za5dCyY7xFY9NMzrtVEOy0l0lQ5syOsaqY4Ire+dbsDM66p2GGxmefoyIEA== + dependencies: + "@turf/helpers" "^5.1.5" + turf-jsts "*" + +"@turf/unkink-polygon@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/unkink-polygon/-/unkink-polygon-5.1.5.tgz#7b01847c50fb574ae2579e19e44cba8526d213c3" + integrity sha512-lzSrgsfSuyxIc4pkE2qyM2dsHxR992e6oItoZAT8G58A2Ef4qc5gRocmXPWZakGx41fQobegSo7wlo4I49wyHg== + dependencies: + "@turf/area" "^5.1.5" + "@turf/boolean-point-in-polygon" "^5.1.5" + "@turf/helpers" "^5.1.5" + "@turf/meta" "^5.1.5" + rbush "^2.0.1" + +"@turf/voronoi@5.1.x": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@turf/voronoi/-/voronoi-5.1.5.tgz#e856e9406dcc2f25d66ddc898584e27c2ebfca66" + integrity sha512-Ad0HZAyYjOpMIZfDGV+Q+30M9PQHIirTyn32kWyTjEI1O6uhL5NOYjzSha4Sr77xOls3hGzKOj+JET7eDtOvsg== + dependencies: + "@turf/helpers" "^5.1.5" + "@turf/invariant" "^5.1.5" + d3-voronoi "1.1.2" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/command-line-args@^5.0.0": + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.3.tgz#553ce2fd5acf160b448d307649b38ffc60d39639" + integrity sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw== + +"@types/command-line-usage@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.4.tgz#374e4c62d78fbc5a670a0f36da10235af879a0d5" + integrity sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg== + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.43" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/geojson@^1.0.0": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.6.tgz#3e02972728c69248c2af08d60a48cbb8680fffdf" + integrity sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w== + +"@types/geojson@^7946.0.0 || ^1.0.0": + version "7946.0.14" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.14.tgz#319b63ad6df705ee2a65a73ef042c8271e696613" + integrity sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg== + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "20.11.17" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292" + integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw== + dependencies: + undici-types "~5.26.4" + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/qs@*": + version "6.9.11" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" + integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== + +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== + dependencies: + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^3.2.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +author-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450" + integrity sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g== + +auto@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/auto/-/auto-11.0.4.tgz#8aeccc8f9a898952aad88df9c70a24583e2a793e" + integrity sha512-jDe95fpOHZXRDe0HJMH1FvTrU0f3rXbee0eqNIAR2mB9EcdiWQTj1aF56R/xPyGLxF9y3WXzu38DgiIX9sjoDg== + dependencies: + "@auto-it/core" "11.0.4" + "@auto-it/npm" "11.0.4" + "@auto-it/released" "11.0.4" + "@auto-it/version-file" "11.0.4" + await-to-js "^3.0.0" + chalk "^4.0.0" + command-line-application "^0.10.1" + endent "^2.1.0" + module-alias "^2.2.2" + signale "^1.4.0" + terminal-link "^2.1.1" + tslib "2.1.0" + +await-to-js@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/await-to-js/-/await-to-js-3.0.0.tgz#70929994185616f4675a91af6167eb61cc92868f" + integrity sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axios@^1.6.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" + integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +babel-loader@^8.2.3: + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-polyfill-corejs2@^0.4.8: + version "0.4.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" + integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.5.0" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" + integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + core-js-compat "^3.34.0" + +babel-plugin-polyfill-regenerator@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + +babel-plugin-transform-react-remove-prop-types@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +bluebird@3.7.2, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +bottleneck@^2.15.3: + version "2.19.5" + resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2: + version "4.22.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" + integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== + dependencies: + caniuse-lite "^1.0.30001580" + electron-to-chromium "^1.4.648" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + +call-bind@^1.0.2, call-bind@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.6.tgz#6c46675fc7a5e9de82d75a233d586c8b7ac0d931" + integrity sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.3" + set-function-length "^1.2.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001580: + version "1.0.30001587" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" + integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-more-types@2.24.0, check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-css@^5.2.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-table3@~0.6.1: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-line-application@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/command-line-application/-/command-line-application-0.10.1.tgz#9ee0db7e41fe69f532eef0747e9ae958c0d348ae" + integrity sha512-PWZ4nRkz09MbBRocqEe/Fil3RjTaMNqw0didl1n/i3flDcw/vecVfvsw3r+ZHhGs4BOuW7sk3cEYSdfM3Wv5/Q== + dependencies: + "@types/command-line-args" "^5.0.0" + "@types/command-line-usage" "^5.0.1" + chalk "^2.4.1" + command-line-args "^5.1.1" + command-line-usage "^6.0.0" + meant "^1.0.1" + remove-markdown "^0.3.0" + tslib "1.10.0" + +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.0.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + +commander@2, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.0.0, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concaveman@*: + version "1.2.1" + resolved "https://registry.yarnpkg.com/concaveman/-/concaveman-1.2.1.tgz#47d20b4521125c15fabf453653c2696d9ee41e0b" + integrity sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw== + dependencies: + point-in-polygon "^1.1.0" + rbush "^3.0.1" + robust-predicates "^2.0.4" + tinyqueue "^2.0.3" + +concurrently@^7.0.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.6.0.tgz#531a6f5f30cf616f355a4afb8f8fcb2bba65a49a" + integrity sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw== + dependencies: + chalk "^4.1.0" + date-fns "^2.29.1" + lodash "^4.17.21" + rxjs "^7.0.0" + shell-quote "^1.7.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^17.3.1" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +core-js-compat@^3.31.0, core-js-compat@^3.34.0: + version "3.35.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" + integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== + dependencies: + browserslist "^4.22.2" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.1.3: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.0, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" + integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== + +css-loader@^6.5.0: + version "6.10.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" + integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.4" + postcss-modules-scope "^3.1.1" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + postcss "^8.3.5" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.0.1, css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.2" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.6: + version "5.1.15" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +cypress@^13.6.1: + version "13.6.4" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.4.tgz#42c88d3ee0342f1681abfacabf9c1f082676bc53" + integrity sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw== + dependencies: + "@cypress/request" "^3.0.0" + "@cypress/xvfb" "^1.2.4" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.6.0" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^6.2.1" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.4" + enquirer "^2.3.6" + eventemitter2 "6.4.7" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.0" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.8" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + process "^0.11.10" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.5.3" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +d3-array@1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== + +d3-geo@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.7.1.tgz#44bbc7a218b1fd859f3d8fd7c443ca836569ce99" + integrity sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw== + dependencies: + d3-array "1" + +d3-voronoi@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" + integrity sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +date-fns@^2.29.1: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +dayjs@^1.10.4: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-equal@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== + dependencies: + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" + object-keys "^1.1.1" + regexp.prototype.flags "^1.5.1" + +deep-extend@^0.6.0, deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^4.0.0, deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +define-data-property@^1.0.1, define-data-property@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.3.tgz#281845e04737d709c2de99e278546189b65d3055" + integrity sha512-h3GBouC+RPtNX2N0hHVLo2ZwPYurq8mLmXpOLTsw71gr7lHt5VaI4vVkDUNOfiWmm48JEXe3VM7PmLX45AMmmg== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +density-clustering@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/density-clustering/-/density-clustering-1.3.0.tgz#dc9f59c8f0ab97e1624ac64930fd3194817dcac5" + integrity sha512-icpmBubVTwLnsaor9qH/4tG5+7+f61VcqMN3V3pm9sxxSCt2Jcs0zWOgwZW9ARJYaKD3FumIgHiMOcIMRRAzFQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv@^16.3.1: + version "16.4.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.2.tgz#7ca798f89ae2011846bbdbf6470785307754120d" + integrity sha512-rZSSFxke7d9nYQ5NeMIwp5PP+f8wXgKNljpOb7KtH6SKW1cEqcXAz9VSJYVLKe7Jhup/gUYOkaeSVyK8GJ+nBg== + +dotenv@^8.0.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +duplexer@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +earcut@^2.0.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a" + integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.648: + version "1.4.666" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.666.tgz#ecc65df60e5d3489962ff46b8a6b1dd3b8f863aa" + integrity sha512-q4lkcbQrUdlzWCUOxk6fwEza6bNCfV12oi4AJph5UibguD1aTfL4uD0nuzFv9hbPANXQMuUS0MxPSHQ1gqq5dg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +endent@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/endent/-/endent-2.1.0.tgz#5aaba698fb569e5e18e69e1ff7a28ff35373cd88" + integrity sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w== + dependencies: + dedent "^0.7.0" + fast-json-parse "^1.0.3" + objectorarray "^1.0.5" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.4, enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-ci@^5.0.1: + version "5.5.0" + resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-5.5.0.tgz#43364e3554d261a586dec707bc32be81112b545f" + integrity sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A== + dependencies: + execa "^5.0.0" + fromentries "^1.3.2" + java-properties "^1.0.0" + +envinfo@^7.7.3: + version "7.11.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" + integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-stream@=3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@5.1.1, execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-parse@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" + integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.0.0, follow-redirects@^1.15.4: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fp-ts@^2.5.3: + version "2.16.2" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.16.2.tgz#7faa90f6fc2e8cf84c711d2c4e606afe2be9e342" + integrity sha512-CkqAjnIKFqvo3sCyoBTqgJvF+bHrSik584S9nhTjtBESLx26cbtVMR/T9a6ApChOcSDAaM3JydDmWDUn4EEXng== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== + +fromentries@^1.2.0, fromentries@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +geojson-equality@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/geojson-equality/-/geojson-equality-0.1.6.tgz#a171374ef043e5d4797995840bae4648e0752d72" + integrity sha512-TqG8YbqizP3EfwP5Uw4aLu6pKkg6JQK9uq/XZ1lXQntvTHD1BBKJWhNpJ2M0ax6TuWMP3oyx6Oq7FCIfznrgpQ== + dependencies: + deep-equal "^1.0.0" + +geojson-rbush@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/geojson-rbush/-/geojson-rbush-2.1.0.tgz#3bd73be391fc10b0ae693d9b8acea2aae0b83a8d" + integrity sha512-9HvLGhmAJBYkYYDdPlCrlfkKGwNW3PapiS0xPekdJLobkZE4rjtduKJXsO7+kUr97SsUlz4VtMcPuSIbjjJaQg== + dependencies: + "@turf/helpers" "*" + "@turf/meta" "*" + rbush "*" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-closest@*: + version "0.0.4" + resolved "https://registry.yarnpkg.com/get-closest/-/get-closest-0.0.4.tgz#269ac776d1e6022aa0fd586dd708e8a7d32269af" + integrity sha512-oMgZYUtnPMZB6XieXiUADpRIc5kfD+RPfpiYe9aIlEYGIcOx2mTGgKmUkctlLof/ANleypqOJRhQypbrh33DkA== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-monorepo-packages@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-monorepo-packages/-/get-monorepo-packages-1.2.0.tgz#3eee88d30b11a5f65955dec6ae331958b2a168e4" + integrity sha512-aDP6tH+eM3EuVSp3YyCutOcFS4Y9AhRRH9FAd+cjtR/g63Hx+DCXdKoP1ViRPUJz5wm+BOEXB4FhoffGHxJ7jQ== + dependencies: + globby "^7.1.1" + load-json-file "^4.0.0" + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +gitlog@^4.0.3: + version "4.0.8" + resolved "https://registry.yarnpkg.com/gitlog/-/gitlog-4.0.8.tgz#a255e7d4cb7bc9603afab01c39bd71816c800c20" + integrity sha512-FcTLP7Rc0H1vWXD+J/aj5JS1uiCEBblcYXlcacRAT73N26OMYFFzrBXYmDozmWlV2K7zwK5PrH16/nuRNhqSlQ== + dependencies: + debug "^4.1.1" + tslib "^2.5.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@9.3.2: + version "9.3.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.2.tgz#8528522e003819e63d11c979b30896e0eaf52eda" + integrity sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA== + dependencies: + fs.realpath "^1.0.0" + minimatch "^7.4.1" + minipass "^4.2.4" + path-scurry "^1.6.1" + +glob@^7.1.2, glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-webpack-plugin@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0" + integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + dependencies: + import-from "^3.0.0" + +import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +io-ts@^2.1.2: + version "2.2.21" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.21.tgz#4ef754176f7082a1099d04c7d5c4ea53267c530a" + integrity sha512-zz2Z69v9ZIC3mMLYWIeoUcwWD6f+O7yP92FMVVaXEOSZH1jnVBmET/urd/uoarD1WGBY4rCj8TAyMPzsGNzMFQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +java-properties@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" + integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== + +jest-worker@^27.0.2, jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +joi@^17.11.0: + version "17.12.1" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.1.tgz#3347ecf4cd3301962d42191c021b165eef1f395b" + integrity sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ== + dependencies: + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.5" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.1.2, json5@^2.2.1, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klona@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +lazy-ass@1.6.0, lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +lilconfig@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lineclip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/lineclip/-/lineclip-1.1.5.tgz#2bf26067d94354feabf91e42768236db5616fd13" + integrity sha512-KlA/wRSjpKl7tS9iRUdlG72oQ7qZ1IlVbVgHwoO10TBR/4gQ86uhKow6nlzMAJJhjCWKto8OeoAzzIzKSmN25A== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.chunk@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" + integrity sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.get@^4: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.uniqby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== + +lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +magic-string@0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +meant@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.3.tgz#67769af9de1d158773e928ae82c456114903554c" + integrity sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-css-extract-plugin@^2.5.3: + version "2.8.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz#1aeae2a90a954b6426c9e8311eab36b450f553a0" + integrity sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg== + dependencies: + schema-utils "^4.0.0" + tapable "^2.2.1" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^7.4.1: + version "7.4.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb" + integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +module-alias@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/module-alias/-/module-alias-2.2.3.tgz#ec2e85c68973bda6ab71ce7c93b763ec96053221" + integrity sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nested-error-stacks@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz#d2cc9fc5235ddb371fc44d506234339c8e4b0a4b" + integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@*: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +objectorarray@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.5.tgz#2c05248bbefabd8f43ad13b41085951aac5e68a5" + integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg== + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-author@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" + integrity sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw== + dependencies: + author-regex "^1.0.0" + +parse-github-url@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" + integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-ms@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" + integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.5, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.6.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== + dependencies: + through "~2.3" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pkg-conf@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" + integrity sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g== + dependencies: + find-up "^2.0.0" + load-json-file "^4.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +point-in-polygon@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz#b0af2616c01bdee341cbf2894df643387ca03357" + integrity sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw== + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" + integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" + integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== + +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.3.5, postcss@^8.4.33: + version "8.4.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +pretty-bytes@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-ms@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" + integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== + dependencies: + parse-ms "^2.1.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +ps-tree@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" + integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== + dependencies: + event-stream "=3.3.4" + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qs@6.10.4: + version "6.10.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" + integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== + dependencies: + side-channel "^1.0.4" + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quickselect@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" + integrity sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ== + +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-loader@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" + integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +rbush@*, rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + +rbush@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-2.0.2.tgz#bb6005c2731b7ba1d5a9a035772927d16a614605" + integrity sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA== + dependencies: + quickselect "^1.0.1" + +rc@^1.2.8, rc@~1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +registry-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +remove-markdown@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.3.0.tgz#5e4b667493a93579728f3d52ecc1db9ca505dc98" + integrity sha512-5392eIuy1mhjM74739VunOlsOYKjsH82rQcTBlJ1bkICVC3dQ3ksQzTHh4jGHQFnM+1xzLzcFOMH+BofqXhroQ== + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requireg@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/requireg/-/requireg-0.2.2.tgz#437e77a5316a54c9bcdbbf5d1f755fe093089830" + integrity sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg== + dependencies: + nested-error-stacks "~2.0.1" + rc "~1.2.7" + resolve "~1.7.1" + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.14.2, resolve@^1.9.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@~1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== + dependencies: + path-parse "^1.0.5" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +robust-predicates@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-2.0.4.tgz#0a2367a93abd99676d075981707f29cfb402248b" + integrity sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.0.0, rxjs@^7.5.1, rxjs@^7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@^12.3.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@^1.43.4: + version "1.70.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.70.0.tgz#761197419d97b5358cb25f9dd38c176a8a270a75" + integrity sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.5.3, semver@^7.5.4: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-function-length@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== + dependencies: + define-data-property "^1.1.2" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +set-function-name@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3, shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" + integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" + integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== + dependencies: + chalk "^2.3.2" + figures "^2.0.0" + pkg-conf "^2.1.0" + +skmeans@0.9.7: + version "0.9.7" + resolved "https://registry.yarnpkg.com/skmeans/-/skmeans-0.9.7.tgz#72670cebb728508f56e29c0e10d11e623529ce5d" + integrity sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@^0.5.17, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== + dependencies: + through "2" + +sshpk@^1.14.1: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +start-server-and-test@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-2.0.3.tgz#15c53c85e23cba7698b498b8a2598cab95f3f802" + integrity sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg== + dependencies: + arg "^5.0.2" + bluebird "3.7.2" + check-more-types "2.24.0" + debug "4.3.4" + execa "5.1.1" + lazy-ass "1.6.0" + ps-tree "1.2.0" + wait-on "7.2.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== + dependencies: + duplexer "~0.1.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +style-loader@^3.3.1: + version "3.3.4" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" + integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0, supports-color@^8.1.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +svgo@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.2.0.tgz#7a5dff2938d8c6096e00295c2390e8e652fa805d" + integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terminal-link@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terraformer-arcgis-parser@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/terraformer-arcgis-parser/-/terraformer-arcgis-parser-1.1.0.tgz#6048d5072615d855ca53739b329435869e5f9eb8" + integrity sha512-bvxEtpiS22Lz1ciaXP/MMLTlJkrHWLBV/y7VBeTLHtZnz/Ngq4wF3RqrpjzP6ojJjxvcdDlvs+UFs3wicoT1Vg== + dependencies: + "@types/geojson" "^1.0.0" + terraformer "~1.0.4" + +terraformer@~1.0.4: + version "1.0.12" + resolved "https://registry.yarnpkg.com/terraformer/-/terraformer-1.0.12.tgz#39e08f9c753606421acce02e122440c72dfa12d3" + integrity sha512-MokUp0+MFal4CmJDVL6VAO1bKegeXcBM2RnPVfqcFIp2IIv8EbPAjG0j/vEy/vuKB8NVMMSF2vfpVS/QLe4DBg== + optionalDependencies: + "@types/geojson" "^7946.0.0 || ^1.0.0" + +terser-webpack-plugin@^5.2.4, terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.10.0, terser@^5.26.0: + version "5.27.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + +through@2, through@^2.3.8, through@~2.3, through@~2.3.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tinycolor2@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + +tinyqueue@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08" + integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA== + +tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +topojson-client@3.x: + version "3.1.0" + resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-3.1.0.tgz#22e8b1ed08a2b922feeb4af6f53b6ef09a467b99" + integrity sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw== + dependencies: + commander "2" + +topojson-server@3.x: + version "3.0.1" + resolved "https://registry.yarnpkg.com/topojson-server/-/topojson-server-3.0.1.tgz#d2b3ec095b6732299be76a48406111b3201a34f5" + integrity sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw== + dependencies: + commander "2" + +tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-node@^9: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tslib@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tslib@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== + +tslib@^2, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.5.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +turf-jsts@*: + version "1.2.3" + resolved "https://registry.yarnpkg.com/turf-jsts/-/turf-jsts-1.2.3.tgz#59757f542afbff9a577bbf411f183b8f48d38aa4" + integrity sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA== + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-fest@^0.21.1, type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript-memoize@^1.0.0-alpha.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.1.tgz#02737495d5df6ebf72c07ba0d002e8f4cf5ccfa0" + integrity sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA== + +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universal-user-agent@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unplugin@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.0.1.tgz#83b528b981cdcea1cad422a12cd02e695195ef3f" + integrity sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA== + dependencies: + acorn "^8.8.1" + chokidar "^3.5.3" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.5.0" + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-join@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + integrity sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ== + dependencies: + os-homedir "^1.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +wait-on@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-7.2.0.tgz#d76b20ed3fc1e2bebc051fae5c1ff93be7892928" + integrity sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ== + dependencies: + axios "^1.6.1" + joi "^17.11.0" + lodash "^4.17.21" + minimist "^1.2.8" + rxjs "^7.8.1" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webpack-cli@^4.9.1: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.4.0: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-virtual-modules@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" + integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== + +webpack@^5.61.0: + version "5.90.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" + integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.13.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==