1||p<-1||a<0||a>t.width||s<0||s>t.height?h.display="none":h.zIndex=Math.floor((1-p)/2*1e5),h):h}(e,s,r.current,m,h),f=(0,n.useCallback)((function(e){o.props.onClose();var t=o.context.eventManager;t&&t.once("click",(function(e){return e.stopPropagation()}),e.target)}),[]);return n.createElement("div",{className:"mapboxgl-popup mapboxgl-popup-anchor-".concat(h," ").concat(c),style:O,ref:r},n.createElement("div",{key:"tip",className:"mapboxgl-popup-tip",style:{borderWidth:d}}),n.createElement("div",{key:"content",ref:t,className:"mapboxgl-popup-content"},u&&n.createElement("button",{key:"close-button",className:"mapboxgl-popup-close-button",type:"button",onClick:f},"×"),M))}kn.propTypes=Ln,kn.defaultProps=Rn;const Bn=n.memo(kn);function Sn(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}var Xn=Object.assign({},rn,{toggleLabel:ee.string,className:ee.string,style:ee.object,compact:ee.bool,customAttribution:ee.oneOfType([ee.string,ee.arrayOf(ee.string)])}),En=Object.assign({},nn,{className:"",toggleLabel:"Toggle Attribution"});function Dn(e){var t=sn(e),o=t.context,i=t.containerRef,r=(0,n.useRef)(null),a=te((0,n.useState)(!1),2),s=a[0],p=a[1];(0,n.useEffect)((function(){var t;return o.map&&(t=function(e,t,o,i){var n=new(xt().AttributionControl)(e);return n._map=t,n._container=o,n._innerContainer=i,n._updateAttributions(),n._updateEditLink(),t.on("styledata",n._updateData),t.on("sourcedata",n._updateData),n}({customAttribution:e.customAttribution},o.map,i.current,r.current)),function(){return t&&function(e){e._map.off("styledata",e._updateData),e._map.off("sourcedata",e._updateData)}(t)}}),[o.map]);var c=void 0===e.compact?o.viewport.width<=640:e.compact;(0,n.useEffect)((function(){!c&&s&&p(!1)}),[c]);var l=(0,n.useCallback)((function(){return p((function(e){return!e}))}),[]),b=(0,n.useMemo)((function(){return function(e){for(var t=1;ta)return 1}return 0}(e,"1.6.0")>=0?2:1}function er(e,t,o){var i=e.viewport,n=new Ct(Object.assign({},i,o)),r=Object.assign({},n.getViewportProps(),_i),a=t.onViewportChange||e.onViewportChange||$n;(t.onViewStateChange||e.onViewStateChange||$n)({viewState:r}),a(r)}function tr(e,t,o,i){return n.createElement("button",{key:e,className:"mapboxgl-ctrl-icon mapboxgl-ctrl-".concat(e),type:"button",title:t,onClick:o},i||n.createElement("span",{className:"mapboxgl-ctrl-icon","aria-hidden":"true"}))}function or(e){var t=sn(e),o=t.context,i=t.containerRef,r=e.className,a=e.showCompass,s=e.showZoom,p=e.zoomInLabel,c=e.zoomOutLabel,l=e.compassLabel,b=(0,n.useMemo)((function(){return function(e){for(var t=1;t {const e=()=>{const{width:e,height:t}=h.current.getBoundingClientRect();e&&t&&m({width:e-2,height:t-2})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),(0,n.useEffect)((()=>(o.input?.meeting||document.body.classList.add("tsml-ui-map"),()=>{document.body.classList.remove("tsml-ui-map")})),[o.input?.meeting]),(0,n.useEffect)((()=>{const t={},i={};e.forEach((e=>{const n=o.meetings[e];if(n?.latitude&&n?.longitude&&n?.isInPerson){const e=n.latitude+","+n.longitude;t.hasOwnProperty(e)||(t[e]={directions_url:M(n),formatted_address:n.formatted_address,latitude:n.latitude,longitude:n.longitude,meetings:[],name:n.location}),(!i.north||n.latitude>i.north)&&(i.north=n.latitude),(!i.south||n.latitude i.east)&&(i.east=n.longitude),(!i.west||n.longitude t[o].latitude-t[e].latitude));u({bounds:i,locations:t,locationKeys:n}),1===n.length&&s(n[0])}),[e]),(0,n.useEffect)((()=>{z&&b.bounds&&l(b.bounds.west===b.bounds.east?Or(Or({},z),{},{latitude:b.bounds.north,longitude:b.bounds.west,zoom:14}):new Ce(z).fitBounds([[b.bounds.west,b.bounds.south],[b.bounds.east,b.bounds.north]],{padding:Math.min(z.width,z.height)/10}))}),[b,z]),(0,f.jsx)("div",{className:"border rounded bg-light flex-grow-1 map",ref:h,children:p&&!!b.locationKeys.length&&(0,f.jsxs)(ji,Or(Or({mapStyle:c.map.style,mapboxApiAccessToken:r,onViewportChange:l},p),{},{children:[b.locationKeys.map((e=>(0,f.jsxs)("div",{children:[(0,f.jsx)(xn,{latitude:b.locations[e].latitude,longitude:b.locations[e].longitude,offsetLeft:-c.map.markers.location.width/2,offsetTop:-c.map.markers.location.height,children:(0,f.jsx)("div",{"data-testid":e,onClick:()=>s(e),style:c.map.markers.location,title:b.locations[e].name})}),a===e&&(0,f.jsx)(Bn,{captureScroll:!0,closeOnClick:!1,latitude:b.locations[e].latitude,longitude:b.locations[e].longitude,offsetTop:-c.map.markers.location.height,onClose:()=>s(null),children:(0,f.jsxs)("div",{className:"d-grid gap-2",children:[(0,f.jsx)("h4",{className:"fw-light",children:b.locations[e].name}),(0,f.jsx)("p",{children:b.locations[e].formatted_address}),t&&(0,f.jsx)("div",{className:"list-group mb-1",children:b.locations[e].meetings.sort(((e,t)=>e.start.isAfter(t.start))).map(((e,t)=>(0,f.jsxs)("div",{className:"list-group-item",children:[(0,f.jsxs)("time",{className:"d-block",children:[e.start.format("h:mm a"),(0,f.jsx)("span",{className:"ms-1",children:d[c.weekdays[e.start.format("d")]]})]}),(0,f.jsx)(V,{meeting:e,setState:i,state:o})]},t)))}),b.locations[e].directions_url&&(0,f.jsx)(g,{className:"in-person",href:b.locations[e].directions_url,icon:"geo",text:d.get_directions})]})})]},e))),(0,f.jsx)(ir,{className:"d-none d-md-block",onViewportChange:l,showCompass:!1,style:{top:10,right:10}})]}))})}function _r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function gr(e){for(var t=1;t {const e=document.getElementById("tsml-ui");if(e){const t=Math.max(0,...[...document.body.getElementsByTagName("*")].filter((e=>"fixed"===getComputedStyle(e,null).getPropertyValue("position")&&e.offsetTop<100)).map((e=>e.offsetTop+e.offsetHeight)));t&&(e.style.scrollMarginTop=`${t}px`),e.scrollIntoView()}return p.edit_url&&(console.log(`TSML UI edit ${p.name}: ${p.edit_url}`),Wr(p.edit_url)),()=>{Wr()}}),[e.input.meeting]),(0,n.useEffect)((()=>(document.body.classList.add("tsml-ui-meeting"),()=>{document.body.classList.remove("tsml-ui-meeting")})),[]);const l=p.isInPerson?M(p):void 0;document.title=p.name;const b=p.start?`${d[c.weekdays[p.start.format("d")]]} ${p.start.format("h:mm a")}${p.end?` – ${p.end.format("h:mm a")}`:""}`:d.appointment;!p.feedback_url&&i.length&&(p.feedback_url=h(c.feedback_emails,p));const z=[];p.email&&z.push({href:`mailto:${p.email}`,icon:"email",text:p.email}),p.website&&z.push({href:p.website,target:"_blank",icon:"link",text:new URL(p.website).host.replace("www.","")}),p.phone&&z.push({href:p.phone,icon:"phone",text:p.phone}),p.venmo&&z.push({href:`https://venmo.com/${p.venmo.substr(1)}`,icon:"cash",text:d.contribute_with.replace("%service%","Venmo")}),p.square&&z.push({href:`https://cash.app/${p.square}`,icon:"cash",text:d.contribute_with.replace("%service%","Cash App")}),p.paypal&&z.push({href:p.paypal,icon:"cash",text:d.contribute_with.replace("%service%","PayPal")});const O=c.weekdays.map(((t,o)=>({name:d[t],meetings:Object.values(e.meetings).filter((e=>e.start?.day()===o)).filter((e=>p.isInPerson&&e.isInPerson&&e.formatted_address===p.formatted_address)).sort(((e,t)=>e.start-t.start))}))).filter((e=>e.meetings.length));1===O.length&&1===O[0].meetings.length&&O.splice(0,1);const A=c.weekdays.map(((t,o)=>({name:d[t],meetings:Object.values(e.meetings).filter((e=>e.start?.day()===o)).filter((e=>p.group&&(e.isOnline||e.isInPerson)&&e.group===p.group)).sort(((e,t)=>e.start-t.start))}))).filter((e=>e.meetings.length));return 1===A.length&&1===A[0].meetings.length&&A.splice(0,1),(0,f.jsxs)("div",{className:r("d-flex flex-column flex-grow-1 meeting",{"in-person":p.isInPerson,inactive:!p.isActive,online:p.isOnline}),children:[(0,f.jsx)("h1",{className:"fw-light mb-1",children:(0,f.jsx)(V,{meeting:p})}),(0,f.jsxs)("div",{className:"align-items-center border-bottom d-flex h6 mb-3 pb-2",children:[(0,f.jsx)(_,{icon:"back"}),(0,f.jsx)("a",{href:m(gr(gr({},e.input),{},{meeting:null})),onClick:o=>{o.preventDefault(),t(gr(gr({},e),{},{input:gr(gr({},e.input),{},{meeting:null})}))},children:d.back_to_meetings})]}),(0,f.jsxs)("div",{className:"flex-grow-1 row",children:[(0,f.jsxs)("div",{className:"align-content-start col-md-4 d-grid gap-3 mb-3 mb-md-0",children:[l&&(0,f.jsx)(g,{className:"in-person",href:l,icon:"geo",text:d.get_directions}),(0,f.jsxs)("div",{className:"list-group",children:[(0,f.jsxs)("div",{className:"d-grid gap-2 list-group-item py-3",children:[(0,f.jsx)("h2",{className:"h5",children:d.meeting_information}),(0,f.jsx)("p",{children:b}),e.capabilities.type&&p.types&&(0,f.jsx)("ul",{className:"ms-4",children:p.types.filter((e=>"active"!==e)).sort(((e,t)=>d.types[e].localeCompare(d.types[t]))).map(((e,t)=>(0,f.jsx)("li",{className:"m-0",children:d.type_descriptions?.[e]?(0,f.jsxs)("button",{className:"d-flex flex-column bg-transparent border-0 p-0 text-start text-reset",onClick:()=>s(a===e?null:e),children:[(0,f.jsxs)("div",{className:"d-flex align-items-center gap-2",children:[(0,f.jsx)("span",{children:d.types[e]}),(0,f.jsx)(_,{icon:"info",size:13,className:a===e?"text-muted":void 0})]}),a===e&&(0,f.jsx)("small",{className:"d-block mb-2",children:d.type_descriptions[e]})]}):d.types[e]},t)))}),p.notes&&(0,f.jsx)(vr,{text:p.notes}),(p.isActive||!p.group&&!!z.length)&&(0,f.jsxs)("div",{className:"d-grid gap-3 mt-2",children:[p.conference_provider&&(0,f.jsxs)("div",{className:"d-grid gap-1",children:[(0,f.jsx)(g,{className:"online",href:p.conference_url,icon:"camera",text:p.conference_provider}),p.conference_url_notes&&(0,f.jsx)(vr,{className:"d-block text-muted",text:p.conference_url_notes})]}),p.conference_phone&&(0,f.jsxs)("div",{className:"d-grid gap-1",children:[(0,f.jsx)(g,{className:"online",href:`tel:${p.conference_phone}`,icon:"phone",text:d.phone}),p.conference_phone_notes&&(0,f.jsx)(vr,{className:"d-block text-muted",text:p.conference_phone_notes})]}),p.start&&p.isActive&&(0,f.jsx)(g,{onClick:()=>function(e){var t;const o="YYYYMMDDTHHmmss";if(!e.start)return;e.end||(e.end=e.start.clone().add(1,"hour")),e.start.isBefore()&&(e.start.add(1,"week"),e.end.add(1,"week"));const i=[`SUMMARY:${e.name}`,`DTSTAMP:${e.start.clone().tz("UTC").format(o)}Z`,`DTSTART;TZID=${e.timezone}:${e.start.format(o)}`,`DTEND;TZID=${e.timezone}:${e.end.format(o)}`],n=[];e.notes&&n.push(e.notes),e.isInPerson&&(i.push(`LOCATION:${e.location}\n${e.formatted_address}`),e.location_notes&&n.push(e.location_notes)),e.isOnline&&(e.conference_provider&&(e.conference_url_notes&&n.push(e.conference_url_notes),n.push("----( Video Call )----",e.conference_url,"---===---")),e.conference_phone&&(n.push(e.conference_phone),e.conference_phone_notes&&n.push(e.conference_phone_notes))),n.length&&i.push(`DESCRIPTION:${n.join("\n")}`),e.website&&i.push(`URL:${e.website}`);const r=["BEGIN:VCALENDAR","VERSION:2.0","BEGIN:VEVENT",...i.map((e=>e.replaceAll("\n","\\n").replaceAll(",","\\,"))),"END:VEVENT","END:VCALENDAR"].join("\n");if(u()){const e=`data:text/calendar;charset=utf8,${r}`;window.location=encodeURI(e)}else{const o=window.URL.createObjectURL(new Blob([r])),i=document.createElement("a");i.href=o,i.setAttribute("download",`${e.name}.ics`),document.body.appendChild(i),i.click(),null===(t=i.parentNode)||void 0===t||t.removeChild(i)}}(p),icon:"calendar",text:d.add_to_calendar}),!p.group&&z.map(((e,t)=>(0,n.createElement)(g,gr(gr({},e),{},{key:t}))))]})]}),!p.approximate&&(0,f.jsxs)("div",{className:r({"text-decoration-line-through text-muted":p.isTempClosed},"d-grid gap-2 list-group-item py-3 location"),children:[p.location&&(0,f.jsx)("h2",{className:"h5",children:p.location}),p.formatted_address&&(0,f.jsx)("p",{children:p.formatted_address}),p.regions&&(0,f.jsx)("p",{children:p.regions.join(" > ")}),p.location_notes&&(0,f.jsx)(vr,{text:p.location_notes}),(0,f.jsx)("div",{className:"meetings d-grid gap-2",children:xr(O,p.slug,e,t)})]}),p.group&&(p.district||p.group_notes||!!A.length||!!z.length)&&(0,f.jsxs)("div",{className:"d-grid gap-2 list-group-item py-3 group",children:[(0,f.jsx)("h2",{className:"h5",children:p.group}),p.district&&(0,f.jsx)("p",{children:p.district}),p.group_notes&&(0,f.jsx)(vr,{text:p.group_notes}),!!z.length&&(0,f.jsx)("div",{className:"d-grid gap-3 mt-2",children:z.map(((e,t)=>(0,n.createElement)(g,gr(gr({},e),{},{key:t}))))}),(0,f.jsx)("div",{className:"meetings d-grid gap-2",children:xr(A,p.slug,e,t)})]}),p.updated&&(0,f.jsx)("div",{className:"list-group-item",children:d.updated.replace("%updated%",p.updated)})]}),p.feedback_url&&(0,f.jsx)(g,{href:p.feedback_url,icon:"edit",text:d.feedback})]}),!!o&&(0,f.jsx)("div",{className:r({"d-md-block d-none":!p.isInPerson},"col-md-8"),children:(0,f.jsx)(Ar,{filteredSlugs:[p.slug],listMeetingsInPopup:!1,state:e,setState:t,mapbox:o})})]})]})}function vr({text:e,className:t}){return(0,f.jsx)("div",{className:t,children:e.split("\n").filter((e=>e)).map(((e,t)=>(0,f.jsx)("p",{children:e},t)))})}function xr(e,t,o,i){return e.map((({meetings:e,name:n},r)=>(0,f.jsxs)("div",{children:[(0,f.jsx)("h3",{className:"h6 mb-1 mt-2",children:n}),(0,f.jsx)("ol",{className:"list-unstyled",children:e.map(((e,n)=>(0,f.jsxs)("li",{className:"d-flex flex-row gap-2 justify-content-between m-0",children:[(0,f.jsx)("div",{className:"text-muted text-nowrap",children:e.start.format("h:mm a")}),(0,f.jsx)("div",{className:"flex-grow-1",children:e.slug===t?(0,f.jsx)(V,{meeting:e}):(0,f.jsx)(V,{meeting:e,setState:i,state:o})}),(0,f.jsxs)("div",{className:"align-items-start d-flex gap-1 justify-content-end pt-1",children:[e.isInPerson&&(0,f.jsx)("small",{className:"align-items-center d-flex flex-row float-end gap-2 px-2 py-1 rounded text-sm in-person",children:(0,f.jsx)(_,{icon:"geo",size:13})}),e.isOnline&&(0,f.jsxs)("small",{className:"align-items-center d-flex flex-row float-end gap-2 px-2 py-1 rounded text-sm online",children:[e.conference_provider&&(0,f.jsx)(_,{icon:"camera",size:13}),e.conference_phone&&(0,f.jsx)(_,{icon:"phone",size:13})]})]})]},n)))})]},r)))}function Wr(e){const t=document.getElementById("wp-admin-bar-root-default");if(!t)return;const o=document.getElementById("wp-admin-bar-edit-meeting");if(e){const o=document.createElement("a");o.setAttribute("class","ab-item"),o.setAttribute("href",e),o.appendChild(document.createTextNode("Edit Meeting"));const i=document.createElement("li");i.setAttribute("id","wp-admin-bar-edit-meeting"),i.appendChild(o),t.appendChild(i)}else o&&o.parentNode.removeChild(o)}var wr=o(246),Lr=o.n(wr);function Rr(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function Tr(e){for(var t=1;t (document.body.classList.add("tsml-ui-table"),()=>{document.body.classList.remove("tsml-ui-table")})),[]);const O=c.columns.filter((e=>s.includes(e))).filter((e=>h||"region"!==e)).filter((e=>z||"distance"!==e)).filter((e=>m||!["location","location_group"].includes(e))),A=(o,i)=>{if("address"===i){const e=[];return o.isInPerson&&e.push({className:"in-person",href:a?M(o):void 0,icon:"geo",text:o.address}),o.conference_provider&&e.push({className:"online",href:a?o.conference_url:void 0,icon:"camera",text:o.conference_provider}),o.conference_phone&&e.push({className:"online",href:a?`tel:${o.conference_phone}`:void 0,icon:"phone",text:d.phone}),o.isInPerson||o.isOnline||e.push({className:"inactive",icon:"close",text:d.types.inactive}),(0,f.jsx)("div",{className:"d-flex flex-wrap gap-1",children:e.map(((e,t)=>(0,f.jsx)(g,Tr({small:!0},e),t)))})}return"distance"===i&&o.distance?(0,f.jsxs)(f.Fragment,{children:[o.distance,(0,f.jsx)("small",{className:"ms-1 text-muted",children:c.distance_unit})]}):"location"===i?o.location:"location_group"===i?o.isInPerson?o.location:o.group:"name"===i&&o.slug?(0,f.jsx)(V,{meeting:o,state:e,setState:t}):"region"===i&&o.regions?o.regions[o.regions.length-1]:"time"===i?o.start?(0,f.jsxs)("time",{className:"d-flex flex-column flex-lg-row gap-lg-1",children:[(0,f.jsx)("span",{className:"text-nowrap",children:o.start.format("h:mm a")}),(0,f.jsx)("span",{className:"text-nowrap",children:d[c.weekdays[o.start?.format("d")]]})]}):d.appointment:null},_=({slug:o})=>{const i=e.meetings[o];return(0,f.jsx)("tr",{className:r({"cursor-pointer":!a},"d-block d-md-table-row"),onClick:()=>{a||t(Tr(Tr({},e),{},{input:Tr(Tr({},e.input),{},{meeting:i.slug})}))},children:O.map(((e,t)=>(0,f.jsx)("td",{className:r("d-block d-md-table-cell",e),children:A(i,e)},t)))})};return!!o.length&&(0,f.jsx)("div",{className:"row",children:(0,f.jsxs)("table",{className:r("table table-striped flex-grow-1 my-0",{"clickable-rows":!a}),children:[(0,f.jsx)("thead",{children:(0,f.jsx)("tr",{className:"d-none d-md-table-row",children:O.map(((e,t)=>(0,f.jsx)("th",{className:e,children:d[e]},t)))})}),!!i.length&&(0,f.jsx)("tbody",{className:"border-0",children:b?i.map(((e,t)=>(0,f.jsx)(_,{slug:e},t))):(0,f.jsx)("tr",{children:(0,f.jsx)("td",{className:"p-0",colSpan:O.length,children:(0,f.jsx)("div",{className:"alert alert-warning m-0 opacity-50 p-2 rounded-0",children:(0,f.jsx)("button",{onClick:()=>u(!0),className:"alert-link bg-transparent border-0 d-block fw-normal mx-auto py-2 py-md-1 text-center text-decoration-underline w-100",children:1===i.length?d.in_progress_single:d.in_progress_multiple.replace("%count%",i.length)})})})})}),(0,f.jsx)(Lr(),{element:"tbody",className:"border-0",loadMore:()=>{l(p+10)},hasMore:o.length>p,children:o.slice(0,p).map(((e,t)=>(0,f.jsx)(_,{slug:e},t)))})]})})}function Sr({state:{indexes:e,input:t}}){if(!e||!t)return null;const o=[];Object.keys(d.title).forEach((i=>{if("meetings"===i)o.push(d.meetings);else if("search_with"===i&&"search"===t.mode&&t.search)o.push(d.title.search_with.replace("%search%",`‘${t.search}’`));else if("search_near"===i&&"location"===t.mode&&t.search)o.push(d.title.search_near.replace("%search%",`‘${t.search}’`));else if(e[i]&&t[i]?.length){const n=t[i].map((t=>T(e[i],t)?.name)).join(" + ");o.push(d.title[i].replace(`%${i}%`,n))}}));const i=o.join(" ");return document.title=i,(0,f.jsx)("h1",{className:"fw-light mb-2",children:i})}var Xr=o(3379),Er=o.n(Xr),Dr=o(8460),Cr={insert:"head",singleton:!1};Er()(Dr.Z,Cr);Dr.Z.locals;var Nr=o(2809),Pr={insert:"head",singleton:!1};Er()(Nr.Z,Pr);Nr.Z.locals;function Ir(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function Yr(e){for(var t=1;t {const e=()=>{r(Yr(Yr({},i),{},{input:z(window.location.search)}))};window.addEventListener("popstate",e);let t=document.querySelector('link[rel="canonical"]');return t||(t=document.createElement("link"),t.setAttribute("rel","canonical"),document.getElementsByTagName("head")[0]?.appendChild(t)),t.setAttribute("href",m(i.input.meeting?{meeting:i.input.meeting}:i.input)),()=>{window.removeEventListener("popstate",e)}}),[i,window.location.search]),(0,n.useEffect)((()=>(document.body.classList.add("tsml-ui"),()=>{document.body.classList.remove("tsml-ui")})),[]),i.loading){console.log("TSML UI meeting finder: https://github.com/code4recovery/tsml-ui");const t=z();e.endsWith(".json")&&t.meeting&&(e=e.concat("?",(new Date).getTime())),fetch(e).then((e=>e.json())).then((e=>{if(!Array.isArray(e)||!e.length)return r(Yr(Yr({},i),{},{error:"bad_data",loading:!1,ready:!0}));const[n,a,s]=X(e,i.capabilities,o),p=(!t.latitude||!t.longitude)&&("location"===t.mode&&t.search||"me"===t.mode);r(Yr(Yr({},i),{},{capabilities:s,indexes:a,input:t,loading:!1,meetings:n,ready:!p}))})).catch((t=>{e&&console.error(`TSML UI data loading error: ${t}`,e),r(Yr(Yr({},i),{},{error:e?"bad_data":"no_data_src",loading:!1,ready:!0}))}))}!function(e){const t=m(e);window.location.href!==t&&window.history.pushState("","",t)}(i.input);const[a,s]=function(e,t,o){const i=[],n=R()(),r=Object.keys(e.meetings),a={};if(c.filters.forEach((t=>{e.input[t]?.length&&e.capabilities[t]&&("type"===t?e.input.type.forEach((o=>i.push(T(e.indexes[t],o)?.slugs??[]))):i.push([].concat.apply([],e.input[t].map((o=>T(e.indexes[t],o)?.slugs??[])))))})),"search"===e.input.mode){if(e.input.search){const t=e.input.search.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replaceAll(" OR ","|").toLowerCase().split("|").map((e=>e.split('"'))).map((e=>[...new Set(e.filter(((e,t)=>t%2)).concat(e.filter(((e,t)=>!(t%2))).join(" ").split(" ")).filter((e=>e)))])).filter((e=>e.length)),o=r.filter((o=>t.some((t=>t.every((t=>-1!==e.meetings[o].search.search(t)))))));i.push([].concat.apply([],o))}}else["me","location"].includes(e.input.mode)&&(i.push(r.filter((t=>e.meetings[t].latitude&&e.meetings[t].latitude))),e.input.latitude&&e.input.longitude||(e.input.search&&"location"===e.input.mode?fetch(`https://api.mapbox.com/geocoding/v5/mapbox.places/${e.input.search}.json?${new URLSearchParams({access_token:o,autocomplete:!1,language:c.language})}`).then((e=>e.json())).then((o=>{o.features&&o.features.length&&w(o.features[0].center[1],o.features[0].center[0],s,e,t)})):"me"===e.input.mode&&navigator.geolocation.getCurrentPosition((o=>{w(o.coords.latitude,o.coords.longitude,s,e,t)}),(e=>{console.warn(`TSML UI geolocation error: ${e}`)}),{timeout:5e3})));const s=i.length?i.shift().filter((e=>i.every((t=>t.includes(e))))):r;r.forEach((t=>{a[t]=e.meetings[t].start?.diff(n,"minutes")??-9999,a[t] {const i=e.meetings[t],n=e.meetings[o];if(i.time&&!n.time)return-1;if(!i.time&&n.time)return 1;if(e.input.weekday.length){if(i.minutes_week!==n.minutes_week)return i.minutes_week-n.minutes_week}else if(a[t]!==a[o])return a[t]-a[o];return i.distance!==n.distance?null===i.distance?-1:null===n.distance?1:i.distance-n.distance:i.name!==n.name?i.name?n.name?i.name.localeCompare(n.name):1:-1:i.location!==n.location?i.location?n.location?i.location.localeCompare(n.location):1:-1:0}));const p=s.filter((t=>e.meetings[t].start?.diff(n,"minutes") {"use strict";o.d(t,{Z:()=>r});var i=o(3645),n=o.n(i)()((function(e){return e[1]}));n.push([e.id,".mapboxgl-map{-webkit-tap-highlight-color:rgba(0,0,0,0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:-webkit-grabbing;cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{-webkit-animation:mapboxgl-spin 2s linear infinite;animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}}@-webkit-keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg 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}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg 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{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{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{-webkit-animation:mapboxgl-user-location-dot-pulse 2s infinite;animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@-webkit-keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:rgba(29,161,242,.2);border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}",""]);const r=n},8460:(e,t,o)=>{"use strict";o.d(t,{Z:()=>r});var i=o(3645),n=o.n(i)()((function(e){return e[1]}));n.push([e.id,"@charset \"UTF-8\";body,div#tsml-ui,div.tsml-ui,html,meetings{height:100%;margin:0}div.tsml-ui{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:100%;background-color:#fff!important;color:#212529!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important;font-size:1rem!important;font-weight:400!important;line-height:1.5!important}div.tsml-ui :root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}div.tsml-ui *,div.tsml-ui :after,div.tsml-ui :before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){div.tsml-ui :root{scroll-behavior:smooth}}div.tsml-ui body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align)}div.tsml-ui hr{background-color:currentColor;border:0;color:inherit;margin:1rem 0;opacity:.25}div.tsml-ui hr:not([size]){height:1px}div.tsml-ui .h1,div.tsml-ui .h2,div.tsml-ui .h3,div.tsml-ui .h4,div.tsml-ui .h5,div.tsml-ui .h6,div.tsml-ui h1,div.tsml-ui h2,div.tsml-ui h3,div.tsml-ui h4,div.tsml-ui h5,div.tsml-ui h6{font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}div.tsml-ui .h1,div.tsml-ui h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){div.tsml-ui .h1,div.tsml-ui h1{font-size:2.5rem}}div.tsml-ui .h2,div.tsml-ui h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){div.tsml-ui .h2,div.tsml-ui h2{font-size:2rem}}div.tsml-ui .h3,div.tsml-ui h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){div.tsml-ui .h3,div.tsml-ui h3{font-size:1.75rem}}div.tsml-ui .h4,div.tsml-ui h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){div.tsml-ui .h4,div.tsml-ui h4{font-size:1.5rem}}div.tsml-ui .h5,div.tsml-ui h5{font-size:1.25rem}div.tsml-ui .h6,div.tsml-ui h6{font-size:1rem}div.tsml-ui p{margin-bottom:1rem;margin-top:0}div.tsml-ui abbr[data-bs-original-title],div.tsml-ui abbr[title]{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}div.tsml-ui address{font-style:normal;line-height:inherit;margin-bottom:1rem}div.tsml-ui ol,div.tsml-ui ul{padding-left:2rem}div.tsml-ui dl,div.tsml-ui ol,div.tsml-ui ul{margin-bottom:1rem;margin-top:0}div.tsml-ui ol ol,div.tsml-ui ol ul,div.tsml-ui ul ol,div.tsml-ui ul ul{margin-bottom:0}div.tsml-ui dt{font-weight:700}div.tsml-ui dd{margin-bottom:.5rem;margin-left:0}div.tsml-ui blockquote{margin:0 0 1rem}div.tsml-ui b,div.tsml-ui strong{font-weight:bolder}div.tsml-ui .small,div.tsml-ui small{font-size:.875em}div.tsml-ui .mark,div.tsml-ui mark{background-color:#fcf8e3;padding:.2em}div.tsml-ui sub,div.tsml-ui sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}div.tsml-ui sub{bottom:-.25em}div.tsml-ui sup{top:-.5em}div.tsml-ui a{color:#0d6efd;text-decoration:underline}div.tsml-ui a:hover{color:#0a58ca}div.tsml-ui a:not([href]):not([class]),div.tsml-ui a:not([href]):not([class]):hover{color:inherit;text-decoration:none}div.tsml-ui code,div.tsml-ui kbd,div.tsml-ui pre,div.tsml-ui samp{direction:ltr;font-family:var(--bs-font-monospace);font-size:1em;unicode-bidi:bidi-override}div.tsml-ui pre{display:block;font-size:.875em;margin-bottom:1rem;margin-top:0;overflow:auto}div.tsml-ui pre code{color:inherit;font-size:inherit;word-break:normal}div.tsml-ui code{word-wrap:break-word;color:#d63384;font-size:.875em}a>div.tsml-ui code{color:inherit}div.tsml-ui kbd{background-color:#212529;border-radius:.2rem;color:#fff;font-size:.875em;padding:.2rem .4rem}div.tsml-ui kbd kbd{font-size:1em;font-weight:700;padding:0}div.tsml-ui figure{margin:0 0 1rem}div.tsml-ui img,div.tsml-ui svg{vertical-align:middle}div.tsml-ui table{border-collapse:collapse;caption-side:bottom}div.tsml-ui caption{color:#6c757d;padding-bottom:.5rem;padding-top:.5rem;text-align:left}div.tsml-ui th{text-align:inherit;text-align:-webkit-match-parent}div.tsml-ui tbody,div.tsml-ui td,div.tsml-ui tfoot,div.tsml-ui th,div.tsml-ui thead,div.tsml-ui tr{border:0 solid;border-color:inherit}div.tsml-ui label{display:inline-block}div.tsml-ui button{border-radius:0}div.tsml-ui button:focus:not(:focus-visible){outline:0}div.tsml-ui button,div.tsml-ui input,div.tsml-ui optgroup,div.tsml-ui select,div.tsml-ui textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}div.tsml-ui button,div.tsml-ui select{text-transform:none}div.tsml-ui [role=button]{cursor:pointer}div.tsml-ui select{word-wrap:normal}div.tsml-ui select:disabled{opacity:1}div.tsml-ui [list]::-webkit-calendar-picker-indicator{display:none}div.tsml-ui [type=button],div.tsml-ui [type=reset],div.tsml-ui [type=submit],div.tsml-ui button{-webkit-appearance:button}div.tsml-ui [type=button]:not(:disabled),div.tsml-ui [type=reset]:not(:disabled),div.tsml-ui [type=submit]:not(:disabled),div.tsml-ui button:not(:disabled){cursor:pointer}div.tsml-ui ::-moz-focus-inner{border-style:none;padding:0}div.tsml-ui textarea{resize:vertical}div.tsml-ui fieldset{border:0;margin:0;min-width:0;padding:0}div.tsml-ui legend{float:left;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}@media (min-width:1200px){div.tsml-ui legend{font-size:1.5rem}}div.tsml-ui legend+*{clear:left}div.tsml-ui ::-webkit-datetime-edit-day-field,div.tsml-ui ::-webkit-datetime-edit-fields-wrapper,div.tsml-ui ::-webkit-datetime-edit-hour-field,div.tsml-ui ::-webkit-datetime-edit-minute,div.tsml-ui ::-webkit-datetime-edit-month-field,div.tsml-ui ::-webkit-datetime-edit-text,div.tsml-ui ::-webkit-datetime-edit-year-field{padding:0}div.tsml-ui ::-webkit-inner-spin-button{height:auto}div.tsml-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}div.tsml-ui ::-webkit-search-decoration{-webkit-appearance:none}div.tsml-ui ::-webkit-color-swatch-wrapper{padding:0}div.tsml-ui ::file-selector-button{font:inherit}div.tsml-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}div.tsml-ui output{display:inline-block}div.tsml-ui iframe{border:0}div.tsml-ui summary{cursor:pointer;display:list-item}div.tsml-ui progress{vertical-align:baseline}div.tsml-ui [hidden]{display:none!important}div.tsml-ui .lead{font-size:1.25rem;font-weight:300}div.tsml-ui .display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){div.tsml-ui .display-1{font-size:5rem}}div.tsml-ui .display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){div.tsml-ui .display-2{font-size:4.5rem}}div.tsml-ui .display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){div.tsml-ui .display-3{font-size:4rem}}div.tsml-ui .display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){div.tsml-ui .display-4{font-size:3.5rem}}div.tsml-ui .display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){div.tsml-ui .display-5{font-size:3rem}}div.tsml-ui .display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){div.tsml-ui .display-6{font-size:2.5rem}}div.tsml-ui .list-inline,div.tsml-ui .list-unstyled{list-style:none;padding-left:0}div.tsml-ui .list-inline-item{display:inline-block}div.tsml-ui .list-inline-item:not(:last-child){margin-right:.5rem}div.tsml-ui .initialism{font-size:.875em;text-transform:uppercase}div.tsml-ui .blockquote{font-size:1.25rem;margin-bottom:1rem}div.tsml-ui .blockquote>:last-child{margin-bottom:0}div.tsml-ui .blockquote-footer{color:#6c757d;font-size:.875em;margin-bottom:1rem;margin-top:-1rem}div.tsml-ui .blockquote-footer:before{content:\"— \"}div.tsml-ui .container,div.tsml-ui .container-fluid,div.tsml-ui .container-lg,div.tsml-ui .container-md,div.tsml-ui .container-sm,div.tsml-ui .container-xl,div.tsml-ui .container-xxl{margin-left:auto;margin-right:auto;padding-left:var(--bs-gutter-x,.75rem);padding-right:var(--bs-gutter-x,.75rem);width:100%}@media (min-width:576px){div.tsml-ui .container,div.tsml-ui .container-sm{max-width:540px}}@media (min-width:768px){div.tsml-ui .container,div.tsml-ui .container-md,div.tsml-ui .container-sm{max-width:720px}}@media (min-width:992px){div.tsml-ui .container,div.tsml-ui .container-lg,div.tsml-ui .container-md,div.tsml-ui .container-sm{max-width:960px}}@media (min-width:1200px){div.tsml-ui .container,div.tsml-ui .container-lg,div.tsml-ui .container-md,div.tsml-ui .container-sm,div.tsml-ui .container-xl{max-width:1140px}}@media (min-width:1400px){div.tsml-ui .container,div.tsml-ui .container-lg,div.tsml-ui .container-md,div.tsml-ui .container-sm,div.tsml-ui .container-xl,div.tsml-ui .container-xxl{max-width:1320px}}div.tsml-ui .row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}div.tsml-ui .row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}div.tsml-ui .col{flex:1 0 0%}div.tsml-ui .row-cols-auto>*{flex:0 0 auto;width:auto}div.tsml-ui .row-cols-1>*{flex:0 0 auto;width:100%}div.tsml-ui .row-cols-2>*{flex:0 0 auto;width:50%}div.tsml-ui .row-cols-3>*{flex:0 0 auto;width:33.3333333333%}div.tsml-ui .row-cols-4>*{flex:0 0 auto;width:25%}div.tsml-ui .row-cols-5>*{flex:0 0 auto;width:20%}div.tsml-ui .row-cols-6>*{flex:0 0 auto;width:16.6666666667%}div.tsml-ui .col-auto{flex:0 0 auto;width:auto}div.tsml-ui .col-1{flex:0 0 auto;width:8.33333333%}div.tsml-ui .col-2{flex:0 0 auto;width:16.66666667%}div.tsml-ui .col-3{flex:0 0 auto;width:25%}div.tsml-ui .col-4{flex:0 0 auto;width:33.33333333%}div.tsml-ui .col-5{flex:0 0 auto;width:41.66666667%}div.tsml-ui .col-6{flex:0 0 auto;width:50%}div.tsml-ui .col-7{flex:0 0 auto;width:58.33333333%}div.tsml-ui .col-8{flex:0 0 auto;width:66.66666667%}div.tsml-ui .col-9{flex:0 0 auto;width:75%}div.tsml-ui .col-10{flex:0 0 auto;width:83.33333333%}div.tsml-ui .col-11{flex:0 0 auto;width:91.66666667%}div.tsml-ui .col-12{flex:0 0 auto;width:100%}div.tsml-ui .offset-1{margin-left:8.33333333%}div.tsml-ui .offset-2{margin-left:16.66666667%}div.tsml-ui .offset-3{margin-left:25%}div.tsml-ui .offset-4{margin-left:33.33333333%}div.tsml-ui .offset-5{margin-left:41.66666667%}div.tsml-ui .offset-6{margin-left:50%}div.tsml-ui .offset-7{margin-left:58.33333333%}div.tsml-ui .offset-8{margin-left:66.66666667%}div.tsml-ui .offset-9{margin-left:75%}div.tsml-ui .offset-10{margin-left:83.33333333%}div.tsml-ui .offset-11{margin-left:91.66666667%}div.tsml-ui .g-0,div.tsml-ui .gx-0{--bs-gutter-x:0}div.tsml-ui .g-0,div.tsml-ui .gy-0{--bs-gutter-y:0}div.tsml-ui .g-1,div.tsml-ui .gx-1{--bs-gutter-x:0.25rem}div.tsml-ui .g-1,div.tsml-ui .gy-1{--bs-gutter-y:0.25rem}div.tsml-ui .g-2,div.tsml-ui .gx-2{--bs-gutter-x:0.5rem}div.tsml-ui .g-2,div.tsml-ui .gy-2{--bs-gutter-y:0.5rem}div.tsml-ui .g-3,div.tsml-ui .gx-3{--bs-gutter-x:1rem}div.tsml-ui .g-3,div.tsml-ui .gy-3{--bs-gutter-y:1rem}div.tsml-ui .g-4,div.tsml-ui .gx-4{--bs-gutter-x:1.5rem}div.tsml-ui .g-4,div.tsml-ui .gy-4{--bs-gutter-y:1.5rem}div.tsml-ui .g-5,div.tsml-ui .gx-5{--bs-gutter-x:3rem}div.tsml-ui .g-5,div.tsml-ui .gy-5{--bs-gutter-y:3rem}@media (min-width:576px){div.tsml-ui .col-sm{flex:1 0 0%}div.tsml-ui .row-cols-sm-auto>*{flex:0 0 auto;width:auto}div.tsml-ui .row-cols-sm-1>*{flex:0 0 auto;width:100%}div.tsml-ui .row-cols-sm-2>*{flex:0 0 auto;width:50%}div.tsml-ui .row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}div.tsml-ui .row-cols-sm-4>*{flex:0 0 auto;width:25%}div.tsml-ui .row-cols-sm-5>*{flex:0 0 auto;width:20%}div.tsml-ui .row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}div.tsml-ui .col-sm-auto{flex:0 0 auto;width:auto}div.tsml-ui .col-sm-1{flex:0 0 auto;width:8.33333333%}div.tsml-ui .col-sm-2{flex:0 0 auto;width:16.66666667%}div.tsml-ui .col-sm-3{flex:0 0 auto;width:25%}div.tsml-ui .col-sm-4{flex:0 0 auto;width:33.33333333%}div.tsml-ui .col-sm-5{flex:0 0 auto;width:41.66666667%}div.tsml-ui .col-sm-6{flex:0 0 auto;width:50%}div.tsml-ui .col-sm-7{flex:0 0 auto;width:58.33333333%}div.tsml-ui .col-sm-8{flex:0 0 auto;width:66.66666667%}div.tsml-ui .col-sm-9{flex:0 0 auto;width:75%}div.tsml-ui .col-sm-10{flex:0 0 auto;width:83.33333333%}div.tsml-ui .col-sm-11{flex:0 0 auto;width:91.66666667%}div.tsml-ui .col-sm-12{flex:0 0 auto;width:100%}div.tsml-ui .offset-sm-0{margin-left:0}div.tsml-ui .offset-sm-1{margin-left:8.33333333%}div.tsml-ui .offset-sm-2{margin-left:16.66666667%}div.tsml-ui .offset-sm-3{margin-left:25%}div.tsml-ui .offset-sm-4{margin-left:33.33333333%}div.tsml-ui .offset-sm-5{margin-left:41.66666667%}div.tsml-ui .offset-sm-6{margin-left:50%}div.tsml-ui .offset-sm-7{margin-left:58.33333333%}div.tsml-ui .offset-sm-8{margin-left:66.66666667%}div.tsml-ui .offset-sm-9{margin-left:75%}div.tsml-ui .offset-sm-10{margin-left:83.33333333%}div.tsml-ui .offset-sm-11{margin-left:91.66666667%}div.tsml-ui .g-sm-0,div.tsml-ui .gx-sm-0{--bs-gutter-x:0}div.tsml-ui .g-sm-0,div.tsml-ui .gy-sm-0{--bs-gutter-y:0}div.tsml-ui .g-sm-1,div.tsml-ui .gx-sm-1{--bs-gutter-x:0.25rem}div.tsml-ui .g-sm-1,div.tsml-ui .gy-sm-1{--bs-gutter-y:0.25rem}div.tsml-ui .g-sm-2,div.tsml-ui .gx-sm-2{--bs-gutter-x:0.5rem}div.tsml-ui .g-sm-2,div.tsml-ui .gy-sm-2{--bs-gutter-y:0.5rem}div.tsml-ui .g-sm-3,div.tsml-ui .gx-sm-3{--bs-gutter-x:1rem}div.tsml-ui .g-sm-3,div.tsml-ui .gy-sm-3{--bs-gutter-y:1rem}div.tsml-ui .g-sm-4,div.tsml-ui .gx-sm-4{--bs-gutter-x:1.5rem}div.tsml-ui .g-sm-4,div.tsml-ui .gy-sm-4{--bs-gutter-y:1.5rem}div.tsml-ui .g-sm-5,div.tsml-ui .gx-sm-5{--bs-gutter-x:3rem}div.tsml-ui .g-sm-5,div.tsml-ui .gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){div.tsml-ui .col-md{flex:1 0 0%}div.tsml-ui .row-cols-md-auto>*{flex:0 0 auto;width:auto}div.tsml-ui .row-cols-md-1>*{flex:0 0 auto;width:100%}div.tsml-ui .row-cols-md-2>*{flex:0 0 auto;width:50%}div.tsml-ui .row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}div.tsml-ui .row-cols-md-4>*{flex:0 0 auto;width:25%}div.tsml-ui .row-cols-md-5>*{flex:0 0 auto;width:20%}div.tsml-ui .row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}div.tsml-ui .col-md-auto{flex:0 0 auto;width:auto}div.tsml-ui .col-md-1{flex:0 0 auto;width:8.33333333%}div.tsml-ui .col-md-2{flex:0 0 auto;width:16.66666667%}div.tsml-ui .col-md-3{flex:0 0 auto;width:25%}div.tsml-ui .col-md-4{flex:0 0 auto;width:33.33333333%}div.tsml-ui .col-md-5{flex:0 0 auto;width:41.66666667%}div.tsml-ui .col-md-6{flex:0 0 auto;width:50%}div.tsml-ui .col-md-7{flex:0 0 auto;width:58.33333333%}div.tsml-ui .col-md-8{flex:0 0 auto;width:66.66666667%}div.tsml-ui .col-md-9{flex:0 0 auto;width:75%}div.tsml-ui .col-md-10{flex:0 0 auto;width:83.33333333%}div.tsml-ui .col-md-11{flex:0 0 auto;width:91.66666667%}div.tsml-ui .col-md-12{flex:0 0 auto;width:100%}div.tsml-ui .offset-md-0{margin-left:0}div.tsml-ui .offset-md-1{margin-left:8.33333333%}div.tsml-ui .offset-md-2{margin-left:16.66666667%}div.tsml-ui .offset-md-3{margin-left:25%}div.tsml-ui .offset-md-4{margin-left:33.33333333%}div.tsml-ui .offset-md-5{margin-left:41.66666667%}div.tsml-ui .offset-md-6{margin-left:50%}div.tsml-ui .offset-md-7{margin-left:58.33333333%}div.tsml-ui .offset-md-8{margin-left:66.66666667%}div.tsml-ui .offset-md-9{margin-left:75%}div.tsml-ui .offset-md-10{margin-left:83.33333333%}div.tsml-ui .offset-md-11{margin-left:91.66666667%}div.tsml-ui .g-md-0,div.tsml-ui .gx-md-0{--bs-gutter-x:0}div.tsml-ui .g-md-0,div.tsml-ui .gy-md-0{--bs-gutter-y:0}div.tsml-ui .g-md-1,div.tsml-ui .gx-md-1{--bs-gutter-x:0.25rem}div.tsml-ui .g-md-1,div.tsml-ui .gy-md-1{--bs-gutter-y:0.25rem}div.tsml-ui .g-md-2,div.tsml-ui .gx-md-2{--bs-gutter-x:0.5rem}div.tsml-ui .g-md-2,div.tsml-ui .gy-md-2{--bs-gutter-y:0.5rem}div.tsml-ui .g-md-3,div.tsml-ui .gx-md-3{--bs-gutter-x:1rem}div.tsml-ui .g-md-3,div.tsml-ui .gy-md-3{--bs-gutter-y:1rem}div.tsml-ui .g-md-4,div.tsml-ui .gx-md-4{--bs-gutter-x:1.5rem}div.tsml-ui .g-md-4,div.tsml-ui .gy-md-4{--bs-gutter-y:1.5rem}div.tsml-ui .g-md-5,div.tsml-ui .gx-md-5{--bs-gutter-x:3rem}div.tsml-ui .g-md-5,div.tsml-ui .gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){div.tsml-ui .col-lg{flex:1 0 0%}div.tsml-ui .row-cols-lg-auto>*{flex:0 0 auto;width:auto}div.tsml-ui .row-cols-lg-1>*{flex:0 0 auto;width:100%}div.tsml-ui .row-cols-lg-2>*{flex:0 0 auto;width:50%}div.tsml-ui .row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}div.tsml-ui .row-cols-lg-4>*{flex:0 0 auto;width:25%}div.tsml-ui .row-cols-lg-5>*{flex:0 0 auto;width:20%}div.tsml-ui .row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}div.tsml-ui .col-lg-auto{flex:0 0 auto;width:auto}div.tsml-ui .col-lg-1{flex:0 0 auto;width:8.33333333%}div.tsml-ui .col-lg-2{flex:0 0 auto;width:16.66666667%}div.tsml-ui .col-lg-3{flex:0 0 auto;width:25%}div.tsml-ui .col-lg-4{flex:0 0 auto;width:33.33333333%}div.tsml-ui .col-lg-5{flex:0 0 auto;width:41.66666667%}div.tsml-ui .col-lg-6{flex:0 0 auto;width:50%}div.tsml-ui .col-lg-7{flex:0 0 auto;width:58.33333333%}div.tsml-ui .col-lg-8{flex:0 0 auto;width:66.66666667%}div.tsml-ui .col-lg-9{flex:0 0 auto;width:75%}div.tsml-ui .col-lg-10{flex:0 0 auto;width:83.33333333%}div.tsml-ui .col-lg-11{flex:0 0 auto;width:91.66666667%}div.tsml-ui .col-lg-12{flex:0 0 auto;width:100%}div.tsml-ui .offset-lg-0{margin-left:0}div.tsml-ui .offset-lg-1{margin-left:8.33333333%}div.tsml-ui .offset-lg-2{margin-left:16.66666667%}div.tsml-ui .offset-lg-3{margin-left:25%}div.tsml-ui .offset-lg-4{margin-left:33.33333333%}div.tsml-ui .offset-lg-5{margin-left:41.66666667%}div.tsml-ui .offset-lg-6{margin-left:50%}div.tsml-ui .offset-lg-7{margin-left:58.33333333%}div.tsml-ui .offset-lg-8{margin-left:66.66666667%}div.tsml-ui .offset-lg-9{margin-left:75%}div.tsml-ui .offset-lg-10{margin-left:83.33333333%}div.tsml-ui .offset-lg-11{margin-left:91.66666667%}div.tsml-ui .g-lg-0,div.tsml-ui .gx-lg-0{--bs-gutter-x:0}div.tsml-ui .g-lg-0,div.tsml-ui .gy-lg-0{--bs-gutter-y:0}div.tsml-ui .g-lg-1,div.tsml-ui .gx-lg-1{--bs-gutter-x:0.25rem}div.tsml-ui .g-lg-1,div.tsml-ui .gy-lg-1{--bs-gutter-y:0.25rem}div.tsml-ui .g-lg-2,div.tsml-ui .gx-lg-2{--bs-gutter-x:0.5rem}div.tsml-ui .g-lg-2,div.tsml-ui .gy-lg-2{--bs-gutter-y:0.5rem}div.tsml-ui .g-lg-3,div.tsml-ui .gx-lg-3{--bs-gutter-x:1rem}div.tsml-ui .g-lg-3,div.tsml-ui .gy-lg-3{--bs-gutter-y:1rem}div.tsml-ui .g-lg-4,div.tsml-ui .gx-lg-4{--bs-gutter-x:1.5rem}div.tsml-ui .g-lg-4,div.tsml-ui .gy-lg-4{--bs-gutter-y:1.5rem}div.tsml-ui .g-lg-5,div.tsml-ui .gx-lg-5{--bs-gutter-x:3rem}div.tsml-ui .g-lg-5,div.tsml-ui .gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){div.tsml-ui .col-xl{flex:1 0 0%}div.tsml-ui .row-cols-xl-auto>*{flex:0 0 auto;width:auto}div.tsml-ui .row-cols-xl-1>*{flex:0 0 auto;width:100%}div.tsml-ui .row-cols-xl-2>*{flex:0 0 auto;width:50%}div.tsml-ui .row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}div.tsml-ui .row-cols-xl-4>*{flex:0 0 auto;width:25%}div.tsml-ui .row-cols-xl-5>*{flex:0 0 auto;width:20%}div.tsml-ui .row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}div.tsml-ui .col-xl-auto{flex:0 0 auto;width:auto}div.tsml-ui .col-xl-1{flex:0 0 auto;width:8.33333333%}div.tsml-ui .col-xl-2{flex:0 0 auto;width:16.66666667%}div.tsml-ui .col-xl-3{flex:0 0 auto;width:25%}div.tsml-ui .col-xl-4{flex:0 0 auto;width:33.33333333%}div.tsml-ui .col-xl-5{flex:0 0 auto;width:41.66666667%}div.tsml-ui .col-xl-6{flex:0 0 auto;width:50%}div.tsml-ui .col-xl-7{flex:0 0 auto;width:58.33333333%}div.tsml-ui .col-xl-8{flex:0 0 auto;width:66.66666667%}div.tsml-ui .col-xl-9{flex:0 0 auto;width:75%}div.tsml-ui .col-xl-10{flex:0 0 auto;width:83.33333333%}div.tsml-ui .col-xl-11{flex:0 0 auto;width:91.66666667%}div.tsml-ui .col-xl-12{flex:0 0 auto;width:100%}div.tsml-ui .offset-xl-0{margin-left:0}div.tsml-ui .offset-xl-1{margin-left:8.33333333%}div.tsml-ui .offset-xl-2{margin-left:16.66666667%}div.tsml-ui .offset-xl-3{margin-left:25%}div.tsml-ui .offset-xl-4{margin-left:33.33333333%}div.tsml-ui .offset-xl-5{margin-left:41.66666667%}div.tsml-ui .offset-xl-6{margin-left:50%}div.tsml-ui .offset-xl-7{margin-left:58.33333333%}div.tsml-ui .offset-xl-8{margin-left:66.66666667%}div.tsml-ui .offset-xl-9{margin-left:75%}div.tsml-ui .offset-xl-10{margin-left:83.33333333%}div.tsml-ui .offset-xl-11{margin-left:91.66666667%}div.tsml-ui .g-xl-0,div.tsml-ui .gx-xl-0{--bs-gutter-x:0}div.tsml-ui .g-xl-0,div.tsml-ui .gy-xl-0{--bs-gutter-y:0}div.tsml-ui .g-xl-1,div.tsml-ui .gx-xl-1{--bs-gutter-x:0.25rem}div.tsml-ui .g-xl-1,div.tsml-ui .gy-xl-1{--bs-gutter-y:0.25rem}div.tsml-ui .g-xl-2,div.tsml-ui .gx-xl-2{--bs-gutter-x:0.5rem}div.tsml-ui .g-xl-2,div.tsml-ui .gy-xl-2{--bs-gutter-y:0.5rem}div.tsml-ui .g-xl-3,div.tsml-ui .gx-xl-3{--bs-gutter-x:1rem}div.tsml-ui .g-xl-3,div.tsml-ui .gy-xl-3{--bs-gutter-y:1rem}div.tsml-ui .g-xl-4,div.tsml-ui .gx-xl-4{--bs-gutter-x:1.5rem}div.tsml-ui .g-xl-4,div.tsml-ui .gy-xl-4{--bs-gutter-y:1.5rem}div.tsml-ui .g-xl-5,div.tsml-ui .gx-xl-5{--bs-gutter-x:3rem}div.tsml-ui .g-xl-5,div.tsml-ui .gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){div.tsml-ui .col-xxl{flex:1 0 0%}div.tsml-ui .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}div.tsml-ui .row-cols-xxl-1>*{flex:0 0 auto;width:100%}div.tsml-ui .row-cols-xxl-2>*{flex:0 0 auto;width:50%}div.tsml-ui .row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}div.tsml-ui .row-cols-xxl-4>*{flex:0 0 auto;width:25%}div.tsml-ui .row-cols-xxl-5>*{flex:0 0 auto;width:20%}div.tsml-ui .row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}div.tsml-ui .col-xxl-auto{flex:0 0 auto;width:auto}div.tsml-ui .col-xxl-1{flex:0 0 auto;width:8.33333333%}div.tsml-ui .col-xxl-2{flex:0 0 auto;width:16.66666667%}div.tsml-ui .col-xxl-3{flex:0 0 auto;width:25%}div.tsml-ui .col-xxl-4{flex:0 0 auto;width:33.33333333%}div.tsml-ui .col-xxl-5{flex:0 0 auto;width:41.66666667%}div.tsml-ui .col-xxl-6{flex:0 0 auto;width:50%}div.tsml-ui .col-xxl-7{flex:0 0 auto;width:58.33333333%}div.tsml-ui .col-xxl-8{flex:0 0 auto;width:66.66666667%}div.tsml-ui .col-xxl-9{flex:0 0 auto;width:75%}div.tsml-ui .col-xxl-10{flex:0 0 auto;width:83.33333333%}div.tsml-ui .col-xxl-11{flex:0 0 auto;width:91.66666667%}div.tsml-ui .col-xxl-12{flex:0 0 auto;width:100%}div.tsml-ui .offset-xxl-0{margin-left:0}div.tsml-ui .offset-xxl-1{margin-left:8.33333333%}div.tsml-ui .offset-xxl-2{margin-left:16.66666667%}div.tsml-ui .offset-xxl-3{margin-left:25%}div.tsml-ui .offset-xxl-4{margin-left:33.33333333%}div.tsml-ui .offset-xxl-5{margin-left:41.66666667%}div.tsml-ui .offset-xxl-6{margin-left:50%}div.tsml-ui .offset-xxl-7{margin-left:58.33333333%}div.tsml-ui .offset-xxl-8{margin-left:66.66666667%}div.tsml-ui .offset-xxl-9{margin-left:75%}div.tsml-ui .offset-xxl-10{margin-left:83.33333333%}div.tsml-ui .offset-xxl-11{margin-left:91.66666667%}div.tsml-ui .g-xxl-0,div.tsml-ui .gx-xxl-0{--bs-gutter-x:0}div.tsml-ui .g-xxl-0,div.tsml-ui .gy-xxl-0{--bs-gutter-y:0}div.tsml-ui .g-xxl-1,div.tsml-ui .gx-xxl-1{--bs-gutter-x:0.25rem}div.tsml-ui .g-xxl-1,div.tsml-ui .gy-xxl-1{--bs-gutter-y:0.25rem}div.tsml-ui .g-xxl-2,div.tsml-ui .gx-xxl-2{--bs-gutter-x:0.5rem}div.tsml-ui .g-xxl-2,div.tsml-ui .gy-xxl-2{--bs-gutter-y:0.5rem}div.tsml-ui .g-xxl-3,div.tsml-ui .gx-xxl-3{--bs-gutter-x:1rem}div.tsml-ui .g-xxl-3,div.tsml-ui .gy-xxl-3{--bs-gutter-y:1rem}div.tsml-ui .g-xxl-4,div.tsml-ui .gx-xxl-4{--bs-gutter-x:1.5rem}div.tsml-ui .g-xxl-4,div.tsml-ui .gy-xxl-4{--bs-gutter-y:1.5rem}div.tsml-ui .g-xxl-5,div.tsml-ui .gx-xxl-5{--bs-gutter-x:3rem}div.tsml-ui .g-xxl-5,div.tsml-ui .gy-xxl-5{--bs-gutter-y:3rem}}div.tsml-ui .table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0,0,0,.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0,0,0,.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0,0,0,.075);border-color:#dee2e6;color:#212529;margin-bottom:1rem;vertical-align:top;width:100%}div.tsml-ui .table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);padding:.5rem}div.tsml-ui .table>tbody{vertical-align:inherit}div.tsml-ui .table>thead{vertical-align:bottom}div.tsml-ui .table>:not(:first-child){border-top:2px solid}div.tsml-ui .caption-top{caption-side:top}div.tsml-ui .table-sm>:not(caption)>*>*{padding:.25rem}div.tsml-ui .table-bordered>:not(caption)>*{border-width:1px 0}div.tsml-ui .table-bordered>:not(caption)>*>*{border-width:0 1px}div.tsml-ui .table-borderless>:not(caption)>*>*{border-bottom-width:0}div.tsml-ui .table-borderless>:not(:first-child){border-top-width:0}div.tsml-ui .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}div.tsml-ui .table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}div.tsml-ui .table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}div.tsml-ui .table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;border-color:#bacbe6;color:#000}div.tsml-ui .table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;border-color:#cbccce;color:#000}div.tsml-ui .table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;border-color:#bcd0c7;color:#000}div.tsml-ui .table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;border-color:#badce3;color:#000}div.tsml-ui .table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;border-color:#e6dbb9;color:#000}div.tsml-ui .table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;border-color:#dfc2c4;color:#000}div.tsml-ui .table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;border-color:#dfe0e1;color:#000}div.tsml-ui .table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;border-color:#373b3e;color:#fff}div.tsml-ui .table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){div.tsml-ui .table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){div.tsml-ui .table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){div.tsml-ui .table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){div.tsml-ui .table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){div.tsml-ui .table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}div.tsml-ui .form-label{margin-bottom:.5rem}div.tsml-ui .col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}div.tsml-ui .col-form-label-lg{font-size:1.25rem;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}div.tsml-ui .col-form-label-sm{font-size:.875rem;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}div.tsml-ui .form-text{color:#6c757d;font-size:.875em;margin-top:.25rem}div.tsml-ui .form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#212529;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-control{transition:none}}div.tsml-ui .form-control[type=file]{overflow:hidden}div.tsml-ui .form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}div.tsml-ui .form-control:focus{background-color:#fff;border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);color:#212529;outline:0}div.tsml-ui .form-control::-webkit-date-and-time-value{height:1.5em}div.tsml-ui .form-control::-moz-placeholder{color:#6c757d;opacity:1}div.tsml-ui .form-control:-ms-input-placeholder{color:#6c757d;opacity:1}div.tsml-ui .form-control::placeholder{color:#6c757d;opacity:1}div.tsml-ui .form-control:disabled,div.tsml-ui .form-control[readonly]{background-color:#e9ecef;opacity:1}div.tsml-ui .form-control::file-selector-button{-webkit-margin-end:.75rem;background-color:#e9ecef;border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#212529;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}div.tsml-ui .form-control::file-selector-button{transition:none}}div.tsml-ui .form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}div.tsml-ui .form-control::-webkit-file-upload-button{-webkit-margin-end:.75rem;background-color:#e9ecef;border:0 solid;border-color:inherit;border-inline-end-width:1px;border-radius:0;color:#212529;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}div.tsml-ui .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}div.tsml-ui .form-control-plaintext{background-color:transparent;border:solid transparent;border-width:1px 0;color:#212529;display:block;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}div.tsml-ui .form-control-plaintext.form-control-lg,div.tsml-ui .form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}div.tsml-ui .form-control-sm{border-radius:.2rem;font-size:.875rem;min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem}div.tsml-ui .form-control-sm::file-selector-button{-webkit-margin-end:.5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}div.tsml-ui .form-control-sm::-webkit-file-upload-button{-webkit-margin-end:.5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}div.tsml-ui .form-control-lg{border-radius:.3rem;font-size:1.25rem;min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem}div.tsml-ui .form-control-lg::file-selector-button{-webkit-margin-end:1rem;margin:-.5rem -1rem;margin-inline-end:1rem;padding:.5rem 1rem}div.tsml-ui .form-control-lg::-webkit-file-upload-button{-webkit-margin-end:1rem;margin:-.5rem -1rem;margin-inline-end:1rem;padding:.5rem 1rem}div.tsml-ui textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}div.tsml-ui textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}div.tsml-ui textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}div.tsml-ui .form-control-color{height:auto;padding:.375rem;width:3rem}div.tsml-ui .form-control-color:not(:disabled):not([readonly]){cursor:pointer}div.tsml-ui .form-control-color::-moz-color-swatch{border-radius:.25rem;height:1.5em}div.tsml-ui .form-control-color::-webkit-color-swatch{border-radius:.25rem;height:1.5em}div.tsml-ui .form-select{-moz-padding-start:calc(.75rem - 3px);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-image:url(\"data:image/svg+xml;charset=utf-8,%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\");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;color:#212529;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem 2.25rem .375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-select{transition:none}}div.tsml-ui .form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);outline:0}div.tsml-ui .form-select[multiple],div.tsml-ui .form-select[size]:not([size=\"1\"]){background-image:none;padding-right:.75rem}div.tsml-ui .form-select:disabled{background-color:#e9ecef}div.tsml-ui .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}div.tsml-ui .form-select-sm{border-radius:.2rem;font-size:.875rem;padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}div.tsml-ui .form-select-lg{border-radius:.3rem;font-size:1.25rem;padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}div.tsml-ui .form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}div.tsml-ui .form-check .form-check-input{float:left;margin-left:-1.5em}div.tsml-ui .form-check-input{color-adjust:exact;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;border:1px solid rgba(0,0,0,.25);height:1em;margin-top:.25em;-webkit-print-color-adjust:exact;vertical-align:top;width:1em}div.tsml-ui .form-check-input[type=checkbox]{border-radius:.25em}div.tsml-ui .form-check-input[type=radio]{border-radius:50%}div.tsml-ui .form-check-input:active{filter:brightness(90%)}div.tsml-ui .form-check-input:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);outline:0}div.tsml-ui .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}div.tsml-ui .form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml;charset=utf-8,%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\")}div.tsml-ui .form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E\")}div.tsml-ui .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;background-image:url(\"data:image/svg+xml;charset=utf-8,%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\");border-color:#0d6efd}div.tsml-ui .form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}div.tsml-ui .form-check-input:disabled~.form-check-label,div.tsml-ui .form-check-input[disabled]~.form-check-label{opacity:.5}div.tsml-ui .form-switch{padding-left:2.5em}div.tsml-ui .form-switch .form-check-input{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E\");background-position:0;border-radius:2em;margin-left:-2.5em;transition:background-position .15s ease-in-out;width:2em}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-switch .form-check-input{transition:none}}div.tsml-ui .form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2386b7fe'/%3E%3C/svg%3E\")}div.tsml-ui .form-switch .form-check-input:checked{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");background-position:100%}div.tsml-ui .form-check-inline{display:inline-block;margin-right:1rem}div.tsml-ui .btn-check{clip:rect(0,0,0,0);pointer-events:none;position:absolute}div.tsml-ui .btn-check:disabled+.btn,div.tsml-ui .btn-check[disabled]+.btn{filter:none;opacity:.65;pointer-events:none}div.tsml-ui .form-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.5rem;padding:0;width:100%}div.tsml-ui .form-range:focus{outline:0}div.tsml-ui .form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}div.tsml-ui .form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}div.tsml-ui .form-range::-moz-focus-outer{border:0}div.tsml-ui .form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}div.tsml-ui .form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}div.tsml-ui .form-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}div.tsml-ui .form-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-range::-moz-range-thumb{-moz-transition:none;transition:none}}div.tsml-ui .form-range::-moz-range-thumb:active{background-color:#b6d4fe}div.tsml-ui .form-range::-moz-range-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}div.tsml-ui .form-range:disabled{pointer-events:none}div.tsml-ui .form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}div.tsml-ui .form-range:disabled::-moz-range-thumb{background-color:#adb5bd}div.tsml-ui .form-floating{position:relative}div.tsml-ui .form-floating>.form-control,div.tsml-ui .form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}div.tsml-ui .form-floating>label{border:1px solid transparent;height:100%;left:0;padding:1rem .75rem;pointer-events:none;position:absolute;top:0;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){div.tsml-ui .form-floating>label{transition:none}}div.tsml-ui .form-floating>.form-control{padding:1rem .75rem}div.tsml-ui .form-floating>.form-control::-moz-placeholder{color:transparent}div.tsml-ui .form-floating>.form-control:-ms-input-placeholder{color:transparent}div.tsml-ui .form-floating>.form-control::placeholder{color:transparent}div.tsml-ui .form-floating>.form-control:not(:-moz-placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}div.tsml-ui .form-floating>.form-control:not(:-ms-input-placeholder){padding-bottom:.625rem;padding-top:1.625rem}div.tsml-ui .form-floating>.form-control:focus,div.tsml-ui .form-floating>.form-control:not(:placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}div.tsml-ui .form-floating>.form-control:-webkit-autofill{padding-bottom:.625rem;padding-top:1.625rem}div.tsml-ui .form-floating>.form-select{padding-bottom:.625rem;padding-top:1.625rem}div.tsml-ui .form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}div.tsml-ui .form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}div.tsml-ui .form-floating>.form-control:focus~label,div.tsml-ui .form-floating>.form-control:not(:placeholder-shown)~label,div.tsml-ui .form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}div.tsml-ui .form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}div.tsml-ui .input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}div.tsml-ui .input-group>.form-control,div.tsml-ui .input-group>.form-select{flex:1 1 auto;min-width:0;position:relative;width:1%}div.tsml-ui .input-group>.form-control:focus,div.tsml-ui .input-group>.form-select:focus{z-index:3}div.tsml-ui .input-group .btn{position:relative;z-index:2}div.tsml-ui .input-group .btn:focus{z-index:3}div.tsml-ui .input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;color:#212529;display:flex;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;white-space:nowrap}div.tsml-ui .input-group-lg>.btn,div.tsml-ui .input-group-lg>.form-control,div.tsml-ui .input-group-lg>.form-select,div.tsml-ui .input-group-lg>.input-group-text{border-radius:.3rem;font-size:1.25rem;padding:.5rem 1rem}div.tsml-ui .input-group-sm>.btn,div.tsml-ui .input-group-sm>.form-control,div.tsml-ui .input-group-sm>.form-select,div.tsml-ui .input-group-sm>.input-group-text{border-radius:.2rem;font-size:.875rem;padding:.25rem .5rem}div.tsml-ui .input-group-lg>.form-select,div.tsml-ui .input-group-sm>.form-select{padding-right:3rem}div.tsml-ui .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),div.tsml-ui .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),div.tsml-ui .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),div.tsml-ui .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-bottom-right-radius:0;border-top-right-radius:0}div.tsml-ui .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}div.tsml-ui .valid-feedback{color:#198754;display:none;font-size:.875em;margin-top:.25rem;width:100%}div.tsml-ui .valid-tooltip{background-color:rgba(25,135,84,.9);border-radius:.25rem;color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.was-validated div.tsml-ui:valid~.valid-feedback,.was-validated div.tsml-ui:valid~.valid-tooltip,div.tsml-ui.is-valid~.valid-feedback,div.tsml-ui.is-valid~.valid-tooltip{display:block}.was-validated div.tsml-ui .form-control:valid,div.tsml-ui .form-control.is-valid{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23198754' 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\");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#198754;padding-right:calc(1.5em + .75rem)}.was-validated div.tsml-ui .form-control:valid:focus,div.tsml-ui .form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated div.tsml-ui textarea.form-control:valid,div.tsml-ui textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.was-validated div.tsml-ui .form-select:valid,div.tsml-ui .form-select.is-valid{border-color:#198754}.was-validated div.tsml-ui .form-select:valid:not([multiple]):not([size]),.was-validated div.tsml-ui .form-select:valid:not([multiple])[size=\"1\"],div.tsml-ui .form-select.is-valid:not([multiple]):not([size]),div.tsml-ui .form-select.is-valid:not([multiple])[size=\"1\"]{background-image:url(\"data:image/svg+xml;charset=utf-8,%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\"),url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23198754' 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\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.was-validated div.tsml-ui .form-select:valid:focus,div.tsml-ui .form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated div.tsml-ui .form-check-input:valid,div.tsml-ui .form-check-input.is-valid{border-color:#198754}.was-validated div.tsml-ui .form-check-input:valid:checked,div.tsml-ui .form-check-input.is-valid:checked{background-color:#198754}.was-validated div.tsml-ui .form-check-input:valid:focus,div.tsml-ui .form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated div.tsml-ui .form-check-input:valid~.form-check-label,div.tsml-ui .form-check-input.is-valid~.form-check-label{color:#198754}div.tsml-ui .form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated div.tsml-ui .input-group .form-control:valid,.was-validated div.tsml-ui .input-group .form-select:valid,div.tsml-ui .input-group .form-control.is-valid,div.tsml-ui .input-group .form-select.is-valid{z-index:1}.was-validated div.tsml-ui .input-group .form-control:valid:focus,.was-validated div.tsml-ui .input-group .form-select:valid:focus,div.tsml-ui .input-group .form-control.is-valid:focus,div.tsml-ui .input-group .form-select.is-valid:focus{z-index:3}div.tsml-ui .invalid-feedback{color:#dc3545;display:none;font-size:.875em;margin-top:.25rem;width:100%}div.tsml-ui .invalid-tooltip{background-color:rgba(220,53,69,.9);border-radius:.25rem;color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.was-validated div.tsml-ui:invalid~.invalid-feedback,.was-validated div.tsml-ui:invalid~.invalid-tooltip,div.tsml-ui.is-invalid~.invalid-feedback,div.tsml-ui.is-invalid~.invalid-tooltip{display:block}.was-validated div.tsml-ui .form-control:invalid,div.tsml-ui .form-control.is-invalid{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3E%3C/svg%3E\");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)}.was-validated div.tsml-ui .form-control:invalid:focus,div.tsml-ui .form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated div.tsml-ui textarea.form-control:invalid,div.tsml-ui textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.was-validated div.tsml-ui .form-select:invalid,div.tsml-ui .form-select.is-invalid{border-color:#dc3545}.was-validated div.tsml-ui .form-select:invalid:not([multiple]):not([size]),.was-validated div.tsml-ui .form-select:invalid:not([multiple])[size=\"1\"],div.tsml-ui .form-select.is-invalid:not([multiple]):not([size]),div.tsml-ui .form-select.is-invalid:not([multiple])[size=\"1\"]{background-image:url(\"data:image/svg+xml;charset=utf-8,%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\"),url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3E%3C/svg%3E\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.was-validated div.tsml-ui .form-select:invalid:focus,div.tsml-ui .form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated div.tsml-ui .form-check-input:invalid,div.tsml-ui .form-check-input.is-invalid{border-color:#dc3545}.was-validated div.tsml-ui .form-check-input:invalid:checked,div.tsml-ui .form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated div.tsml-ui .form-check-input:invalid:focus,div.tsml-ui .form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated div.tsml-ui .form-check-input:invalid~.form-check-label,div.tsml-ui .form-check-input.is-invalid~.form-check-label{color:#dc3545}div.tsml-ui .form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated div.tsml-ui .input-group .form-control:invalid,.was-validated div.tsml-ui .input-group .form-select:invalid,div.tsml-ui .input-group .form-control.is-invalid,div.tsml-ui .input-group .form-select.is-invalid{z-index:2}.was-validated div.tsml-ui .input-group .form-control:invalid:focus,.was-validated div.tsml-ui .input-group .form-select:invalid:focus,div.tsml-ui .input-group .form-control.is-invalid:focus,div.tsml-ui .input-group .form-select.is-invalid:focus{z-index:3}div.tsml-ui .btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:#212529;cursor:pointer;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){div.tsml-ui .btn{transition:none}}div.tsml-ui .btn:hover{color:#212529}.btn-check:focus+div.tsml-ui .btn,div.tsml-ui .btn:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.25);outline:0}div.tsml-ui .btn.disabled,div.tsml-ui .btn:disabled,fieldset:disabled div.tsml-ui .btn{opacity:.65;pointer-events:none}div.tsml-ui .btn-primary{background-color:#0d6efd;border-color:#0d6efd;color:#fff}div.tsml-ui .btn-primary:hover{background-color:#0b5ed7;border-color:#0a58ca;color:#fff}.btn-check:focus+div.tsml-ui .btn-primary,div.tsml-ui .btn-primary:focus{background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5);color:#fff}.btn-check:active+div.tsml-ui .btn-primary,.btn-check:checked+div.tsml-ui .btn-primary,.show>div.tsml-ui .btn-primary.dropdown-toggle,div.tsml-ui .btn-primary.active,div.tsml-ui .btn-primary:active{background-color:#0a58ca;border-color:#0a53be;color:#fff}.btn-check:active+div.tsml-ui .btn-primary:focus,.btn-check:checked+div.tsml-ui .btn-primary:focus,.show>div.tsml-ui .btn-primary.dropdown-toggle:focus,div.tsml-ui .btn-primary.active:focus,div.tsml-ui .btn-primary:active:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}div.tsml-ui .btn-primary.disabled,div.tsml-ui .btn-primary:disabled{background-color:#0d6efd;border-color:#0d6efd;color:#fff}div.tsml-ui .btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}div.tsml-ui .btn-secondary:hover{background-color:#5c636a;border-color:#565e64;color:#fff}.btn-check:focus+div.tsml-ui .btn-secondary,div.tsml-ui .btn-secondary:focus{background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem hsla(208,6%,54%,.5);color:#fff}.btn-check:active+div.tsml-ui .btn-secondary,.btn-check:checked+div.tsml-ui .btn-secondary,.show>div.tsml-ui .btn-secondary.dropdown-toggle,div.tsml-ui .btn-secondary.active,div.tsml-ui .btn-secondary:active{background-color:#565e64;border-color:#51585e;color:#fff}.btn-check:active+div.tsml-ui .btn-secondary:focus,.btn-check:checked+div.tsml-ui .btn-secondary:focus,.show>div.tsml-ui .btn-secondary.dropdown-toggle:focus,div.tsml-ui .btn-secondary.active:focus,div.tsml-ui .btn-secondary:active:focus{box-shadow:0 0 0 .25rem hsla(208,6%,54%,.5)}div.tsml-ui .btn-secondary.disabled,div.tsml-ui .btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}div.tsml-ui .btn-success{background-color:#198754;border-color:#198754;color:#fff}div.tsml-ui .btn-success:hover{background-color:#157347;border-color:#146c43;color:#fff}.btn-check:focus+div.tsml-ui .btn-success,div.tsml-ui .btn-success:focus{background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5);color:#fff}.btn-check:active+div.tsml-ui .btn-success,.btn-check:checked+div.tsml-ui .btn-success,.show>div.tsml-ui .btn-success.dropdown-toggle,div.tsml-ui .btn-success.active,div.tsml-ui .btn-success:active{background-color:#146c43;border-color:#13653f;color:#fff}.btn-check:active+div.tsml-ui .btn-success:focus,.btn-check:checked+div.tsml-ui .btn-success:focus,.show>div.tsml-ui .btn-success.dropdown-toggle:focus,div.tsml-ui .btn-success.active:focus,div.tsml-ui .btn-success:active:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}div.tsml-ui .btn-success.disabled,div.tsml-ui .btn-success:disabled{background-color:#198754;border-color:#198754;color:#fff}div.tsml-ui .btn-info{background-color:#0dcaf0;border-color:#0dcaf0;color:#000}div.tsml-ui .btn-info:hover{background-color:#31d2f2;border-color:#25cff2;color:#000}.btn-check:focus+div.tsml-ui .btn-info,div.tsml-ui .btn-info:focus{background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5);color:#000}.btn-check:active+div.tsml-ui .btn-info,.btn-check:checked+div.tsml-ui .btn-info,.show>div.tsml-ui .btn-info.dropdown-toggle,div.tsml-ui .btn-info.active,div.tsml-ui .btn-info:active{background-color:#3dd5f3;border-color:#25cff2;color:#000}.btn-check:active+div.tsml-ui .btn-info:focus,.btn-check:checked+div.tsml-ui .btn-info:focus,.show>div.tsml-ui .btn-info.dropdown-toggle:focus,div.tsml-ui .btn-info.active:focus,div.tsml-ui .btn-info:active:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}div.tsml-ui .btn-info.disabled,div.tsml-ui .btn-info:disabled{background-color:#0dcaf0;border-color:#0dcaf0;color:#000}div.tsml-ui .btn-warning{background-color:#ffc107;border-color:#ffc107;color:#000}div.tsml-ui .btn-warning:hover{background-color:#ffca2c;border-color:#ffc720;color:#000}.btn-check:focus+div.tsml-ui .btn-warning,div.tsml-ui .btn-warning:focus{background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5);color:#000}.btn-check:active+div.tsml-ui .btn-warning,.btn-check:checked+div.tsml-ui .btn-warning,.show>div.tsml-ui .btn-warning.dropdown-toggle,div.tsml-ui .btn-warning.active,div.tsml-ui .btn-warning:active{background-color:#ffcd39;border-color:#ffc720;color:#000}.btn-check:active+div.tsml-ui .btn-warning:focus,.btn-check:checked+div.tsml-ui .btn-warning:focus,.show>div.tsml-ui .btn-warning.dropdown-toggle:focus,div.tsml-ui .btn-warning.active:focus,div.tsml-ui .btn-warning:active:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}div.tsml-ui .btn-warning.disabled,div.tsml-ui .btn-warning:disabled{background-color:#ffc107;border-color:#ffc107;color:#000}div.tsml-ui .btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}div.tsml-ui .btn-danger:hover{background-color:#bb2d3b;border-color:#b02a37;color:#fff}.btn-check:focus+div.tsml-ui .btn-danger,div.tsml-ui .btn-danger:focus{background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5);color:#fff}.btn-check:active+div.tsml-ui .btn-danger,.btn-check:checked+div.tsml-ui .btn-danger,.show>div.tsml-ui .btn-danger.dropdown-toggle,div.tsml-ui .btn-danger.active,div.tsml-ui .btn-danger:active{background-color:#b02a37;border-color:#a52834;color:#fff}.btn-check:active+div.tsml-ui .btn-danger:focus,.btn-check:checked+div.tsml-ui .btn-danger:focus,.show>div.tsml-ui .btn-danger.dropdown-toggle:focus,div.tsml-ui .btn-danger.active:focus,div.tsml-ui .btn-danger:active:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}div.tsml-ui .btn-danger.disabled,div.tsml-ui .btn-danger:disabled{background-color:#dc3545;border-color:#dc3545;color:#fff}div.tsml-ui .btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#000}div.tsml-ui .btn-light:hover{background-color:#f9fafb;border-color:#f9fafb;color:#000}.btn-check:focus+div.tsml-ui .btn-light,div.tsml-ui .btn-light:focus{background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem hsla(210,2%,83%,.5);color:#000}.btn-check:active+div.tsml-ui .btn-light,.btn-check:checked+div.tsml-ui .btn-light,.show>div.tsml-ui .btn-light.dropdown-toggle,div.tsml-ui .btn-light.active,div.tsml-ui .btn-light:active{background-color:#f9fafb;border-color:#f9fafb;color:#000}.btn-check:active+div.tsml-ui .btn-light:focus,.btn-check:checked+div.tsml-ui .btn-light:focus,.show>div.tsml-ui .btn-light.dropdown-toggle:focus,div.tsml-ui .btn-light.active:focus,div.tsml-ui .btn-light:active:focus{box-shadow:0 0 0 .25rem hsla(210,2%,83%,.5)}div.tsml-ui .btn-light.disabled,div.tsml-ui .btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#000}div.tsml-ui .btn-dark{background-color:#212529;border-color:#212529;color:#fff}div.tsml-ui .btn-dark:hover{background-color:#1c1f23;border-color:#1a1e21;color:#fff}.btn-check:focus+div.tsml-ui .btn-dark,div.tsml-ui .btn-dark:focus{background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5);color:#fff}.btn-check:active+div.tsml-ui .btn-dark,.btn-check:checked+div.tsml-ui .btn-dark,.show>div.tsml-ui .btn-dark.dropdown-toggle,div.tsml-ui .btn-dark.active,div.tsml-ui .btn-dark:active{background-color:#1a1e21;border-color:#191c1f;color:#fff}.btn-check:active+div.tsml-ui .btn-dark:focus,.btn-check:checked+div.tsml-ui .btn-dark:focus,.show>div.tsml-ui .btn-dark.dropdown-toggle:focus,div.tsml-ui .btn-dark.active:focus,div.tsml-ui .btn-dark:active:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}div.tsml-ui .btn-dark.disabled,div.tsml-ui .btn-dark:disabled{background-color:#212529;border-color:#212529;color:#fff}div.tsml-ui .btn-outline-primary{border-color:#0d6efd;color:#0d6efd}div.tsml-ui .btn-outline-primary:hover{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.btn-check:focus+div.tsml-ui .btn-outline-primary,div.tsml-ui .btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+div.tsml-ui .btn-outline-primary,.btn-check:checked+div.tsml-ui .btn-outline-primary,div.tsml-ui .btn-outline-primary.active,div.tsml-ui .btn-outline-primary.dropdown-toggle.show,div.tsml-ui .btn-outline-primary:active{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.btn-check:active+div.tsml-ui .btn-outline-primary:focus,.btn-check:checked+div.tsml-ui .btn-outline-primary:focus,div.tsml-ui .btn-outline-primary.active:focus,div.tsml-ui .btn-outline-primary.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}div.tsml-ui .btn-outline-primary.disabled,div.tsml-ui .btn-outline-primary:disabled{background-color:transparent;color:#0d6efd}div.tsml-ui .btn-outline-secondary{border-color:#6c757d;color:#6c757d}div.tsml-ui .btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-check:focus+div.tsml-ui .btn-outline-secondary,div.tsml-ui .btn-outline-secondary:focus{box-shadow:0 0 0 .25rem hsla(208,7%,46%,.5)}.btn-check:active+div.tsml-ui .btn-outline-secondary,.btn-check:checked+div.tsml-ui .btn-outline-secondary,div.tsml-ui .btn-outline-secondary.active,div.tsml-ui .btn-outline-secondary.dropdown-toggle.show,div.tsml-ui .btn-outline-secondary:active{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-check:active+div.tsml-ui .btn-outline-secondary:focus,.btn-check:checked+div.tsml-ui .btn-outline-secondary:focus,div.tsml-ui .btn-outline-secondary.active:focus,div.tsml-ui .btn-outline-secondary.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem hsla(208,7%,46%,.5)}div.tsml-ui .btn-outline-secondary.disabled,div.tsml-ui .btn-outline-secondary:disabled{background-color:transparent;color:#6c757d}div.tsml-ui .btn-outline-success{border-color:#198754;color:#198754}div.tsml-ui .btn-outline-success:hover{background-color:#198754;border-color:#198754;color:#fff}.btn-check:focus+div.tsml-ui .btn-outline-success,div.tsml-ui .btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+div.tsml-ui .btn-outline-success,.btn-check:checked+div.tsml-ui .btn-outline-success,div.tsml-ui .btn-outline-success.active,div.tsml-ui .btn-outline-success.dropdown-toggle.show,div.tsml-ui .btn-outline-success:active{background-color:#198754;border-color:#198754;color:#fff}.btn-check:active+div.tsml-ui .btn-outline-success:focus,.btn-check:checked+div.tsml-ui .btn-outline-success:focus,div.tsml-ui .btn-outline-success.active:focus,div.tsml-ui .btn-outline-success.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}div.tsml-ui .btn-outline-success.disabled,div.tsml-ui .btn-outline-success:disabled{background-color:transparent;color:#198754}div.tsml-ui .btn-outline-info{border-color:#0dcaf0;color:#0dcaf0}div.tsml-ui .btn-outline-info:hover{background-color:#0dcaf0;border-color:#0dcaf0;color:#000}.btn-check:focus+div.tsml-ui .btn-outline-info,div.tsml-ui .btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+div.tsml-ui .btn-outline-info,.btn-check:checked+div.tsml-ui .btn-outline-info,div.tsml-ui .btn-outline-info.active,div.tsml-ui .btn-outline-info.dropdown-toggle.show,div.tsml-ui .btn-outline-info:active{background-color:#0dcaf0;border-color:#0dcaf0;color:#000}.btn-check:active+div.tsml-ui .btn-outline-info:focus,.btn-check:checked+div.tsml-ui .btn-outline-info:focus,div.tsml-ui .btn-outline-info.active:focus,div.tsml-ui .btn-outline-info.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}div.tsml-ui .btn-outline-info.disabled,div.tsml-ui .btn-outline-info:disabled{background-color:transparent;color:#0dcaf0}div.tsml-ui .btn-outline-warning{border-color:#ffc107;color:#ffc107}div.tsml-ui .btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#000}.btn-check:focus+div.tsml-ui .btn-outline-warning,div.tsml-ui .btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+div.tsml-ui .btn-outline-warning,.btn-check:checked+div.tsml-ui .btn-outline-warning,div.tsml-ui .btn-outline-warning.active,div.tsml-ui .btn-outline-warning.dropdown-toggle.show,div.tsml-ui .btn-outline-warning:active{background-color:#ffc107;border-color:#ffc107;color:#000}.btn-check:active+div.tsml-ui .btn-outline-warning:focus,.btn-check:checked+div.tsml-ui .btn-outline-warning:focus,div.tsml-ui .btn-outline-warning.active:focus,div.tsml-ui .btn-outline-warning.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}div.tsml-ui .btn-outline-warning.disabled,div.tsml-ui .btn-outline-warning:disabled{background-color:transparent;color:#ffc107}div.tsml-ui .btn-outline-danger{border-color:#dc3545;color:#dc3545}div.tsml-ui .btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-check:focus+div.tsml-ui .btn-outline-danger,div.tsml-ui .btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+div.tsml-ui .btn-outline-danger,.btn-check:checked+div.tsml-ui .btn-outline-danger,div.tsml-ui .btn-outline-danger.active,div.tsml-ui .btn-outline-danger.dropdown-toggle.show,div.tsml-ui .btn-outline-danger:active{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-check:active+div.tsml-ui .btn-outline-danger:focus,.btn-check:checked+div.tsml-ui .btn-outline-danger:focus,div.tsml-ui .btn-outline-danger.active:focus,div.tsml-ui .btn-outline-danger.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}div.tsml-ui .btn-outline-danger.disabled,div.tsml-ui .btn-outline-danger:disabled{background-color:transparent;color:#dc3545}div.tsml-ui .btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}div.tsml-ui .btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#000}.btn-check:focus+div.tsml-ui .btn-outline-light,div.tsml-ui .btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+div.tsml-ui .btn-outline-light,.btn-check:checked+div.tsml-ui .btn-outline-light,div.tsml-ui .btn-outline-light.active,div.tsml-ui .btn-outline-light.dropdown-toggle.show,div.tsml-ui .btn-outline-light:active{background-color:#f8f9fa;border-color:#f8f9fa;color:#000}.btn-check:active+div.tsml-ui .btn-outline-light:focus,.btn-check:checked+div.tsml-ui .btn-outline-light:focus,div.tsml-ui .btn-outline-light.active:focus,div.tsml-ui .btn-outline-light.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}div.tsml-ui .btn-outline-light.disabled,div.tsml-ui .btn-outline-light:disabled{background-color:transparent;color:#f8f9fa}div.tsml-ui .btn-outline-dark{border-color:#212529;color:#212529}div.tsml-ui .btn-outline-dark:hover{background-color:#212529;border-color:#212529;color:#fff}.btn-check:focus+div.tsml-ui .btn-outline-dark,div.tsml-ui .btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+div.tsml-ui .btn-outline-dark,.btn-check:checked+div.tsml-ui .btn-outline-dark,div.tsml-ui .btn-outline-dark.active,div.tsml-ui .btn-outline-dark.dropdown-toggle.show,div.tsml-ui .btn-outline-dark:active{background-color:#212529;border-color:#212529;color:#fff}.btn-check:active+div.tsml-ui .btn-outline-dark:focus,.btn-check:checked+div.tsml-ui .btn-outline-dark:focus,div.tsml-ui .btn-outline-dark.active:focus,div.tsml-ui .btn-outline-dark.dropdown-toggle.show:focus,div.tsml-ui .btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}div.tsml-ui .btn-outline-dark.disabled,div.tsml-ui .btn-outline-dark:disabled{background-color:transparent;color:#212529}div.tsml-ui .btn-link{color:#0d6efd;font-weight:400;text-decoration:underline}div.tsml-ui .btn-link:hover{color:#0a58ca}div.tsml-ui .btn-link.disabled,div.tsml-ui .btn-link:disabled{color:#6c757d}div.tsml-ui .btn-group-lg>.btn,div.tsml-ui .btn-lg{border-radius:.3rem;font-size:1.25rem;padding:.5rem 1rem}div.tsml-ui .btn-group-sm>.btn,div.tsml-ui .btn-sm{border-radius:.2rem;font-size:.875rem;padding:.25rem .5rem}div.tsml-ui .dropdown,div.tsml-ui .dropend,div.tsml-ui .dropstart,div.tsml-ui .dropup{position:relative}div.tsml-ui .dropdown-toggle{white-space:nowrap}div.tsml-ui .dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:\"\";display:inline-block;margin-left:.255em;vertical-align:.255em}div.tsml-ui .dropdown-toggle:empty:after{margin-left:0}div.tsml-ui .dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;color:#212529;display:none;font-size:1rem;list-style:none;margin:0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;z-index:1000}div.tsml-ui .dropdown-menu[data-bs-popper]{left:0;margin-top:.125rem;top:100%}div.tsml-ui .dropdown-menu-start{--bs-position:start}div.tsml-ui .dropdown-menu-start[data-bs-popper]{left:0;right:auto}div.tsml-ui .dropdown-menu-end{--bs-position:end}div.tsml-ui .dropdown-menu-end[data-bs-popper]{left:auto;right:0}@media (min-width:576px){div.tsml-ui .dropdown-menu-sm-start{--bs-position:start}div.tsml-ui .dropdown-menu-sm-start[data-bs-popper]{left:0;right:auto}div.tsml-ui .dropdown-menu-sm-end{--bs-position:end}div.tsml-ui .dropdown-menu-sm-end[data-bs-popper]{left:auto;right:0}}@media (min-width:768px){div.tsml-ui .dropdown-menu-md-start{--bs-position:start}div.tsml-ui .dropdown-menu-md-start[data-bs-popper]{left:0;right:auto}div.tsml-ui .dropdown-menu-md-end{--bs-position:end}div.tsml-ui .dropdown-menu-md-end[data-bs-popper]{left:auto;right:0}}@media (min-width:992px){div.tsml-ui .dropdown-menu-lg-start{--bs-position:start}div.tsml-ui .dropdown-menu-lg-start[data-bs-popper]{left:0;right:auto}div.tsml-ui .dropdown-menu-lg-end{--bs-position:end}div.tsml-ui .dropdown-menu-lg-end[data-bs-popper]{left:auto;right:0}}@media (min-width:1200px){div.tsml-ui .dropdown-menu-xl-start{--bs-position:start}div.tsml-ui .dropdown-menu-xl-start[data-bs-popper]{left:0;right:auto}div.tsml-ui .dropdown-menu-xl-end{--bs-position:end}div.tsml-ui .dropdown-menu-xl-end[data-bs-popper]{left:auto;right:0}}@media (min-width:1400px){div.tsml-ui .dropdown-menu-xxl-start{--bs-position:start}div.tsml-ui .dropdown-menu-xxl-start[data-bs-popper]{left:0;right:auto}div.tsml-ui .dropdown-menu-xxl-end{--bs-position:end}div.tsml-ui .dropdown-menu-xxl-end[data-bs-popper]{left:auto;right:0}}div.tsml-ui .dropup .dropdown-menu[data-bs-popper]{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}div.tsml-ui .dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:\"\";display:inline-block;margin-left:.255em;vertical-align:.255em}div.tsml-ui .dropup .dropdown-toggle:empty:after{margin-left:0}div.tsml-ui .dropend .dropdown-menu[data-bs-popper]{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}div.tsml-ui .dropend .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:\"\";display:inline-block;margin-left:.255em;vertical-align:.255em}div.tsml-ui .dropend .dropdown-toggle:empty:after{margin-left:0}div.tsml-ui .dropend .dropdown-toggle:after{vertical-align:0}div.tsml-ui .dropstart .dropdown-menu[data-bs-popper]{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}div.tsml-ui .dropstart .dropdown-toggle:after{content:\"\";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}div.tsml-ui .dropstart .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:\"\";display:inline-block;margin-right:.255em;vertical-align:.255em}div.tsml-ui .dropstart .dropdown-toggle:empty:after{margin-left:0}div.tsml-ui .dropstart .dropdown-toggle:before{vertical-align:0}div.tsml-ui .dropdown-divider{border-top:1px solid rgba(0,0,0,.15);height:0;margin:.5rem 0;overflow:hidden}div.tsml-ui .dropdown-item{background-color:transparent;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1rem;text-align:inherit;text-decoration:none;white-space:nowrap;width:100%}div.tsml-ui .dropdown-item:focus,div.tsml-ui .dropdown-item:hover{background-color:#e9ecef;color:#1e2125}div.tsml-ui .dropdown-item.active,div.tsml-ui .dropdown-item:active{background-color:#0d6efd;color:#fff;text-decoration:none}div.tsml-ui .dropdown-item.disabled,div.tsml-ui .dropdown-item:disabled{background-color:transparent;color:#adb5bd;pointer-events:none}div.tsml-ui .dropdown-menu.show{display:block}div.tsml-ui .dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1rem;white-space:nowrap}div.tsml-ui .dropdown-item-text{color:#212529;display:block;padding:.25rem 1rem}div.tsml-ui .dropdown-menu-dark{background-color:#343a40;border-color:rgba(0,0,0,.15);color:#dee2e6}div.tsml-ui .dropdown-menu-dark .dropdown-item{color:#dee2e6}div.tsml-ui .dropdown-menu-dark .dropdown-item:focus,div.tsml-ui .dropdown-menu-dark .dropdown-item:hover{background-color:hsla(0,0%,100%,.15);color:#fff}div.tsml-ui .dropdown-menu-dark .dropdown-item.active,div.tsml-ui .dropdown-menu-dark .dropdown-item:active{background-color:#0d6efd;color:#fff}div.tsml-ui .dropdown-menu-dark .dropdown-item.disabled,div.tsml-ui .dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}div.tsml-ui .dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}div.tsml-ui .dropdown-menu-dark .dropdown-item-text{color:#dee2e6}div.tsml-ui .dropdown-menu-dark .dropdown-header{color:#adb5bd}div.tsml-ui .btn-group,div.tsml-ui .btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}div.tsml-ui .btn-group-vertical>.btn,div.tsml-ui .btn-group>.btn{flex:1 1 auto;position:relative}div.tsml-ui .btn-group-vertical>.btn-check:checked+.btn,div.tsml-ui .btn-group-vertical>.btn-check:focus+.btn,div.tsml-ui .btn-group-vertical>.btn.active,div.tsml-ui .btn-group-vertical>.btn:active,div.tsml-ui .btn-group-vertical>.btn:focus,div.tsml-ui .btn-group-vertical>.btn:hover,div.tsml-ui .btn-group>.btn-check:checked+.btn,div.tsml-ui .btn-group>.btn-check:focus+.btn,div.tsml-ui .btn-group>.btn.active,div.tsml-ui .btn-group>.btn:active,div.tsml-ui .btn-group>.btn:focus,div.tsml-ui .btn-group>.btn:hover{z-index:1}div.tsml-ui .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}div.tsml-ui .btn-toolbar .input-group{width:auto}div.tsml-ui .btn-group>.btn-group:not(:first-child),div.tsml-ui .btn-group>.btn:not(:first-child){margin-left:-1px}div.tsml-ui .btn-group>.btn-group:not(:last-child)>.btn,div.tsml-ui .btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}div.tsml-ui .btn-group>.btn-group:not(:first-child)>.btn,div.tsml-ui .btn-group>.btn:nth-child(n+3),div.tsml-ui .btn-group>:not(.btn-check)+.btn{border-bottom-left-radius:0;border-top-left-radius:0}div.tsml-ui .dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropend div.tsml-ui .dropdown-toggle-split:after,.dropup div.tsml-ui .dropdown-toggle-split:after,div.tsml-ui .dropdown-toggle-split:after{margin-left:0}.dropstart div.tsml-ui .dropdown-toggle-split:before{margin-right:0}div.tsml-ui .btn-group-sm>.btn+.dropdown-toggle-split,div.tsml-ui .btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}div.tsml-ui .btn-group-lg>.btn+.dropdown-toggle-split,div.tsml-ui .btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}div.tsml-ui .btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}div.tsml-ui .btn-group-vertical>.btn,div.tsml-ui .btn-group-vertical>.btn-group{width:100%}div.tsml-ui .btn-group-vertical>.btn-group:not(:first-child),div.tsml-ui .btn-group-vertical>.btn:not(:first-child){margin-top:-1px}div.tsml-ui .btn-group-vertical>.btn-group:not(:last-child)>.btn,div.tsml-ui .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}div.tsml-ui .btn-group-vertical>.btn-group:not(:first-child)>.btn,div.tsml-ui .btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}div.tsml-ui .badge{border-radius:.25rem;color:#fff;display:inline-block;font-size:.75em;font-weight:700;line-height:1;padding:.35em .65em;text-align:center;vertical-align:baseline;white-space:nowrap}div.tsml-ui .badge:empty{display:none}div.tsml-ui .btn .badge{position:relative;top:-1px}div.tsml-ui .alert{border:1px solid transparent;border-radius:.25rem;margin-bottom:1rem;padding:1rem;position:relative}div.tsml-ui .alert-heading{color:inherit}div.tsml-ui .alert-link{font-weight:700}div.tsml-ui .alert-dismissible{padding-right:3rem}div.tsml-ui .alert-dismissible .btn-close{padding:1.25rem 1rem;position:absolute;right:0;top:0;z-index:2}div.tsml-ui .alert-primary{background-color:#cfe2ff;border-color:#b6d4fe;color:#084298}div.tsml-ui .alert-primary .alert-link{color:#06357a}div.tsml-ui .alert-secondary{background-color:#e2e3e5;border-color:#d3d6d8;color:#41464b}div.tsml-ui .alert-secondary .alert-link{color:#34383c}div.tsml-ui .alert-success{background-color:#d1e7dd;border-color:#badbcc;color:#0f5132}div.tsml-ui .alert-success .alert-link{color:#0c4128}div.tsml-ui .alert-info{background-color:#cff4fc;border-color:#b6effb;color:#055160}div.tsml-ui .alert-info .alert-link{color:#04414d}div.tsml-ui .alert-warning{background-color:#fff3cd;border-color:#ffecb5;color:#664d03}div.tsml-ui .alert-warning .alert-link{color:#523e02}div.tsml-ui .alert-danger{background-color:#f8d7da;border-color:#f5c2c7;color:#842029}div.tsml-ui .alert-danger .alert-link{color:#6a1a21}div.tsml-ui .alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#636464}div.tsml-ui .alert-light .alert-link{color:#4f5050}div.tsml-ui .alert-dark{background-color:#d3d3d4;border-color:#bcbebf;color:#141619}div.tsml-ui .alert-dark .alert-link{color:#101214}div.tsml-ui .list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}div.tsml-ui .list-group-numbered{counter-reset:section;list-style-type:none}div.tsml-ui .list-group-numbered>li:before{content:counters(section,\".\") \". \";counter-increment:section}div.tsml-ui .list-group-item-action{color:#495057;text-align:inherit;width:100%}div.tsml-ui .list-group-item-action:focus,div.tsml-ui .list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}div.tsml-ui .list-group-item-action:active{background-color:#e9ecef;color:#212529}div.tsml-ui .list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);color:#212529;display:block;padding:.5rem 1rem;position:relative;text-decoration:none}div.tsml-ui .list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}div.tsml-ui .list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}div.tsml-ui .list-group-item.disabled,div.tsml-ui .list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}div.tsml-ui .list-group-item.active{background-color:#0d6efd;border-color:#0d6efd;color:#fff;z-index:2}div.tsml-ui .list-group-item+div.tsml-ui .list-group-item{border-top-width:0}div.tsml-ui .list-group-item+div.tsml-ui .list-group-item.active{border-top-width:1px;margin-top:-1px}div.tsml-ui .list-group-horizontal{flex-direction:row}div.tsml-ui .list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}div.tsml-ui .list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}div.tsml-ui .list-group-horizontal>.list-group-item.active{margin-top:0}div.tsml-ui .list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}div.tsml-ui .list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}@media (min-width:576px){div.tsml-ui .list-group-horizontal-sm{flex-direction:row}div.tsml-ui .list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}div.tsml-ui .list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}div.tsml-ui .list-group-horizontal-sm>.list-group-item.active{margin-top:0}div.tsml-ui .list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}div.tsml-ui .list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:768px){div.tsml-ui .list-group-horizontal-md{flex-direction:row}div.tsml-ui .list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}div.tsml-ui .list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}div.tsml-ui .list-group-horizontal-md>.list-group-item.active{margin-top:0}div.tsml-ui .list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}div.tsml-ui .list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:992px){div.tsml-ui .list-group-horizontal-lg{flex-direction:row}div.tsml-ui .list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}div.tsml-ui .list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}div.tsml-ui .list-group-horizontal-lg>.list-group-item.active{margin-top:0}div.tsml-ui .list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}div.tsml-ui .list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1200px){div.tsml-ui .list-group-horizontal-xl{flex-direction:row}div.tsml-ui .list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}div.tsml-ui .list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}div.tsml-ui .list-group-horizontal-xl>.list-group-item.active{margin-top:0}div.tsml-ui .list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}div.tsml-ui .list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1400px){div.tsml-ui .list-group-horizontal-xxl{flex-direction:row}div.tsml-ui .list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}div.tsml-ui .list-group-horizontal-xxl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}div.tsml-ui .list-group-horizontal-xxl>.list-group-item.active{margin-top:0}div.tsml-ui .list-group-horizontal-xxl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}div.tsml-ui .list-group-horizontal-xxl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}div.tsml-ui .list-group-flush{border-radius:0}div.tsml-ui .list-group-flush>.list-group-item{border-width:0 0 1px}div.tsml-ui .list-group-flush>.list-group-item:last-child{border-bottom-width:0}div.tsml-ui .list-group-item-primary{background-color:#cfe2ff;color:#084298}div.tsml-ui .list-group-item-primary.list-group-item-action:focus,div.tsml-ui .list-group-item-primary.list-group-item-action:hover{background-color:#bacbe6;color:#084298}div.tsml-ui .list-group-item-primary.list-group-item-action.active{background-color:#084298;border-color:#084298;color:#fff}div.tsml-ui .list-group-item-secondary{background-color:#e2e3e5;color:#41464b}div.tsml-ui .list-group-item-secondary.list-group-item-action:focus,div.tsml-ui .list-group-item-secondary.list-group-item-action:hover{background-color:#cbccce;color:#41464b}div.tsml-ui .list-group-item-secondary.list-group-item-action.active{background-color:#41464b;border-color:#41464b;color:#fff}div.tsml-ui .list-group-item-success{background-color:#d1e7dd;color:#0f5132}div.tsml-ui .list-group-item-success.list-group-item-action:focus,div.tsml-ui .list-group-item-success.list-group-item-action:hover{background-color:#bcd0c7;color:#0f5132}div.tsml-ui .list-group-item-success.list-group-item-action.active{background-color:#0f5132;border-color:#0f5132;color:#fff}div.tsml-ui .list-group-item-info{background-color:#cff4fc;color:#055160}div.tsml-ui .list-group-item-info.list-group-item-action:focus,div.tsml-ui .list-group-item-info.list-group-item-action:hover{background-color:#badce3;color:#055160}div.tsml-ui .list-group-item-info.list-group-item-action.active{background-color:#055160;border-color:#055160;color:#fff}div.tsml-ui .list-group-item-warning{background-color:#fff3cd;color:#664d03}div.tsml-ui .list-group-item-warning.list-group-item-action:focus,div.tsml-ui .list-group-item-warning.list-group-item-action:hover{background-color:#e6dbb9;color:#664d03}div.tsml-ui .list-group-item-warning.list-group-item-action.active{background-color:#664d03;border-color:#664d03;color:#fff}div.tsml-ui .list-group-item-danger{background-color:#f8d7da;color:#842029}div.tsml-ui .list-group-item-danger.list-group-item-action:focus,div.tsml-ui .list-group-item-danger.list-group-item-action:hover{background-color:#dfc2c4;color:#842029}div.tsml-ui .list-group-item-danger.list-group-item-action.active{background-color:#842029;border-color:#842029;color:#fff}div.tsml-ui .list-group-item-light{background-color:#fefefe;color:#636464}div.tsml-ui .list-group-item-light.list-group-item-action:focus,div.tsml-ui .list-group-item-light.list-group-item-action:hover{background-color:#e5e5e5;color:#636464}div.tsml-ui .list-group-item-light.list-group-item-action.active{background-color:#636464;border-color:#636464;color:#fff}div.tsml-ui .list-group-item-dark{background-color:#d3d3d4;color:#141619}div.tsml-ui .list-group-item-dark.list-group-item-action:focus,div.tsml-ui .list-group-item-dark.list-group-item-action:hover{background-color:#bebebf;color:#141619}div.tsml-ui .list-group-item-dark.list-group-item-action.active{background-color:#141619;border-color:#141619;color:#fff}@-webkit-keyframes spinner-border{to{transform:rotate(1turn)}}@keyframes spinner-border{to{transform:rotate(1turn)}}div.tsml-ui .spinner-border{-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite;border:.25em solid;border-radius:50%;border-right:.25em solid transparent;display:inline-block;height:2rem;vertical-align:-.125em;width:2rem}div.tsml-ui .spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}div.tsml-ui .spinner-grow{-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite;background-color:currentColor;border-radius:50%;display:inline-block;height:2rem;opacity:0;vertical-align:-.125em;width:2rem}div.tsml-ui .spinner-grow-sm{height:1rem;width:1rem}@media (prefers-reduced-motion:reduce){div.tsml-ui .spinner-border,div.tsml-ui .spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}div.tsml-ui .offcanvas{background-clip:padding-box;background-color:#fff;bottom:0;display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:transform .3s ease-in-out;visibility:hidden;z-index:1045}@media (prefers-reduced-motion:reduce){div.tsml-ui .offcanvas{transition:none}}div.tsml-ui .offcanvas-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}div.tsml-ui .offcanvas-backdrop.fade{opacity:0}div.tsml-ui .offcanvas-backdrop.show{opacity:.5}div.tsml-ui .offcanvas-header{align-items:center;display:flex;justify-content:space-between;padding:1rem}div.tsml-ui .offcanvas-header .btn-close{margin-bottom:-.5rem;margin-right:-.5rem;margin-top:-.5rem;padding:.5rem}div.tsml-ui .offcanvas-title{line-height:1.5;margin-bottom:0}div.tsml-ui .offcanvas-body{flex-grow:1;overflow-y:auto;padding:1rem}div.tsml-ui .offcanvas-start{border-right:1px solid rgba(0,0,0,.2);left:0;top:0;transform:translateX(-100%);width:400px}div.tsml-ui .offcanvas-end{border-left:1px solid rgba(0,0,0,.2);right:0;top:0;transform:translateX(100%);width:400px}div.tsml-ui .offcanvas-top{border-bottom:1px solid rgba(0,0,0,.2);height:30vh;left:0;max-height:100%;right:0;top:0;transform:translateY(-100%)}div.tsml-ui .offcanvas-bottom{border-top:1px solid rgba(0,0,0,.2);height:30vh;left:0;max-height:100%;right:0;transform:translateY(100%)}div.tsml-ui .offcanvas.show{transform:none}div.tsml-ui .clearfix:after{clear:both;content:\"\";display:block}div.tsml-ui .link-primary{color:#0d6efd}div.tsml-ui .link-primary:focus,div.tsml-ui .link-primary:hover{color:#0a58ca}div.tsml-ui .link-secondary{color:#6c757d}div.tsml-ui .link-secondary:focus,div.tsml-ui .link-secondary:hover{color:#565e64}div.tsml-ui .link-success{color:#198754}div.tsml-ui .link-success:focus,div.tsml-ui .link-success:hover{color:#146c43}div.tsml-ui .link-info{color:#0dcaf0}div.tsml-ui .link-info:focus,div.tsml-ui .link-info:hover{color:#3dd5f3}div.tsml-ui .link-warning{color:#ffc107}div.tsml-ui .link-warning:focus,div.tsml-ui .link-warning:hover{color:#ffcd39}div.tsml-ui .link-danger{color:#dc3545}div.tsml-ui .link-danger:focus,div.tsml-ui .link-danger:hover{color:#b02a37}div.tsml-ui .link-light{color:#f8f9fa}div.tsml-ui .link-light:focus,div.tsml-ui .link-light:hover{color:#f9fafb}div.tsml-ui .link-dark{color:#212529}div.tsml-ui .link-dark:focus,div.tsml-ui .link-dark:hover{color:#1a1e21}div.tsml-ui .ratio{position:relative;width:100%}div.tsml-ui .ratio:before{content:\"\";display:block;padding-top:var(--bs-aspect-ratio)}div.tsml-ui .ratio>*{height:100%;left:0;position:absolute;top:0;width:100%}div.tsml-ui .ratio-1x1{--bs-aspect-ratio:100%}div.tsml-ui .ratio-4x3{--bs-aspect-ratio:75%}div.tsml-ui .ratio-16x9{--bs-aspect-ratio:56.25%}div.tsml-ui .ratio-21x9{--bs-aspect-ratio:42.8571428571%}div.tsml-ui .fixed-top{left:0;position:fixed;right:0;top:0;z-index:1030}div.tsml-ui .fixed-bottom{bottom:0;left:0;position:fixed;right:0;z-index:1030}div.tsml-ui .sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){div.tsml-ui .sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){div.tsml-ui .sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){div.tsml-ui .sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){div.tsml-ui .sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){div.tsml-ui .sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}div.tsml-ui .hstack{align-items:center;align-self:stretch;display:flex;flex-direction:row}div.tsml-ui .vstack{align-self:stretch;display:flex;flex:1 1 auto;flex-direction:column}div.tsml-ui .visually-hidden,div.tsml-ui .visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}div.tsml-ui .stretched-link:after{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:1}div.tsml-ui .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.tsml-ui .vr{align-self:stretch;background-color:currentColor;display:inline-block;min-height:1em;opacity:.25;width:1px}div.tsml-ui .align-baseline{vertical-align:baseline!important}div.tsml-ui .align-top{vertical-align:top!important}div.tsml-ui .align-middle{vertical-align:middle!important}div.tsml-ui .align-bottom{vertical-align:bottom!important}div.tsml-ui .align-text-bottom{vertical-align:text-bottom!important}div.tsml-ui .align-text-top{vertical-align:text-top!important}div.tsml-ui .float-start{float:left!important}div.tsml-ui .float-end{float:right!important}div.tsml-ui .float-none{float:none!important}div.tsml-ui .opacity-0{opacity:0!important}div.tsml-ui .opacity-25{opacity:.25!important}div.tsml-ui .opacity-50{opacity:.5!important}div.tsml-ui .opacity-75{opacity:.75!important}div.tsml-ui .opacity-100{opacity:1!important}div.tsml-ui .overflow-auto{overflow:auto!important}div.tsml-ui .overflow-hidden{overflow:hidden!important}div.tsml-ui .overflow-visible{overflow:visible!important}div.tsml-ui .overflow-scroll{overflow:scroll!important}div.tsml-ui .d-inline{display:inline!important}div.tsml-ui .d-inline-block{display:inline-block!important}div.tsml-ui .d-block{display:block!important}div.tsml-ui .d-grid{display:grid!important}div.tsml-ui .d-table{display:table!important}div.tsml-ui .d-table-row{display:table-row!important}div.tsml-ui .d-table-cell{display:table-cell!important}div.tsml-ui .d-flex{display:flex!important}div.tsml-ui .d-inline-flex{display:inline-flex!important}div.tsml-ui .d-none{display:none!important}div.tsml-ui .shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}div.tsml-ui .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}div.tsml-ui .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}div.tsml-ui .shadow-none{box-shadow:none!important}div.tsml-ui .position-static{position:static!important}div.tsml-ui .position-relative{position:relative!important}div.tsml-ui .position-absolute{position:absolute!important}div.tsml-ui .position-fixed{position:fixed!important}div.tsml-ui .position-sticky{position:-webkit-sticky!important;position:sticky!important}div.tsml-ui .top-0{top:0!important}div.tsml-ui .top-50{top:50%!important}div.tsml-ui .top-100{top:100%!important}div.tsml-ui .bottom-0{bottom:0!important}div.tsml-ui .bottom-50{bottom:50%!important}div.tsml-ui .bottom-100{bottom:100%!important}div.tsml-ui .start-0{left:0!important}div.tsml-ui .start-50{left:50%!important}div.tsml-ui .start-100{left:100%!important}div.tsml-ui .end-0{right:0!important}div.tsml-ui .end-50{right:50%!important}div.tsml-ui .end-100{right:100%!important}div.tsml-ui .translate-middle{transform:translate(-50%,-50%)!important}div.tsml-ui .translate-middle-x{transform:translateX(-50%)!important}div.tsml-ui .translate-middle-y{transform:translateY(-50%)!important}div.tsml-ui .border{border:1px solid #dee2e6!important}div.tsml-ui .border-0{border:0!important}div.tsml-ui .border-top{border-top:1px solid #dee2e6!important}div.tsml-ui .border-top-0{border-top:0!important}div.tsml-ui .border-end{border-right:1px solid #dee2e6!important}div.tsml-ui .border-end-0{border-right:0!important}div.tsml-ui .border-bottom{border-bottom:1px solid #dee2e6!important}div.tsml-ui .border-bottom-0{border-bottom:0!important}div.tsml-ui .border-start{border-left:1px solid #dee2e6!important}div.tsml-ui .border-start-0{border-left:0!important}div.tsml-ui .border-primary{border-color:#0d6efd!important}div.tsml-ui .border-secondary{border-color:#6c757d!important}div.tsml-ui .border-success{border-color:#198754!important}div.tsml-ui .border-info{border-color:#0dcaf0!important}div.tsml-ui .border-warning{border-color:#ffc107!important}div.tsml-ui .border-danger{border-color:#dc3545!important}div.tsml-ui .border-light{border-color:#f8f9fa!important}div.tsml-ui .border-dark{border-color:#212529!important}div.tsml-ui .border-white{border-color:#fff!important}div.tsml-ui .border-1{border-width:1px!important}div.tsml-ui .border-2{border-width:2px!important}div.tsml-ui .border-3{border-width:3px!important}div.tsml-ui .border-4{border-width:4px!important}div.tsml-ui .border-5{border-width:5px!important}div.tsml-ui .w-25{width:25%!important}div.tsml-ui .w-50{width:50%!important}div.tsml-ui .w-75{width:75%!important}div.tsml-ui .w-100{width:100%!important}div.tsml-ui .w-auto{width:auto!important}div.tsml-ui .mw-100{max-width:100%!important}div.tsml-ui .vw-100{width:100vw!important}div.tsml-ui .min-vw-100{min-width:100vw!important}div.tsml-ui .h-25{height:25%!important}div.tsml-ui .h-50{height:50%!important}div.tsml-ui .h-75{height:75%!important}div.tsml-ui .h-100{height:100%!important}div.tsml-ui .h-auto{height:auto!important}div.tsml-ui .mh-100{max-height:100%!important}div.tsml-ui .vh-100{height:100vh!important}div.tsml-ui .min-vh-100{min-height:100vh!important}div.tsml-ui .flex-fill{flex:1 1 auto!important}div.tsml-ui .flex-row{flex-direction:row!important}div.tsml-ui .flex-column{flex-direction:column!important}div.tsml-ui .flex-row-reverse{flex-direction:row-reverse!important}div.tsml-ui .flex-column-reverse{flex-direction:column-reverse!important}div.tsml-ui .flex-grow-0{flex-grow:0!important}div.tsml-ui .flex-grow-1{flex-grow:1!important}div.tsml-ui .flex-shrink-0{flex-shrink:0!important}div.tsml-ui .flex-shrink-1{flex-shrink:1!important}div.tsml-ui .flex-wrap{flex-wrap:wrap!important}div.tsml-ui .flex-nowrap{flex-wrap:nowrap!important}div.tsml-ui .flex-wrap-reverse{flex-wrap:wrap-reverse!important}div.tsml-ui .gap-0{gap:0!important}div.tsml-ui .gap-1{gap:.25rem!important}div.tsml-ui .gap-2{gap:.5rem!important}div.tsml-ui .gap-3{gap:1rem!important}div.tsml-ui .gap-4{gap:1.5rem!important}div.tsml-ui .gap-5{gap:3rem!important}div.tsml-ui .justify-content-start{justify-content:flex-start!important}div.tsml-ui .justify-content-end{justify-content:flex-end!important}div.tsml-ui .justify-content-center{justify-content:center!important}div.tsml-ui .justify-content-between{justify-content:space-between!important}div.tsml-ui .justify-content-around{justify-content:space-around!important}div.tsml-ui .justify-content-evenly{justify-content:space-evenly!important}div.tsml-ui .align-items-start{align-items:flex-start!important}div.tsml-ui .align-items-end{align-items:flex-end!important}div.tsml-ui .align-items-center{align-items:center!important}div.tsml-ui .align-items-baseline{align-items:baseline!important}div.tsml-ui .align-items-stretch{align-items:stretch!important}div.tsml-ui .align-content-start{align-content:flex-start!important}div.tsml-ui .align-content-end{align-content:flex-end!important}div.tsml-ui .align-content-center{align-content:center!important}div.tsml-ui .align-content-between{align-content:space-between!important}div.tsml-ui .align-content-around{align-content:space-around!important}div.tsml-ui .align-content-stretch{align-content:stretch!important}div.tsml-ui .align-self-auto{align-self:auto!important}div.tsml-ui .align-self-start{align-self:flex-start!important}div.tsml-ui .align-self-end{align-self:flex-end!important}div.tsml-ui .align-self-center{align-self:center!important}div.tsml-ui .align-self-baseline{align-self:baseline!important}div.tsml-ui .align-self-stretch{align-self:stretch!important}div.tsml-ui .order-first{order:-1!important}div.tsml-ui .order-0{order:0!important}div.tsml-ui .order-1{order:1!important}div.tsml-ui .order-2{order:2!important}div.tsml-ui .order-3{order:3!important}div.tsml-ui .order-4{order:4!important}div.tsml-ui .order-5{order:5!important}div.tsml-ui .order-last{order:6!important}div.tsml-ui .m-0{margin:0!important}div.tsml-ui .m-1{margin:.25rem!important}div.tsml-ui .m-2{margin:.5rem!important}div.tsml-ui .m-3{margin:1rem!important}div.tsml-ui .m-4{margin:1.5rem!important}div.tsml-ui .m-5{margin:3rem!important}div.tsml-ui .m-auto{margin:auto!important}div.tsml-ui .mx-0{margin-left:0!important;margin-right:0!important}div.tsml-ui .mx-1{margin-left:.25rem!important;margin-right:.25rem!important}div.tsml-ui .mx-2{margin-left:.5rem!important;margin-right:.5rem!important}div.tsml-ui .mx-3{margin-left:1rem!important;margin-right:1rem!important}div.tsml-ui .mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}div.tsml-ui .mx-5{margin-left:3rem!important;margin-right:3rem!important}div.tsml-ui .mx-auto{margin-left:auto!important;margin-right:auto!important}div.tsml-ui .my-0{margin-bottom:0!important;margin-top:0!important}div.tsml-ui .my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}div.tsml-ui .my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.tsml-ui .my-3{margin-bottom:1rem!important;margin-top:1rem!important}div.tsml-ui .my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}div.tsml-ui .my-5{margin-bottom:3rem!important;margin-top:3rem!important}div.tsml-ui .my-auto{margin-bottom:auto!important;margin-top:auto!important}div.tsml-ui .mt-0{margin-top:0!important}div.tsml-ui .mt-1{margin-top:.25rem!important}div.tsml-ui .mt-2{margin-top:.5rem!important}div.tsml-ui .mt-3{margin-top:1rem!important}div.tsml-ui .mt-4{margin-top:1.5rem!important}div.tsml-ui .mt-5{margin-top:3rem!important}div.tsml-ui .mt-auto{margin-top:auto!important}div.tsml-ui .me-0{margin-right:0!important}div.tsml-ui .me-1{margin-right:.25rem!important}div.tsml-ui .me-2{margin-right:.5rem!important}div.tsml-ui .me-3{margin-right:1rem!important}div.tsml-ui .me-4{margin-right:1.5rem!important}div.tsml-ui .me-5{margin-right:3rem!important}div.tsml-ui .me-auto{margin-right:auto!important}div.tsml-ui .mb-0{margin-bottom:0!important}div.tsml-ui .mb-1{margin-bottom:.25rem!important}div.tsml-ui .mb-2{margin-bottom:.5rem!important}div.tsml-ui .mb-3{margin-bottom:1rem!important}div.tsml-ui .mb-4{margin-bottom:1.5rem!important}div.tsml-ui .mb-5{margin-bottom:3rem!important}div.tsml-ui .mb-auto{margin-bottom:auto!important}div.tsml-ui .ms-0{margin-left:0!important}div.tsml-ui .ms-1{margin-left:.25rem!important}div.tsml-ui .ms-2{margin-left:.5rem!important}div.tsml-ui .ms-3{margin-left:1rem!important}div.tsml-ui .ms-4{margin-left:1.5rem!important}div.tsml-ui .ms-5{margin-left:3rem!important}div.tsml-ui .ms-auto{margin-left:auto!important}div.tsml-ui .p-0{padding:0!important}div.tsml-ui .p-1{padding:.25rem!important}div.tsml-ui .p-2{padding:.5rem!important}div.tsml-ui .p-3{padding:1rem!important}div.tsml-ui .p-4{padding:1.5rem!important}div.tsml-ui .p-5{padding:3rem!important}div.tsml-ui .px-0{padding-left:0!important;padding-right:0!important}div.tsml-ui .px-1{padding-left:.25rem!important;padding-right:.25rem!important}div.tsml-ui .px-2{padding-left:.5rem!important;padding-right:.5rem!important}div.tsml-ui .px-3{padding-left:1rem!important;padding-right:1rem!important}div.tsml-ui .px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}div.tsml-ui .px-5{padding-left:3rem!important;padding-right:3rem!important}div.tsml-ui .py-0{padding-bottom:0!important;padding-top:0!important}div.tsml-ui .py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.tsml-ui .py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.tsml-ui .py-3{padding-bottom:1rem!important;padding-top:1rem!important}div.tsml-ui .py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.tsml-ui .py-5{padding-bottom:3rem!important;padding-top:3rem!important}div.tsml-ui .pt-0{padding-top:0!important}div.tsml-ui .pt-1{padding-top:.25rem!important}div.tsml-ui .pt-2{padding-top:.5rem!important}div.tsml-ui .pt-3{padding-top:1rem!important}div.tsml-ui .pt-4{padding-top:1.5rem!important}div.tsml-ui .pt-5{padding-top:3rem!important}div.tsml-ui .pe-0{padding-right:0!important}div.tsml-ui .pe-1{padding-right:.25rem!important}div.tsml-ui .pe-2{padding-right:.5rem!important}div.tsml-ui .pe-3{padding-right:1rem!important}div.tsml-ui .pe-4{padding-right:1.5rem!important}div.tsml-ui .pe-5{padding-right:3rem!important}div.tsml-ui .pb-0{padding-bottom:0!important}div.tsml-ui .pb-1{padding-bottom:.25rem!important}div.tsml-ui .pb-2{padding-bottom:.5rem!important}div.tsml-ui .pb-3{padding-bottom:1rem!important}div.tsml-ui .pb-4{padding-bottom:1.5rem!important}div.tsml-ui .pb-5{padding-bottom:3rem!important}div.tsml-ui .ps-0{padding-left:0!important}div.tsml-ui .ps-1{padding-left:.25rem!important}div.tsml-ui .ps-2{padding-left:.5rem!important}div.tsml-ui .ps-3{padding-left:1rem!important}div.tsml-ui .ps-4{padding-left:1.5rem!important}div.tsml-ui .ps-5{padding-left:3rem!important}div.tsml-ui .font-monospace{font-family:var(--bs-font-monospace)!important}div.tsml-ui .fs-1{font-size:calc(1.375rem + 1.5vw)!important}div.tsml-ui .fs-2{font-size:calc(1.325rem + .9vw)!important}div.tsml-ui .fs-3{font-size:calc(1.3rem + .6vw)!important}div.tsml-ui .fs-4{font-size:calc(1.275rem + .3vw)!important}div.tsml-ui .fs-5{font-size:1.25rem!important}div.tsml-ui .fs-6{font-size:1rem!important}div.tsml-ui .fst-italic{font-style:italic!important}div.tsml-ui .fst-normal{font-style:normal!important}div.tsml-ui .fw-light{font-weight:300!important}div.tsml-ui .fw-lighter{font-weight:lighter!important}div.tsml-ui .fw-normal{font-weight:400!important}div.tsml-ui .fw-bold{font-weight:700!important}div.tsml-ui .fw-bolder{font-weight:bolder!important}div.tsml-ui .lh-1{line-height:1!important}div.tsml-ui .lh-sm{line-height:1.25!important}div.tsml-ui .lh-base{line-height:1.5!important}div.tsml-ui .lh-lg{line-height:2!important}div.tsml-ui .text-start{text-align:left!important}div.tsml-ui .text-end{text-align:right!important}div.tsml-ui .text-center{text-align:center!important}div.tsml-ui .text-decoration-none{text-decoration:none!important}div.tsml-ui .text-decoration-underline{text-decoration:underline!important}div.tsml-ui .text-decoration-line-through{text-decoration:line-through!important}div.tsml-ui .text-lowercase{text-transform:lowercase!important}div.tsml-ui .text-uppercase{text-transform:uppercase!important}div.tsml-ui .text-capitalize{text-transform:capitalize!important}div.tsml-ui .text-wrap{white-space:normal!important}div.tsml-ui .text-nowrap{white-space:nowrap!important}div.tsml-ui .text-break{word-wrap:break-word!important;word-break:break-word!important}div.tsml-ui .text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}div.tsml-ui .text-muted{--bs-text-opacity:1;color:#6c757d!important}div.tsml-ui .text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}div.tsml-ui .text-white-50{--bs-text-opacity:1;color:hsla(0,0%,100%,.5)!important}div.tsml-ui .text-reset{--bs-text-opacity:1;color:inherit!important}div.tsml-ui .text-opacity-25{--bs-text-opacity:0.25}div.tsml-ui .text-opacity-50{--bs-text-opacity:0.5}div.tsml-ui .text-opacity-75{--bs-text-opacity:0.75}div.tsml-ui .text-opacity-100{--bs-text-opacity:1}div.tsml-ui .bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}div.tsml-ui .bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}div.tsml-ui .bg-opacity-10{--bs-bg-opacity:0.1}div.tsml-ui .bg-opacity-25{--bs-bg-opacity:0.25}div.tsml-ui .bg-opacity-50{--bs-bg-opacity:0.5}div.tsml-ui .bg-opacity-75{--bs-bg-opacity:0.75}div.tsml-ui .bg-opacity-100{--bs-bg-opacity:1}div.tsml-ui .bg-gradient{background-image:var(--bs-gradient)!important}div.tsml-ui .user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}div.tsml-ui .user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}div.tsml-ui .user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}div.tsml-ui .pe-none{pointer-events:none!important}div.tsml-ui .pe-auto{pointer-events:auto!important}div.tsml-ui .rounded{border-radius:.25rem!important}div.tsml-ui .rounded-0{border-radius:0!important}div.tsml-ui .rounded-1{border-radius:.2rem!important}div.tsml-ui .rounded-2{border-radius:.25rem!important}div.tsml-ui .rounded-3{border-radius:.3rem!important}div.tsml-ui .rounded-circle{border-radius:50%!important}div.tsml-ui .rounded-pill{border-radius:50rem!important}div.tsml-ui .rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}div.tsml-ui .rounded-end{border-bottom-right-radius:.25rem!important;border-top-right-radius:.25rem!important}div.tsml-ui .rounded-bottom{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}div.tsml-ui .rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}div.tsml-ui .visible{visibility:visible!important}div.tsml-ui .invisible{visibility:hidden!important}@media (min-width:576px){div.tsml-ui .float-sm-start{float:left!important}div.tsml-ui .float-sm-end{float:right!important}div.tsml-ui .float-sm-none{float:none!important}div.tsml-ui .d-sm-inline{display:inline!important}div.tsml-ui .d-sm-inline-block{display:inline-block!important}div.tsml-ui .d-sm-block{display:block!important}div.tsml-ui .d-sm-grid{display:grid!important}div.tsml-ui .d-sm-table{display:table!important}div.tsml-ui .d-sm-table-row{display:table-row!important}div.tsml-ui .d-sm-table-cell{display:table-cell!important}div.tsml-ui .d-sm-flex{display:flex!important}div.tsml-ui .d-sm-inline-flex{display:inline-flex!important}div.tsml-ui .d-sm-none{display:none!important}div.tsml-ui .flex-sm-fill{flex:1 1 auto!important}div.tsml-ui .flex-sm-row{flex-direction:row!important}div.tsml-ui .flex-sm-column{flex-direction:column!important}div.tsml-ui .flex-sm-row-reverse{flex-direction:row-reverse!important}div.tsml-ui .flex-sm-column-reverse{flex-direction:column-reverse!important}div.tsml-ui .flex-sm-grow-0{flex-grow:0!important}div.tsml-ui .flex-sm-grow-1{flex-grow:1!important}div.tsml-ui .flex-sm-shrink-0{flex-shrink:0!important}div.tsml-ui .flex-sm-shrink-1{flex-shrink:1!important}div.tsml-ui .flex-sm-wrap{flex-wrap:wrap!important}div.tsml-ui .flex-sm-nowrap{flex-wrap:nowrap!important}div.tsml-ui .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}div.tsml-ui .gap-sm-0{gap:0!important}div.tsml-ui .gap-sm-1{gap:.25rem!important}div.tsml-ui .gap-sm-2{gap:.5rem!important}div.tsml-ui .gap-sm-3{gap:1rem!important}div.tsml-ui .gap-sm-4{gap:1.5rem!important}div.tsml-ui .gap-sm-5{gap:3rem!important}div.tsml-ui .justify-content-sm-start{justify-content:flex-start!important}div.tsml-ui .justify-content-sm-end{justify-content:flex-end!important}div.tsml-ui .justify-content-sm-center{justify-content:center!important}div.tsml-ui .justify-content-sm-between{justify-content:space-between!important}div.tsml-ui .justify-content-sm-around{justify-content:space-around!important}div.tsml-ui .justify-content-sm-evenly{justify-content:space-evenly!important}div.tsml-ui .align-items-sm-start{align-items:flex-start!important}div.tsml-ui .align-items-sm-end{align-items:flex-end!important}div.tsml-ui .align-items-sm-center{align-items:center!important}div.tsml-ui .align-items-sm-baseline{align-items:baseline!important}div.tsml-ui .align-items-sm-stretch{align-items:stretch!important}div.tsml-ui .align-content-sm-start{align-content:flex-start!important}div.tsml-ui .align-content-sm-end{align-content:flex-end!important}div.tsml-ui .align-content-sm-center{align-content:center!important}div.tsml-ui .align-content-sm-between{align-content:space-between!important}div.tsml-ui .align-content-sm-around{align-content:space-around!important}div.tsml-ui .align-content-sm-stretch{align-content:stretch!important}div.tsml-ui .align-self-sm-auto{align-self:auto!important}div.tsml-ui .align-self-sm-start{align-self:flex-start!important}div.tsml-ui .align-self-sm-end{align-self:flex-end!important}div.tsml-ui .align-self-sm-center{align-self:center!important}div.tsml-ui .align-self-sm-baseline{align-self:baseline!important}div.tsml-ui .align-self-sm-stretch{align-self:stretch!important}div.tsml-ui .order-sm-first{order:-1!important}div.tsml-ui .order-sm-0{order:0!important}div.tsml-ui .order-sm-1{order:1!important}div.tsml-ui .order-sm-2{order:2!important}div.tsml-ui .order-sm-3{order:3!important}div.tsml-ui .order-sm-4{order:4!important}div.tsml-ui .order-sm-5{order:5!important}div.tsml-ui .order-sm-last{order:6!important}div.tsml-ui .m-sm-0{margin:0!important}div.tsml-ui .m-sm-1{margin:.25rem!important}div.tsml-ui .m-sm-2{margin:.5rem!important}div.tsml-ui .m-sm-3{margin:1rem!important}div.tsml-ui .m-sm-4{margin:1.5rem!important}div.tsml-ui .m-sm-5{margin:3rem!important}div.tsml-ui .m-sm-auto{margin:auto!important}div.tsml-ui .mx-sm-0{margin-left:0!important;margin-right:0!important}div.tsml-ui .mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}div.tsml-ui .mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}div.tsml-ui .mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}div.tsml-ui .mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}div.tsml-ui .mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}div.tsml-ui .mx-sm-auto{margin-left:auto!important;margin-right:auto!important}div.tsml-ui .my-sm-0{margin-bottom:0!important;margin-top:0!important}div.tsml-ui .my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}div.tsml-ui .my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.tsml-ui .my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}div.tsml-ui .my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}div.tsml-ui .my-sm-5{margin-bottom:3rem!important;margin-top:3rem!important}div.tsml-ui .my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}div.tsml-ui .mt-sm-0{margin-top:0!important}div.tsml-ui .mt-sm-1{margin-top:.25rem!important}div.tsml-ui .mt-sm-2{margin-top:.5rem!important}div.tsml-ui .mt-sm-3{margin-top:1rem!important}div.tsml-ui .mt-sm-4{margin-top:1.5rem!important}div.tsml-ui .mt-sm-5{margin-top:3rem!important}div.tsml-ui .mt-sm-auto{margin-top:auto!important}div.tsml-ui .me-sm-0{margin-right:0!important}div.tsml-ui .me-sm-1{margin-right:.25rem!important}div.tsml-ui .me-sm-2{margin-right:.5rem!important}div.tsml-ui .me-sm-3{margin-right:1rem!important}div.tsml-ui .me-sm-4{margin-right:1.5rem!important}div.tsml-ui .me-sm-5{margin-right:3rem!important}div.tsml-ui .me-sm-auto{margin-right:auto!important}div.tsml-ui .mb-sm-0{margin-bottom:0!important}div.tsml-ui .mb-sm-1{margin-bottom:.25rem!important}div.tsml-ui .mb-sm-2{margin-bottom:.5rem!important}div.tsml-ui .mb-sm-3{margin-bottom:1rem!important}div.tsml-ui .mb-sm-4{margin-bottom:1.5rem!important}div.tsml-ui .mb-sm-5{margin-bottom:3rem!important}div.tsml-ui .mb-sm-auto{margin-bottom:auto!important}div.tsml-ui .ms-sm-0{margin-left:0!important}div.tsml-ui .ms-sm-1{margin-left:.25rem!important}div.tsml-ui .ms-sm-2{margin-left:.5rem!important}div.tsml-ui .ms-sm-3{margin-left:1rem!important}div.tsml-ui .ms-sm-4{margin-left:1.5rem!important}div.tsml-ui .ms-sm-5{margin-left:3rem!important}div.tsml-ui .ms-sm-auto{margin-left:auto!important}div.tsml-ui .p-sm-0{padding:0!important}div.tsml-ui .p-sm-1{padding:.25rem!important}div.tsml-ui .p-sm-2{padding:.5rem!important}div.tsml-ui .p-sm-3{padding:1rem!important}div.tsml-ui .p-sm-4{padding:1.5rem!important}div.tsml-ui .p-sm-5{padding:3rem!important}div.tsml-ui .px-sm-0{padding-left:0!important;padding-right:0!important}div.tsml-ui .px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}div.tsml-ui .px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}div.tsml-ui .px-sm-3{padding-left:1rem!important;padding-right:1rem!important}div.tsml-ui .px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}div.tsml-ui .px-sm-5{padding-left:3rem!important;padding-right:3rem!important}div.tsml-ui .py-sm-0{padding-bottom:0!important;padding-top:0!important}div.tsml-ui .py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.tsml-ui .py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.tsml-ui .py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}div.tsml-ui .py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.tsml-ui .py-sm-5{padding-bottom:3rem!important;padding-top:3rem!important}div.tsml-ui .pt-sm-0{padding-top:0!important}div.tsml-ui .pt-sm-1{padding-top:.25rem!important}div.tsml-ui .pt-sm-2{padding-top:.5rem!important}div.tsml-ui .pt-sm-3{padding-top:1rem!important}div.tsml-ui .pt-sm-4{padding-top:1.5rem!important}div.tsml-ui .pt-sm-5{padding-top:3rem!important}div.tsml-ui .pe-sm-0{padding-right:0!important}div.tsml-ui .pe-sm-1{padding-right:.25rem!important}div.tsml-ui .pe-sm-2{padding-right:.5rem!important}div.tsml-ui .pe-sm-3{padding-right:1rem!important}div.tsml-ui .pe-sm-4{padding-right:1.5rem!important}div.tsml-ui .pe-sm-5{padding-right:3rem!important}div.tsml-ui .pb-sm-0{padding-bottom:0!important}div.tsml-ui .pb-sm-1{padding-bottom:.25rem!important}div.tsml-ui .pb-sm-2{padding-bottom:.5rem!important}div.tsml-ui .pb-sm-3{padding-bottom:1rem!important}div.tsml-ui .pb-sm-4{padding-bottom:1.5rem!important}div.tsml-ui .pb-sm-5{padding-bottom:3rem!important}div.tsml-ui .ps-sm-0{padding-left:0!important}div.tsml-ui .ps-sm-1{padding-left:.25rem!important}div.tsml-ui .ps-sm-2{padding-left:.5rem!important}div.tsml-ui .ps-sm-3{padding-left:1rem!important}div.tsml-ui .ps-sm-4{padding-left:1.5rem!important}div.tsml-ui .ps-sm-5{padding-left:3rem!important}div.tsml-ui .text-sm-start{text-align:left!important}div.tsml-ui .text-sm-end{text-align:right!important}div.tsml-ui .text-sm-center{text-align:center!important}}@media (min-width:768px){div.tsml-ui .float-md-start{float:left!important}div.tsml-ui .float-md-end{float:right!important}div.tsml-ui .float-md-none{float:none!important}div.tsml-ui .d-md-inline{display:inline!important}div.tsml-ui .d-md-inline-block{display:inline-block!important}div.tsml-ui .d-md-block{display:block!important}div.tsml-ui .d-md-grid{display:grid!important}div.tsml-ui .d-md-table{display:table!important}div.tsml-ui .d-md-table-row{display:table-row!important}div.tsml-ui .d-md-table-cell{display:table-cell!important}div.tsml-ui .d-md-flex{display:flex!important}div.tsml-ui .d-md-inline-flex{display:inline-flex!important}div.tsml-ui .d-md-none{display:none!important}div.tsml-ui .flex-md-fill{flex:1 1 auto!important}div.tsml-ui .flex-md-row{flex-direction:row!important}div.tsml-ui .flex-md-column{flex-direction:column!important}div.tsml-ui .flex-md-row-reverse{flex-direction:row-reverse!important}div.tsml-ui .flex-md-column-reverse{flex-direction:column-reverse!important}div.tsml-ui .flex-md-grow-0{flex-grow:0!important}div.tsml-ui .flex-md-grow-1{flex-grow:1!important}div.tsml-ui .flex-md-shrink-0{flex-shrink:0!important}div.tsml-ui .flex-md-shrink-1{flex-shrink:1!important}div.tsml-ui .flex-md-wrap{flex-wrap:wrap!important}div.tsml-ui .flex-md-nowrap{flex-wrap:nowrap!important}div.tsml-ui .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}div.tsml-ui .gap-md-0{gap:0!important}div.tsml-ui .gap-md-1{gap:.25rem!important}div.tsml-ui .gap-md-2{gap:.5rem!important}div.tsml-ui .gap-md-3{gap:1rem!important}div.tsml-ui .gap-md-4{gap:1.5rem!important}div.tsml-ui .gap-md-5{gap:3rem!important}div.tsml-ui .justify-content-md-start{justify-content:flex-start!important}div.tsml-ui .justify-content-md-end{justify-content:flex-end!important}div.tsml-ui .justify-content-md-center{justify-content:center!important}div.tsml-ui .justify-content-md-between{justify-content:space-between!important}div.tsml-ui .justify-content-md-around{justify-content:space-around!important}div.tsml-ui .justify-content-md-evenly{justify-content:space-evenly!important}div.tsml-ui .align-items-md-start{align-items:flex-start!important}div.tsml-ui .align-items-md-end{align-items:flex-end!important}div.tsml-ui .align-items-md-center{align-items:center!important}div.tsml-ui .align-items-md-baseline{align-items:baseline!important}div.tsml-ui .align-items-md-stretch{align-items:stretch!important}div.tsml-ui .align-content-md-start{align-content:flex-start!important}div.tsml-ui .align-content-md-end{align-content:flex-end!important}div.tsml-ui .align-content-md-center{align-content:center!important}div.tsml-ui .align-content-md-between{align-content:space-between!important}div.tsml-ui .align-content-md-around{align-content:space-around!important}div.tsml-ui .align-content-md-stretch{align-content:stretch!important}div.tsml-ui .align-self-md-auto{align-self:auto!important}div.tsml-ui .align-self-md-start{align-self:flex-start!important}div.tsml-ui .align-self-md-end{align-self:flex-end!important}div.tsml-ui .align-self-md-center{align-self:center!important}div.tsml-ui .align-self-md-baseline{align-self:baseline!important}div.tsml-ui .align-self-md-stretch{align-self:stretch!important}div.tsml-ui .order-md-first{order:-1!important}div.tsml-ui .order-md-0{order:0!important}div.tsml-ui .order-md-1{order:1!important}div.tsml-ui .order-md-2{order:2!important}div.tsml-ui .order-md-3{order:3!important}div.tsml-ui .order-md-4{order:4!important}div.tsml-ui .order-md-5{order:5!important}div.tsml-ui .order-md-last{order:6!important}div.tsml-ui .m-md-0{margin:0!important}div.tsml-ui .m-md-1{margin:.25rem!important}div.tsml-ui .m-md-2{margin:.5rem!important}div.tsml-ui .m-md-3{margin:1rem!important}div.tsml-ui .m-md-4{margin:1.5rem!important}div.tsml-ui .m-md-5{margin:3rem!important}div.tsml-ui .m-md-auto{margin:auto!important}div.tsml-ui .mx-md-0{margin-left:0!important;margin-right:0!important}div.tsml-ui .mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}div.tsml-ui .mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}div.tsml-ui .mx-md-3{margin-left:1rem!important;margin-right:1rem!important}div.tsml-ui .mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}div.tsml-ui .mx-md-5{margin-left:3rem!important;margin-right:3rem!important}div.tsml-ui .mx-md-auto{margin-left:auto!important;margin-right:auto!important}div.tsml-ui .my-md-0{margin-bottom:0!important;margin-top:0!important}div.tsml-ui .my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}div.tsml-ui .my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.tsml-ui .my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}div.tsml-ui .my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}div.tsml-ui .my-md-5{margin-bottom:3rem!important;margin-top:3rem!important}div.tsml-ui .my-md-auto{margin-bottom:auto!important;margin-top:auto!important}div.tsml-ui .mt-md-0{margin-top:0!important}div.tsml-ui .mt-md-1{margin-top:.25rem!important}div.tsml-ui .mt-md-2{margin-top:.5rem!important}div.tsml-ui .mt-md-3{margin-top:1rem!important}div.tsml-ui .mt-md-4{margin-top:1.5rem!important}div.tsml-ui .mt-md-5{margin-top:3rem!important}div.tsml-ui .mt-md-auto{margin-top:auto!important}div.tsml-ui .me-md-0{margin-right:0!important}div.tsml-ui .me-md-1{margin-right:.25rem!important}div.tsml-ui .me-md-2{margin-right:.5rem!important}div.tsml-ui .me-md-3{margin-right:1rem!important}div.tsml-ui .me-md-4{margin-right:1.5rem!important}div.tsml-ui .me-md-5{margin-right:3rem!important}div.tsml-ui .me-md-auto{margin-right:auto!important}div.tsml-ui .mb-md-0{margin-bottom:0!important}div.tsml-ui .mb-md-1{margin-bottom:.25rem!important}div.tsml-ui .mb-md-2{margin-bottom:.5rem!important}div.tsml-ui .mb-md-3{margin-bottom:1rem!important}div.tsml-ui .mb-md-4{margin-bottom:1.5rem!important}div.tsml-ui .mb-md-5{margin-bottom:3rem!important}div.tsml-ui .mb-md-auto{margin-bottom:auto!important}div.tsml-ui .ms-md-0{margin-left:0!important}div.tsml-ui .ms-md-1{margin-left:.25rem!important}div.tsml-ui .ms-md-2{margin-left:.5rem!important}div.tsml-ui .ms-md-3{margin-left:1rem!important}div.tsml-ui .ms-md-4{margin-left:1.5rem!important}div.tsml-ui .ms-md-5{margin-left:3rem!important}div.tsml-ui .ms-md-auto{margin-left:auto!important}div.tsml-ui .p-md-0{padding:0!important}div.tsml-ui .p-md-1{padding:.25rem!important}div.tsml-ui .p-md-2{padding:.5rem!important}div.tsml-ui .p-md-3{padding:1rem!important}div.tsml-ui .p-md-4{padding:1.5rem!important}div.tsml-ui .p-md-5{padding:3rem!important}div.tsml-ui .px-md-0{padding-left:0!important;padding-right:0!important}div.tsml-ui .px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}div.tsml-ui .px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}div.tsml-ui .px-md-3{padding-left:1rem!important;padding-right:1rem!important}div.tsml-ui .px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}div.tsml-ui .px-md-5{padding-left:3rem!important;padding-right:3rem!important}div.tsml-ui .py-md-0{padding-bottom:0!important;padding-top:0!important}div.tsml-ui .py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.tsml-ui .py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.tsml-ui .py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}div.tsml-ui .py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.tsml-ui .py-md-5{padding-bottom:3rem!important;padding-top:3rem!important}div.tsml-ui .pt-md-0{padding-top:0!important}div.tsml-ui .pt-md-1{padding-top:.25rem!important}div.tsml-ui .pt-md-2{padding-top:.5rem!important}div.tsml-ui .pt-md-3{padding-top:1rem!important}div.tsml-ui .pt-md-4{padding-top:1.5rem!important}div.tsml-ui .pt-md-5{padding-top:3rem!important}div.tsml-ui .pe-md-0{padding-right:0!important}div.tsml-ui .pe-md-1{padding-right:.25rem!important}div.tsml-ui .pe-md-2{padding-right:.5rem!important}div.tsml-ui .pe-md-3{padding-right:1rem!important}div.tsml-ui .pe-md-4{padding-right:1.5rem!important}div.tsml-ui .pe-md-5{padding-right:3rem!important}div.tsml-ui .pb-md-0{padding-bottom:0!important}div.tsml-ui .pb-md-1{padding-bottom:.25rem!important}div.tsml-ui .pb-md-2{padding-bottom:.5rem!important}div.tsml-ui .pb-md-3{padding-bottom:1rem!important}div.tsml-ui .pb-md-4{padding-bottom:1.5rem!important}div.tsml-ui .pb-md-5{padding-bottom:3rem!important}div.tsml-ui .ps-md-0{padding-left:0!important}div.tsml-ui .ps-md-1{padding-left:.25rem!important}div.tsml-ui .ps-md-2{padding-left:.5rem!important}div.tsml-ui .ps-md-3{padding-left:1rem!important}div.tsml-ui .ps-md-4{padding-left:1.5rem!important}div.tsml-ui .ps-md-5{padding-left:3rem!important}div.tsml-ui .text-md-start{text-align:left!important}div.tsml-ui .text-md-end{text-align:right!important}div.tsml-ui .text-md-center{text-align:center!important}}@media (min-width:992px){div.tsml-ui .float-lg-start{float:left!important}div.tsml-ui .float-lg-end{float:right!important}div.tsml-ui .float-lg-none{float:none!important}div.tsml-ui .d-lg-inline{display:inline!important}div.tsml-ui .d-lg-inline-block{display:inline-block!important}div.tsml-ui .d-lg-block{display:block!important}div.tsml-ui .d-lg-grid{display:grid!important}div.tsml-ui .d-lg-table{display:table!important}div.tsml-ui .d-lg-table-row{display:table-row!important}div.tsml-ui .d-lg-table-cell{display:table-cell!important}div.tsml-ui .d-lg-flex{display:flex!important}div.tsml-ui .d-lg-inline-flex{display:inline-flex!important}div.tsml-ui .d-lg-none{display:none!important}div.tsml-ui .flex-lg-fill{flex:1 1 auto!important}div.tsml-ui .flex-lg-row{flex-direction:row!important}div.tsml-ui .flex-lg-column{flex-direction:column!important}div.tsml-ui .flex-lg-row-reverse{flex-direction:row-reverse!important}div.tsml-ui .flex-lg-column-reverse{flex-direction:column-reverse!important}div.tsml-ui .flex-lg-grow-0{flex-grow:0!important}div.tsml-ui .flex-lg-grow-1{flex-grow:1!important}div.tsml-ui .flex-lg-shrink-0{flex-shrink:0!important}div.tsml-ui .flex-lg-shrink-1{flex-shrink:1!important}div.tsml-ui .flex-lg-wrap{flex-wrap:wrap!important}div.tsml-ui .flex-lg-nowrap{flex-wrap:nowrap!important}div.tsml-ui .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}div.tsml-ui .gap-lg-0{gap:0!important}div.tsml-ui .gap-lg-1{gap:.25rem!important}div.tsml-ui .gap-lg-2{gap:.5rem!important}div.tsml-ui .gap-lg-3{gap:1rem!important}div.tsml-ui .gap-lg-4{gap:1.5rem!important}div.tsml-ui .gap-lg-5{gap:3rem!important}div.tsml-ui .justify-content-lg-start{justify-content:flex-start!important}div.tsml-ui .justify-content-lg-end{justify-content:flex-end!important}div.tsml-ui .justify-content-lg-center{justify-content:center!important}div.tsml-ui .justify-content-lg-between{justify-content:space-between!important}div.tsml-ui .justify-content-lg-around{justify-content:space-around!important}div.tsml-ui .justify-content-lg-evenly{justify-content:space-evenly!important}div.tsml-ui .align-items-lg-start{align-items:flex-start!important}div.tsml-ui .align-items-lg-end{align-items:flex-end!important}div.tsml-ui .align-items-lg-center{align-items:center!important}div.tsml-ui .align-items-lg-baseline{align-items:baseline!important}div.tsml-ui .align-items-lg-stretch{align-items:stretch!important}div.tsml-ui .align-content-lg-start{align-content:flex-start!important}div.tsml-ui .align-content-lg-end{align-content:flex-end!important}div.tsml-ui .align-content-lg-center{align-content:center!important}div.tsml-ui .align-content-lg-between{align-content:space-between!important}div.tsml-ui .align-content-lg-around{align-content:space-around!important}div.tsml-ui .align-content-lg-stretch{align-content:stretch!important}div.tsml-ui .align-self-lg-auto{align-self:auto!important}div.tsml-ui .align-self-lg-start{align-self:flex-start!important}div.tsml-ui .align-self-lg-end{align-self:flex-end!important}div.tsml-ui .align-self-lg-center{align-self:center!important}div.tsml-ui .align-self-lg-baseline{align-self:baseline!important}div.tsml-ui .align-self-lg-stretch{align-self:stretch!important}div.tsml-ui .order-lg-first{order:-1!important}div.tsml-ui .order-lg-0{order:0!important}div.tsml-ui .order-lg-1{order:1!important}div.tsml-ui .order-lg-2{order:2!important}div.tsml-ui .order-lg-3{order:3!important}div.tsml-ui .order-lg-4{order:4!important}div.tsml-ui .order-lg-5{order:5!important}div.tsml-ui .order-lg-last{order:6!important}div.tsml-ui .m-lg-0{margin:0!important}div.tsml-ui .m-lg-1{margin:.25rem!important}div.tsml-ui .m-lg-2{margin:.5rem!important}div.tsml-ui .m-lg-3{margin:1rem!important}div.tsml-ui .m-lg-4{margin:1.5rem!important}div.tsml-ui .m-lg-5{margin:3rem!important}div.tsml-ui .m-lg-auto{margin:auto!important}div.tsml-ui .mx-lg-0{margin-left:0!important;margin-right:0!important}div.tsml-ui .mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}div.tsml-ui .mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}div.tsml-ui .mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}div.tsml-ui .mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}div.tsml-ui .mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}div.tsml-ui .mx-lg-auto{margin-left:auto!important;margin-right:auto!important}div.tsml-ui .my-lg-0{margin-bottom:0!important;margin-top:0!important}div.tsml-ui .my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}div.tsml-ui .my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.tsml-ui .my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}div.tsml-ui .my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}div.tsml-ui .my-lg-5{margin-bottom:3rem!important;margin-top:3rem!important}div.tsml-ui .my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}div.tsml-ui .mt-lg-0{margin-top:0!important}div.tsml-ui .mt-lg-1{margin-top:.25rem!important}div.tsml-ui .mt-lg-2{margin-top:.5rem!important}div.tsml-ui .mt-lg-3{margin-top:1rem!important}div.tsml-ui .mt-lg-4{margin-top:1.5rem!important}div.tsml-ui .mt-lg-5{margin-top:3rem!important}div.tsml-ui .mt-lg-auto{margin-top:auto!important}div.tsml-ui .me-lg-0{margin-right:0!important}div.tsml-ui .me-lg-1{margin-right:.25rem!important}div.tsml-ui .me-lg-2{margin-right:.5rem!important}div.tsml-ui .me-lg-3{margin-right:1rem!important}div.tsml-ui .me-lg-4{margin-right:1.5rem!important}div.tsml-ui .me-lg-5{margin-right:3rem!important}div.tsml-ui .me-lg-auto{margin-right:auto!important}div.tsml-ui .mb-lg-0{margin-bottom:0!important}div.tsml-ui .mb-lg-1{margin-bottom:.25rem!important}div.tsml-ui .mb-lg-2{margin-bottom:.5rem!important}div.tsml-ui .mb-lg-3{margin-bottom:1rem!important}div.tsml-ui .mb-lg-4{margin-bottom:1.5rem!important}div.tsml-ui .mb-lg-5{margin-bottom:3rem!important}div.tsml-ui .mb-lg-auto{margin-bottom:auto!important}div.tsml-ui .ms-lg-0{margin-left:0!important}div.tsml-ui .ms-lg-1{margin-left:.25rem!important}div.tsml-ui .ms-lg-2{margin-left:.5rem!important}div.tsml-ui .ms-lg-3{margin-left:1rem!important}div.tsml-ui .ms-lg-4{margin-left:1.5rem!important}div.tsml-ui .ms-lg-5{margin-left:3rem!important}div.tsml-ui .ms-lg-auto{margin-left:auto!important}div.tsml-ui .p-lg-0{padding:0!important}div.tsml-ui .p-lg-1{padding:.25rem!important}div.tsml-ui .p-lg-2{padding:.5rem!important}div.tsml-ui .p-lg-3{padding:1rem!important}div.tsml-ui .p-lg-4{padding:1.5rem!important}div.tsml-ui .p-lg-5{padding:3rem!important}div.tsml-ui .px-lg-0{padding-left:0!important;padding-right:0!important}div.tsml-ui .px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}div.tsml-ui .px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}div.tsml-ui .px-lg-3{padding-left:1rem!important;padding-right:1rem!important}div.tsml-ui .px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}div.tsml-ui .px-lg-5{padding-left:3rem!important;padding-right:3rem!important}div.tsml-ui .py-lg-0{padding-bottom:0!important;padding-top:0!important}div.tsml-ui .py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.tsml-ui .py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.tsml-ui .py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}div.tsml-ui .py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.tsml-ui .py-lg-5{padding-bottom:3rem!important;padding-top:3rem!important}div.tsml-ui .pt-lg-0{padding-top:0!important}div.tsml-ui .pt-lg-1{padding-top:.25rem!important}div.tsml-ui .pt-lg-2{padding-top:.5rem!important}div.tsml-ui .pt-lg-3{padding-top:1rem!important}div.tsml-ui .pt-lg-4{padding-top:1.5rem!important}div.tsml-ui .pt-lg-5{padding-top:3rem!important}div.tsml-ui .pe-lg-0{padding-right:0!important}div.tsml-ui .pe-lg-1{padding-right:.25rem!important}div.tsml-ui .pe-lg-2{padding-right:.5rem!important}div.tsml-ui .pe-lg-3{padding-right:1rem!important}div.tsml-ui .pe-lg-4{padding-right:1.5rem!important}div.tsml-ui .pe-lg-5{padding-right:3rem!important}div.tsml-ui .pb-lg-0{padding-bottom:0!important}div.tsml-ui .pb-lg-1{padding-bottom:.25rem!important}div.tsml-ui .pb-lg-2{padding-bottom:.5rem!important}div.tsml-ui .pb-lg-3{padding-bottom:1rem!important}div.tsml-ui .pb-lg-4{padding-bottom:1.5rem!important}div.tsml-ui .pb-lg-5{padding-bottom:3rem!important}div.tsml-ui .ps-lg-0{padding-left:0!important}div.tsml-ui .ps-lg-1{padding-left:.25rem!important}div.tsml-ui .ps-lg-2{padding-left:.5rem!important}div.tsml-ui .ps-lg-3{padding-left:1rem!important}div.tsml-ui .ps-lg-4{padding-left:1.5rem!important}div.tsml-ui .ps-lg-5{padding-left:3rem!important}div.tsml-ui .text-lg-start{text-align:left!important}div.tsml-ui .text-lg-end{text-align:right!important}div.tsml-ui .text-lg-center{text-align:center!important}}@media (min-width:1200px){div.tsml-ui .float-xl-start{float:left!important}div.tsml-ui .float-xl-end{float:right!important}div.tsml-ui .float-xl-none{float:none!important}div.tsml-ui .d-xl-inline{display:inline!important}div.tsml-ui .d-xl-inline-block{display:inline-block!important}div.tsml-ui .d-xl-block{display:block!important}div.tsml-ui .d-xl-grid{display:grid!important}div.tsml-ui .d-xl-table{display:table!important}div.tsml-ui .d-xl-table-row{display:table-row!important}div.tsml-ui .d-xl-table-cell{display:table-cell!important}div.tsml-ui .d-xl-flex{display:flex!important}div.tsml-ui .d-xl-inline-flex{display:inline-flex!important}div.tsml-ui .d-xl-none{display:none!important}div.tsml-ui .flex-xl-fill{flex:1 1 auto!important}div.tsml-ui .flex-xl-row{flex-direction:row!important}div.tsml-ui .flex-xl-column{flex-direction:column!important}div.tsml-ui .flex-xl-row-reverse{flex-direction:row-reverse!important}div.tsml-ui .flex-xl-column-reverse{flex-direction:column-reverse!important}div.tsml-ui .flex-xl-grow-0{flex-grow:0!important}div.tsml-ui .flex-xl-grow-1{flex-grow:1!important}div.tsml-ui .flex-xl-shrink-0{flex-shrink:0!important}div.tsml-ui .flex-xl-shrink-1{flex-shrink:1!important}div.tsml-ui .flex-xl-wrap{flex-wrap:wrap!important}div.tsml-ui .flex-xl-nowrap{flex-wrap:nowrap!important}div.tsml-ui .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}div.tsml-ui .gap-xl-0{gap:0!important}div.tsml-ui .gap-xl-1{gap:.25rem!important}div.tsml-ui .gap-xl-2{gap:.5rem!important}div.tsml-ui .gap-xl-3{gap:1rem!important}div.tsml-ui .gap-xl-4{gap:1.5rem!important}div.tsml-ui .gap-xl-5{gap:3rem!important}div.tsml-ui .justify-content-xl-start{justify-content:flex-start!important}div.tsml-ui .justify-content-xl-end{justify-content:flex-end!important}div.tsml-ui .justify-content-xl-center{justify-content:center!important}div.tsml-ui .justify-content-xl-between{justify-content:space-between!important}div.tsml-ui .justify-content-xl-around{justify-content:space-around!important}div.tsml-ui .justify-content-xl-evenly{justify-content:space-evenly!important}div.tsml-ui .align-items-xl-start{align-items:flex-start!important}div.tsml-ui .align-items-xl-end{align-items:flex-end!important}div.tsml-ui .align-items-xl-center{align-items:center!important}div.tsml-ui .align-items-xl-baseline{align-items:baseline!important}div.tsml-ui .align-items-xl-stretch{align-items:stretch!important}div.tsml-ui .align-content-xl-start{align-content:flex-start!important}div.tsml-ui .align-content-xl-end{align-content:flex-end!important}div.tsml-ui .align-content-xl-center{align-content:center!important}div.tsml-ui .align-content-xl-between{align-content:space-between!important}div.tsml-ui .align-content-xl-around{align-content:space-around!important}div.tsml-ui .align-content-xl-stretch{align-content:stretch!important}div.tsml-ui .align-self-xl-auto{align-self:auto!important}div.tsml-ui .align-self-xl-start{align-self:flex-start!important}div.tsml-ui .align-self-xl-end{align-self:flex-end!important}div.tsml-ui .align-self-xl-center{align-self:center!important}div.tsml-ui .align-self-xl-baseline{align-self:baseline!important}div.tsml-ui .align-self-xl-stretch{align-self:stretch!important}div.tsml-ui .order-xl-first{order:-1!important}div.tsml-ui .order-xl-0{order:0!important}div.tsml-ui .order-xl-1{order:1!important}div.tsml-ui .order-xl-2{order:2!important}div.tsml-ui .order-xl-3{order:3!important}div.tsml-ui .order-xl-4{order:4!important}div.tsml-ui .order-xl-5{order:5!important}div.tsml-ui .order-xl-last{order:6!important}div.tsml-ui .m-xl-0{margin:0!important}div.tsml-ui .m-xl-1{margin:.25rem!important}div.tsml-ui .m-xl-2{margin:.5rem!important}div.tsml-ui .m-xl-3{margin:1rem!important}div.tsml-ui .m-xl-4{margin:1.5rem!important}div.tsml-ui .m-xl-5{margin:3rem!important}div.tsml-ui .m-xl-auto{margin:auto!important}div.tsml-ui .mx-xl-0{margin-left:0!important;margin-right:0!important}div.tsml-ui .mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}div.tsml-ui .mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}div.tsml-ui .mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}div.tsml-ui .mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}div.tsml-ui .mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}div.tsml-ui .mx-xl-auto{margin-left:auto!important;margin-right:auto!important}div.tsml-ui .my-xl-0{margin-bottom:0!important;margin-top:0!important}div.tsml-ui .my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}div.tsml-ui .my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.tsml-ui .my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}div.tsml-ui .my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}div.tsml-ui .my-xl-5{margin-bottom:3rem!important;margin-top:3rem!important}div.tsml-ui .my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}div.tsml-ui .mt-xl-0{margin-top:0!important}div.tsml-ui .mt-xl-1{margin-top:.25rem!important}div.tsml-ui .mt-xl-2{margin-top:.5rem!important}div.tsml-ui .mt-xl-3{margin-top:1rem!important}div.tsml-ui .mt-xl-4{margin-top:1.5rem!important}div.tsml-ui .mt-xl-5{margin-top:3rem!important}div.tsml-ui .mt-xl-auto{margin-top:auto!important}div.tsml-ui .me-xl-0{margin-right:0!important}div.tsml-ui .me-xl-1{margin-right:.25rem!important}div.tsml-ui .me-xl-2{margin-right:.5rem!important}div.tsml-ui .me-xl-3{margin-right:1rem!important}div.tsml-ui .me-xl-4{margin-right:1.5rem!important}div.tsml-ui .me-xl-5{margin-right:3rem!important}div.tsml-ui .me-xl-auto{margin-right:auto!important}div.tsml-ui .mb-xl-0{margin-bottom:0!important}div.tsml-ui .mb-xl-1{margin-bottom:.25rem!important}div.tsml-ui .mb-xl-2{margin-bottom:.5rem!important}div.tsml-ui .mb-xl-3{margin-bottom:1rem!important}div.tsml-ui .mb-xl-4{margin-bottom:1.5rem!important}div.tsml-ui .mb-xl-5{margin-bottom:3rem!important}div.tsml-ui .mb-xl-auto{margin-bottom:auto!important}div.tsml-ui .ms-xl-0{margin-left:0!important}div.tsml-ui .ms-xl-1{margin-left:.25rem!important}div.tsml-ui .ms-xl-2{margin-left:.5rem!important}div.tsml-ui .ms-xl-3{margin-left:1rem!important}div.tsml-ui .ms-xl-4{margin-left:1.5rem!important}div.tsml-ui .ms-xl-5{margin-left:3rem!important}div.tsml-ui .ms-xl-auto{margin-left:auto!important}div.tsml-ui .p-xl-0{padding:0!important}div.tsml-ui .p-xl-1{padding:.25rem!important}div.tsml-ui .p-xl-2{padding:.5rem!important}div.tsml-ui .p-xl-3{padding:1rem!important}div.tsml-ui .p-xl-4{padding:1.5rem!important}div.tsml-ui .p-xl-5{padding:3rem!important}div.tsml-ui .px-xl-0{padding-left:0!important;padding-right:0!important}div.tsml-ui .px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}div.tsml-ui .px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}div.tsml-ui .px-xl-3{padding-left:1rem!important;padding-right:1rem!important}div.tsml-ui .px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}div.tsml-ui .px-xl-5{padding-left:3rem!important;padding-right:3rem!important}div.tsml-ui .py-xl-0{padding-bottom:0!important;padding-top:0!important}div.tsml-ui .py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.tsml-ui .py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.tsml-ui .py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}div.tsml-ui .py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.tsml-ui .py-xl-5{padding-bottom:3rem!important;padding-top:3rem!important}div.tsml-ui .pt-xl-0{padding-top:0!important}div.tsml-ui .pt-xl-1{padding-top:.25rem!important}div.tsml-ui .pt-xl-2{padding-top:.5rem!important}div.tsml-ui .pt-xl-3{padding-top:1rem!important}div.tsml-ui .pt-xl-4{padding-top:1.5rem!important}div.tsml-ui .pt-xl-5{padding-top:3rem!important}div.tsml-ui .pe-xl-0{padding-right:0!important}div.tsml-ui .pe-xl-1{padding-right:.25rem!important}div.tsml-ui .pe-xl-2{padding-right:.5rem!important}div.tsml-ui .pe-xl-3{padding-right:1rem!important}div.tsml-ui .pe-xl-4{padding-right:1.5rem!important}div.tsml-ui .pe-xl-5{padding-right:3rem!important}div.tsml-ui .pb-xl-0{padding-bottom:0!important}div.tsml-ui .pb-xl-1{padding-bottom:.25rem!important}div.tsml-ui .pb-xl-2{padding-bottom:.5rem!important}div.tsml-ui .pb-xl-3{padding-bottom:1rem!important}div.tsml-ui .pb-xl-4{padding-bottom:1.5rem!important}div.tsml-ui .pb-xl-5{padding-bottom:3rem!important}div.tsml-ui .ps-xl-0{padding-left:0!important}div.tsml-ui .ps-xl-1{padding-left:.25rem!important}div.tsml-ui .ps-xl-2{padding-left:.5rem!important}div.tsml-ui .ps-xl-3{padding-left:1rem!important}div.tsml-ui .ps-xl-4{padding-left:1.5rem!important}div.tsml-ui .ps-xl-5{padding-left:3rem!important}div.tsml-ui .text-xl-start{text-align:left!important}div.tsml-ui .text-xl-end{text-align:right!important}div.tsml-ui .text-xl-center{text-align:center!important}}@media (min-width:1400px){div.tsml-ui .float-xxl-start{float:left!important}div.tsml-ui .float-xxl-end{float:right!important}div.tsml-ui .float-xxl-none{float:none!important}div.tsml-ui .d-xxl-inline{display:inline!important}div.tsml-ui .d-xxl-inline-block{display:inline-block!important}div.tsml-ui .d-xxl-block{display:block!important}div.tsml-ui .d-xxl-grid{display:grid!important}div.tsml-ui .d-xxl-table{display:table!important}div.tsml-ui .d-xxl-table-row{display:table-row!important}div.tsml-ui .d-xxl-table-cell{display:table-cell!important}div.tsml-ui .d-xxl-flex{display:flex!important}div.tsml-ui .d-xxl-inline-flex{display:inline-flex!important}div.tsml-ui .d-xxl-none{display:none!important}div.tsml-ui .flex-xxl-fill{flex:1 1 auto!important}div.tsml-ui .flex-xxl-row{flex-direction:row!important}div.tsml-ui .flex-xxl-column{flex-direction:column!important}div.tsml-ui .flex-xxl-row-reverse{flex-direction:row-reverse!important}div.tsml-ui .flex-xxl-column-reverse{flex-direction:column-reverse!important}div.tsml-ui .flex-xxl-grow-0{flex-grow:0!important}div.tsml-ui .flex-xxl-grow-1{flex-grow:1!important}div.tsml-ui .flex-xxl-shrink-0{flex-shrink:0!important}div.tsml-ui .flex-xxl-shrink-1{flex-shrink:1!important}div.tsml-ui .flex-xxl-wrap{flex-wrap:wrap!important}div.tsml-ui .flex-xxl-nowrap{flex-wrap:nowrap!important}div.tsml-ui .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}div.tsml-ui .gap-xxl-0{gap:0!important}div.tsml-ui .gap-xxl-1{gap:.25rem!important}div.tsml-ui .gap-xxl-2{gap:.5rem!important}div.tsml-ui .gap-xxl-3{gap:1rem!important}div.tsml-ui .gap-xxl-4{gap:1.5rem!important}div.tsml-ui .gap-xxl-5{gap:3rem!important}div.tsml-ui .justify-content-xxl-start{justify-content:flex-start!important}div.tsml-ui .justify-content-xxl-end{justify-content:flex-end!important}div.tsml-ui .justify-content-xxl-center{justify-content:center!important}div.tsml-ui .justify-content-xxl-between{justify-content:space-between!important}div.tsml-ui .justify-content-xxl-around{justify-content:space-around!important}div.tsml-ui .justify-content-xxl-evenly{justify-content:space-evenly!important}div.tsml-ui .align-items-xxl-start{align-items:flex-start!important}div.tsml-ui .align-items-xxl-end{align-items:flex-end!important}div.tsml-ui .align-items-xxl-center{align-items:center!important}div.tsml-ui .align-items-xxl-baseline{align-items:baseline!important}div.tsml-ui .align-items-xxl-stretch{align-items:stretch!important}div.tsml-ui .align-content-xxl-start{align-content:flex-start!important}div.tsml-ui .align-content-xxl-end{align-content:flex-end!important}div.tsml-ui .align-content-xxl-center{align-content:center!important}div.tsml-ui .align-content-xxl-between{align-content:space-between!important}div.tsml-ui .align-content-xxl-around{align-content:space-around!important}div.tsml-ui .align-content-xxl-stretch{align-content:stretch!important}div.tsml-ui .align-self-xxl-auto{align-self:auto!important}div.tsml-ui .align-self-xxl-start{align-self:flex-start!important}div.tsml-ui .align-self-xxl-end{align-self:flex-end!important}div.tsml-ui .align-self-xxl-center{align-self:center!important}div.tsml-ui .align-self-xxl-baseline{align-self:baseline!important}div.tsml-ui .align-self-xxl-stretch{align-self:stretch!important}div.tsml-ui .order-xxl-first{order:-1!important}div.tsml-ui .order-xxl-0{order:0!important}div.tsml-ui .order-xxl-1{order:1!important}div.tsml-ui .order-xxl-2{order:2!important}div.tsml-ui .order-xxl-3{order:3!important}div.tsml-ui .order-xxl-4{order:4!important}div.tsml-ui .order-xxl-5{order:5!important}div.tsml-ui .order-xxl-last{order:6!important}div.tsml-ui .m-xxl-0{margin:0!important}div.tsml-ui .m-xxl-1{margin:.25rem!important}div.tsml-ui .m-xxl-2{margin:.5rem!important}div.tsml-ui .m-xxl-3{margin:1rem!important}div.tsml-ui .m-xxl-4{margin:1.5rem!important}div.tsml-ui .m-xxl-5{margin:3rem!important}div.tsml-ui .m-xxl-auto{margin:auto!important}div.tsml-ui .mx-xxl-0{margin-left:0!important;margin-right:0!important}div.tsml-ui .mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}div.tsml-ui .mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}div.tsml-ui .mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}div.tsml-ui .mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}div.tsml-ui .mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}div.tsml-ui .mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}div.tsml-ui .my-xxl-0{margin-bottom:0!important;margin-top:0!important}div.tsml-ui .my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}div.tsml-ui .my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.tsml-ui .my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}div.tsml-ui .my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}div.tsml-ui .my-xxl-5{margin-bottom:3rem!important;margin-top:3rem!important}div.tsml-ui .my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}div.tsml-ui .mt-xxl-0{margin-top:0!important}div.tsml-ui .mt-xxl-1{margin-top:.25rem!important}div.tsml-ui .mt-xxl-2{margin-top:.5rem!important}div.tsml-ui .mt-xxl-3{margin-top:1rem!important}div.tsml-ui .mt-xxl-4{margin-top:1.5rem!important}div.tsml-ui .mt-xxl-5{margin-top:3rem!important}div.tsml-ui .mt-xxl-auto{margin-top:auto!important}div.tsml-ui .me-xxl-0{margin-right:0!important}div.tsml-ui .me-xxl-1{margin-right:.25rem!important}div.tsml-ui .me-xxl-2{margin-right:.5rem!important}div.tsml-ui .me-xxl-3{margin-right:1rem!important}div.tsml-ui .me-xxl-4{margin-right:1.5rem!important}div.tsml-ui .me-xxl-5{margin-right:3rem!important}div.tsml-ui .me-xxl-auto{margin-right:auto!important}div.tsml-ui .mb-xxl-0{margin-bottom:0!important}div.tsml-ui .mb-xxl-1{margin-bottom:.25rem!important}div.tsml-ui .mb-xxl-2{margin-bottom:.5rem!important}div.tsml-ui .mb-xxl-3{margin-bottom:1rem!important}div.tsml-ui .mb-xxl-4{margin-bottom:1.5rem!important}div.tsml-ui .mb-xxl-5{margin-bottom:3rem!important}div.tsml-ui .mb-xxl-auto{margin-bottom:auto!important}div.tsml-ui .ms-xxl-0{margin-left:0!important}div.tsml-ui .ms-xxl-1{margin-left:.25rem!important}div.tsml-ui .ms-xxl-2{margin-left:.5rem!important}div.tsml-ui .ms-xxl-3{margin-left:1rem!important}div.tsml-ui .ms-xxl-4{margin-left:1.5rem!important}div.tsml-ui .ms-xxl-5{margin-left:3rem!important}div.tsml-ui .ms-xxl-auto{margin-left:auto!important}div.tsml-ui .p-xxl-0{padding:0!important}div.tsml-ui .p-xxl-1{padding:.25rem!important}div.tsml-ui .p-xxl-2{padding:.5rem!important}div.tsml-ui .p-xxl-3{padding:1rem!important}div.tsml-ui .p-xxl-4{padding:1.5rem!important}div.tsml-ui .p-xxl-5{padding:3rem!important}div.tsml-ui .px-xxl-0{padding-left:0!important;padding-right:0!important}div.tsml-ui .px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}div.tsml-ui .px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}div.tsml-ui .px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}div.tsml-ui .px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}div.tsml-ui .px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}div.tsml-ui .py-xxl-0{padding-bottom:0!important;padding-top:0!important}div.tsml-ui .py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.tsml-ui .py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.tsml-ui .py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}div.tsml-ui .py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.tsml-ui .py-xxl-5{padding-bottom:3rem!important;padding-top:3rem!important}div.tsml-ui .pt-xxl-0{padding-top:0!important}div.tsml-ui .pt-xxl-1{padding-top:.25rem!important}div.tsml-ui .pt-xxl-2{padding-top:.5rem!important}div.tsml-ui .pt-xxl-3{padding-top:1rem!important}div.tsml-ui .pt-xxl-4{padding-top:1.5rem!important}div.tsml-ui .pt-xxl-5{padding-top:3rem!important}div.tsml-ui .pe-xxl-0{padding-right:0!important}div.tsml-ui .pe-xxl-1{padding-right:.25rem!important}div.tsml-ui .pe-xxl-2{padding-right:.5rem!important}div.tsml-ui .pe-xxl-3{padding-right:1rem!important}div.tsml-ui .pe-xxl-4{padding-right:1.5rem!important}div.tsml-ui .pe-xxl-5{padding-right:3rem!important}div.tsml-ui .pb-xxl-0{padding-bottom:0!important}div.tsml-ui .pb-xxl-1{padding-bottom:.25rem!important}div.tsml-ui .pb-xxl-2{padding-bottom:.5rem!important}div.tsml-ui .pb-xxl-3{padding-bottom:1rem!important}div.tsml-ui .pb-xxl-4{padding-bottom:1.5rem!important}div.tsml-ui .pb-xxl-5{padding-bottom:3rem!important}div.tsml-ui .ps-xxl-0{padding-left:0!important}div.tsml-ui .ps-xxl-1{padding-left:.25rem!important}div.tsml-ui .ps-xxl-2{padding-left:.5rem!important}div.tsml-ui .ps-xxl-3{padding-left:1rem!important}div.tsml-ui .ps-xxl-4{padding-left:1.5rem!important}div.tsml-ui .ps-xxl-5{padding-left:3rem!important}div.tsml-ui .text-xxl-start{text-align:left!important}div.tsml-ui .text-xxl-end{text-align:right!important}div.tsml-ui .text-xxl-center{text-align:center!important}}@media (min-width:1200px){div.tsml-ui .fs-1{font-size:2.5rem!important}div.tsml-ui .fs-2{font-size:2rem!important}div.tsml-ui .fs-3{font-size:1.75rem!important}div.tsml-ui .fs-4{font-size:1.5rem!important}}@media print{div.tsml-ui .d-print-inline{display:inline!important}div.tsml-ui .d-print-inline-block{display:inline-block!important}div.tsml-ui .d-print-block{display:block!important}div.tsml-ui .d-print-grid{display:grid!important}div.tsml-ui .d-print-table{display:table!important}div.tsml-ui .d-print-table-row{display:table-row!important}div.tsml-ui .d-print-table-cell{display:table-cell!important}div.tsml-ui .d-print-flex{display:flex!important}div.tsml-ui .d-print-inline-flex{display:inline-flex!important}div.tsml-ui .d-print-none{display:none!important}}div.tsml-ui .h1,div.tsml-ui .h2,div.tsml-ui .h3,div.tsml-ui .h4,div.tsml-ui .h5,div.tsml-ui .h6,div.tsml-ui h1,div.tsml-ui h2,div.tsml-ui h3,div.tsml-ui h4,div.tsml-ui h5,div.tsml-ui h6,div.tsml-ui ol,div.tsml-ui p,div.tsml-ui ul{margin:0;padding:0;text-align:left;text-transform:none}div.tsml-ui .h1,div.tsml-ui h1{font-size:2.5rem!important}div.tsml-ui .h2,div.tsml-ui h2{font-size:2.25rem!important}div.tsml-ui .h3,div.tsml-ui h3{font-size:2rem!important}div.tsml-ui .h4,div.tsml-ui h4{font-size:1.5rem!important}div.tsml-ui .h5,div.tsml-ui h5{font-size:1.25rem!important}div.tsml-ui .h6,div.tsml-ui h6{font-size:1rem!important;letter-spacing:normal!important}div.tsml-ui .btn-group-sm>.btn,div.tsml-ui .btn-sm{font-size:.875rem!important}div.tsml-ui .badge,div.tsml-ui .mapboxgl-ctrl-attrib-inner{font-size:.75rem!important}div.tsml-ui .btn{cursor:inherit}div.tsml-ui .btn[href]{cursor:pointer}div.tsml-ui .online.small,div.tsml-ui a.btn.online,div.tsml-ui small.online{background-color:#cfe2ff;border-color:#cfe2ff;color:#0a58ca!important}div.tsml-ui .online[href].small,div.tsml-ui a.btn.online[href],div.tsml-ui small.online[href]{border-color:#9ec5fe}div.tsml-ui .online[href].small:hover,div.tsml-ui a.btn.online[href]:hover,div.tsml-ui small.online[href]:hover{background-color:#3d8bfd;color:#fff!important}div.tsml-ui .in-person.small,div.tsml-ui a.btn.in-person,div.tsml-ui small.in-person{background-color:#d1e7dd;border-color:#d1e7dd;color:#146c43!important}div.tsml-ui .in-person[href].small,div.tsml-ui a.btn.in-person[href],div.tsml-ui small.in-person[href]{border-color:#a3cfbb}div.tsml-ui .in-person[href].small:hover,div.tsml-ui a.btn.in-person[href]:hover,div.tsml-ui small.in-person[href]:hover{background-color:#479f76;color:#fff!important}div.tsml-ui .inactive.small,div.tsml-ui a.btn.inactive,div.tsml-ui small.inactive{background-color:#f8d7da;border-color:#f8d7da;color:#b02a37!important}div.tsml-ui .inactive[href].small,div.tsml-ui a.btn.inactive[href],div.tsml-ui small.inactive[href]{border-color:#f1aeb5}div.tsml-ui .inactive[href].small:hover,div.tsml-ui a.btn.inactive[href]:hover,div.tsml-ui small.inactive[href]:hover{background-color:#e35d6a;color:#fff!important}div.tsml-ui .bg-light{background-color:#f8f9fa!important}div.tsml-ui .bg-secondary{background-color:#6c757d!important}div.tsml-ui .text-white{color:#fff!important}div.tsml-ui .text-dark{color:#343a40!important}div.tsml-ui .container-fluid,div.tsml-ui .container-lg,div.tsml-ui .container-md,div.tsml-ui .container-sm,div.tsml-ui .container-xl,div.tsml-ui .container-xxl{padding-left:var(--bs-gutter-x,.75rem)!important;padding-right:var(--bs-gutter-x,.75rem)!important}@media (min-width:768px){div.tsml-ui .container-fluid,div.tsml-ui .container-lg,div.tsml-ui .container-md,div.tsml-ui .container-sm,div.tsml-ui .container-xl,div.tsml-ui .container-xxl{min-height:100%}}div.tsml-ui .cursor-pointer{cursor:pointer}div.tsml-ui .list-group{overflow-x:hidden}div.tsml-ui .list-group .list-group-item+.list-group-item{border-top-width:0}div.tsml-ui .controls{flex:none}div.tsml-ui .controls input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button}div.tsml-ui .controls .dropdown .dropdown-menu{min-width:100%}div.tsml-ui .controls .dropdown .children a{padding-left:2rem}div.tsml-ui .controls .dropdown .children .children a{padding-left:4rem}div.tsml-ui .controls .dropdown .children .children .children a{padding-left:6rem}div.tsml-ui .controls .dropdown-menu-end{right:0}div.tsml-ui .meeting .map{height:100%;max-height:1000px;overflow:hidden;position:relative}div.tsml-ui .map{min-height:500px}div.tsml-ui .map .mapboxgl-popup{max-width:85%;width:320px;z-index:100}div.tsml-ui .map .mapboxgl-popup .mapboxgl-popup-content{padding:.75rem;position:relative}div.tsml-ui .map .mapboxgl-popup .mapboxgl-popup-content .list-group{max-height:250px}div.tsml-ui .map .mapboxgl-popup .mapboxgl-popup-content .list-group .list-group-item{font-size:.9rem;padding:.5rem}div.tsml-ui .map .mapboxgl-popup .mapboxgl-popup-content .mapboxgl-popup-close-button{background:#fff;border:1px solid #dee2e6;border-radius:100%;color:#adb5bd;font-size:1.5rem;height:30px;line-height:1;padding:0 .25rem .25rem;position:absolute;right:-10px;top:-10px;width:30px}div.tsml-ui .map .mapboxgl-popup .mapboxgl-popup-content .mapboxgl-popup-close-button:hover{background-color:inherit;color:#343a40}div.tsml-ui table.table{border-width:0;table-layout:auto}div.tsml-ui table.table td{border:0;vertical-align:middle}div.tsml-ui table.table tr{border-bottom:1px solid #dee2e6}div.tsml-ui table.table thead tr{border-bottom:1px solid #ced4da}div.tsml-ui table.table .distance{text-align:right}div.tsml-ui table.table td:first-child,div.tsml-ui table.table tr th:first-child{padding-left:1rem}div.tsml-ui table.table.table-striped>tbody>tr:nth-of-type(odd){background-color:#f8f9fa}div.tsml-ui table.table.table-striped>tbody>tr:nth-of-type(odd) td,div.tsml-ui table.table.table-striped>tbody>tr:nth-of-type(odd) time{box-shadow:none}div.tsml-ui table.table.clickable-rows tbody tr:hover a{color:#084298}@media (max-width:767.98px){div.tsml-ui table.table tr{padding:.5rem 1rem;position:relative}div.tsml-ui table.table tr td{border:0;padding:0 0 0 6rem}div.tsml-ui table.table tr td.time{left:1rem;padding-left:0;position:absolute;width:5.5rem}div.tsml-ui table.table tr td.distance{font-size:1.5rem;left:1rem;padding-left:0;position:absolute;top:3.5rem}}#wpadminbar #wp-admin-bar-edit-meeting>.ab-item:before{content:\"\\f464\";top:2px}body.theme-twentyfourteen #page:before,body.theme-twentyfourteen #secondary,body.theme-twentyfourteen .entry-header,body.twentyfourteen #page:before,body.twentyfourteen #secondary,body.twentyfourteen .entry-header{display:none}body.theme-twentyfourteen #primary,body.twentyfourteen #primary{padding-top:0}body.theme-twentyfourteen #content,body.twentyfourteen #content{margin-left:0}body.theme-twentyfourteen .entry-content,body.twentyfourteen .entry-content{max-width:none;min-height:100vh;padding:0!important}body.theme-twentyfourteen #tsml-ui table,body.twentyfourteen #tsml-ui table{font-size:1rem!important}body.theme-twentyfourteen #tsml-ui table th,body.twentyfourteen #tsml-ui table th{text-transform:none}body.theme-twentyfourteen #tsml-ui button,body.twentyfourteen #tsml-ui button{font-weight:inherit}body[class*=avada-] .fusion-tb-header{margin-bottom:0!important}body[class*=avada-] .post-content,body[class*=avada-] main#main{padding:0!important}body[class*=avada-] .avada-page-titlebar-wrapper{display:none}",""]);const r=n},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=e(t);return t[2]?"@media ".concat(t[2]," {").concat(o,"}"):o})).join("")},t.i=function(e,o,i){"string"==typeof e&&(e=[[null,e,""]]);var n={};if(i)for(var r=0;r {"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===o}(e)}(e)};var o="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(e,t){return!1!==t.clone&&t.isMergeableObject(e)?p((o=e,Array.isArray(o)?[]:{}),e,t):e;var o}function n(e,t,o){return e.concat(t).map((function(e){return i(e,o)}))}function r(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function a(e,t){try{return t in e}catch(e){return!1}}function s(e,t,o){var n={};return o.isMergeableObject(e)&&r(e).forEach((function(t){n[t]=i(e[t],o)})),r(t).forEach((function(r){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,r)||(a(e,r)&&o.isMergeableObject(t[r])?n[r]=function(e,t){if(!t.customMerge)return p;var o=t.customMerge(e);return"function"==typeof o?o:p}(r,o)(e[r],t[r],o):n[r]=i(t[r],o))})),n}function p(e,o,r){(r=r||{}).arrayMerge=r.arrayMerge||n,r.isMergeableObject=r.isMergeableObject||t,r.cloneUnlessOtherwiseSpecified=i;var a=Array.isArray(o);return a===Array.isArray(e)?a?r.arrayMerge(e,o,r):s(e,o,r):i(o,r)}p.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,o){return p(e,o,t)}),{})};var c=p;e.exports=c},840:(e,t,o)=>{var i;!function(n,r,a,s){"use strict";var p,c=["","webkit","Moz","MS","ms","o"],l=r.createElement("div"),b=Math.round,d=Math.abs,u=Date.now;function M(e,t,o){return setTimeout(_(e,o),t)}function z(e,t,o){return!!Array.isArray(e)&&(m(e,o[t],o),!0)}function m(e,t,o){var i;if(e)if(e.forEach)e.forEach(t,o);else if(e.length!==s)for(i=0;i \s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",r=n.console&&(n.console.warn||n.console.log);return r&&r.call(n.console,i,o),e.apply(this,arguments)}}p="function"!=typeof Object.assign?function(e){if(e===s||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),o=1;o -1}function w(e){return e.trim().split(/\s+/g)}function L(e,t,o){if(e.indexOf&&!o)return e.indexOf(t);for(var i=0;i o[t]})):i.sort()),i}function k(e,t){for(var o,i,n=t[0].toUpperCase()+t.slice(1),r=0;r 1&&!o.firstMultiple?o.firstMultiple=H(t):1===n&&(o.firstMultiple=!1);var r=o.firstInput,a=o.firstMultiple,p=a?a.center:r.center,c=t.center=U(i);t.timeStamp=u(),t.deltaTime=t.timeStamp-r.timeStamp,t.angle=$(p,c),t.distance=Z(p,c),function(e,t){var o=t.center,i=e.offsetDelta||{},n=e.prevDelta||{},r=e.prevInput||{};1!==t.eventType&&4!==r.eventType||(n=e.prevDelta={x:r.deltaX||0,y:r.deltaY||0},i=e.offsetDelta={x:o.x,y:o.y});t.deltaX=n.x+(o.x-i.x),t.deltaY=n.y+(o.y-i.y)}(o,t),t.offsetDirection=G(t.deltaX,t.deltaY);var l=V(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=l.x,t.overallVelocityY=l.y,t.overallVelocity=d(l.x)>d(l.y)?l.x:l.y,t.scale=a?(b=a.pointers,M=i,Z(M[0],M[1],Y)/Z(b[0],b[1],Y)):1,t.rotation=a?function(e,t){return $(t[1],t[0],Y)+$(e[1],e[0],Y)}(a.pointers,i):0,t.maxPointers=o.prevInput?t.pointers.length>o.prevInput.maxPointers?t.pointers.length:o.prevInput.maxPointers:t.pointers.length,function(e,t){var o,i,n,r,a=e.lastInterval||t,p=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(p>25||a.velocity===s)){var c=t.deltaX-a.deltaX,l=t.deltaY-a.deltaY,b=V(p,c,l);i=b.x,n=b.y,o=d(b.x)>d(b.y)?b.x:b.y,r=G(c,l),e.lastInterval=t}else o=a.velocity,i=a.velocityX,n=a.velocityY,r=a.direction;t.velocity=o,t.velocityX=i,t.velocityY=n,t.direction=r}(o,t);var b,M;var z=e.element;x(t.srcEvent.target,z)&&(z=t.srcEvent.target);t.target=z}(e,o),e.emit("hammer.input",o),e.recognize(o),e.session.prevInput=o}function H(e){for(var t=[],o=0;o =d(t)?e<0?2:4:t<0?8:16}function Z(e,t,o){o||(o=I);var i=t[o[0]]-e[o[0]],n=t[o[1]]-e[o[1]];return Math.sqrt(i*i+n*n)}function $(e,t,o){o||(o=I);var i=t[o[0]]-e[o[0]],n=t[o[1]]-e[o[1]];return 180*Math.atan2(n,i)/Math.PI}j.prototype={handler:function(){},init:function(){this.evEl&&y(this.element,this.evEl,this.domHandler),this.evTarget&&y(this.target,this.evTarget,this.domHandler),this.evWin&&y(S(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&v(this.element,this.evEl,this.domHandler),this.evTarget&&v(this.target,this.evTarget,this.domHandler),this.evWin&&v(S(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},J="mousedown",Q="mousemove mouseup";function ee(){this.evEl=J,this.evWin=Q,this.pressed=!1,j.apply(this,arguments)}A(ee,j,{handler:function(e){var t=K[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:N,srcEvent:e}))}});var te={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},oe={2:C,3:"pen",4:N,5:"kinect"},ie="pointerdown",ne="pointermove pointerup pointercancel";function re(){this.evEl=ie,this.evWin=ne,j.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}n.MSPointerEvent&&!n.PointerEvent&&(ie="MSPointerDown",ne="MSPointerMove MSPointerUp MSPointerCancel"),A(re,j,{handler:function(e){var t=this.store,o=!1,i=e.type.toLowerCase().replace("ms",""),n=te[i],r=oe[e.pointerType]||e.pointerType,a=r==C,s=L(t,e.pointerId,"pointerId");1&n&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&n&&(o=!0),s<0||(t[s]=e,this.callback(this.manager,n,{pointers:t,changedPointers:[e],pointerType:r,srcEvent:e}),o&&t.splice(s,1))}});var ae={touchstart:1,touchmove:2,touchend:4,touchcancel:8},se="touchstart",pe="touchstart touchmove touchend touchcancel";function ce(){this.evTarget=se,this.evWin=pe,this.started=!1,j.apply(this,arguments)}function le(e,t){var o=R(e.touches),i=R(e.changedTouches);return 12&t&&(o=T(o.concat(i),"identifier",!0)),[o,i]}A(ce,j,{handler:function(e){var t=ae[e.type];if(1===t&&(this.started=!0),this.started){var o=le.call(this,e,t);12&t&&o[0].length-o[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:o[0],changedPointers:o[1],pointerType:C,srcEvent:e})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},de="touchstart touchmove touchend touchcancel";function ue(){this.evTarget=de,this.targetIds={},j.apply(this,arguments)}function Me(e,t){var o=R(e.touches),i=this.targetIds;if(3&t&&1===o.length)return i[o[0].identifier]=!0,[o,o];var n,r,a=R(e.changedTouches),s=[],p=this.target;if(r=o.filter((function(e){return x(e.target,p)})),1===t)for(n=0;n -1&&i.splice(e,1)}),2500)}}function Oe(e){for(var t=e.srcEvent.clientX,o=e.srcEvent.clientY,i=0;i -1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,o=this.state;function i(o){t.manager.emit(o,e)}o<8&&i(t.options.event+Te(o)),i(t.options.event),e.additionalEvent&&i(e.additionalEvent),o>=8&&i(t.options.event+Te(o))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Le},canEmit:function(){for(var e=0;e t.threshold&&n&t.direction},attrTest:function(e){return Se.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=ke(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),A(Ee,Se,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ye]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),A(De,Re,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ge]},process:function(e){var t=this.options,o=e.pointers.length===t.pointers,i=e.distance t.time;if(this._input=e,!i||!o||12&e.eventType&&!n)this.reset();else if(1&e.eventType)this.reset(),this._timer=M((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return Le},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),A(Ce,Se,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ye]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),A(Ne,Se,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Xe.prototype.getTouchAction.call(this)},attrTest:function(e){var t,o=this.options.direction;return 30&o?t=e.overallVelocity:6&o?t=e.overallVelocityX:o&P&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&o&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&d(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=ke(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),A(Pe,Re,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[qe]},process:function(e){var t=this.options,o=e.pointers.length===t.pointers,i=e.distance (i=1))return i;for(;or?o=n:i=n,n=.5*(i-o)+o}return n},n.prototype.solve=function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))};var r=a;function a(e,t){this.x=e,this.y=t}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,o=e.y-this.y;return t*t+o*o},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),o=Math.sin(e),i=o*this.x+t*this.y;return this.x=t*this.x-o*this.y,this.y=i,this},_rotateAround:function(e,t){var o=Math.cos(e),i=Math.sin(e),n=t.y+i*(this.x-t.x)+o*(this.y-t.y);return this.x=t.x+o*(this.x-t.x)-i*(this.y-t.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(e){return e instanceof a?e:Array.isArray(e)?new a(e[0],e[1]):e};var s="undefined"!=typeof self?self:{},p=1e-6,c="undefined"!=typeof Float32Array?Float32Array:Array;function l(){var e=new c(9);return c!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function b(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function d(e,t,o){var i=t[0],n=t[1],r=t[2],a=t[3],s=t[4],p=t[5],c=t[6],l=t[7],b=t[8],d=t[9],u=t[10],M=t[11],z=t[12],m=t[13],h=t[14],O=t[15],f=o[0],A=o[1],_=o[2],g=o[3];return e[0]=f*i+A*s+_*b+g*z,e[1]=f*n+A*p+_*d+g*m,e[2]=f*r+A*c+_*u+g*h,e[3]=f*a+A*l+_*M+g*O,e[4]=(f=o[4])*i+(A=o[5])*s+(_=o[6])*b+(g=o[7])*z,e[5]=f*n+A*p+_*d+g*m,e[6]=f*r+A*c+_*u+g*h,e[7]=f*a+A*l+_*M+g*O,e[8]=(f=o[8])*i+(A=o[9])*s+(_=o[10])*b+(g=o[11])*z,e[9]=f*n+A*p+_*d+g*m,e[10]=f*r+A*c+_*u+g*h,e[11]=f*a+A*l+_*M+g*O,e[12]=(f=o[12])*i+(A=o[13])*s+(_=o[14])*b+(g=o[15])*z,e[13]=f*n+A*p+_*d+g*m,e[14]=f*r+A*c+_*u+g*h,e[15]=f*a+A*l+_*M+g*O,e}function u(e,t,o){var i,n,r,a,s,p,c,l,b,d,u,M,z=o[0],m=o[1],h=o[2];return t===e?(e[12]=t[0]*z+t[4]*m+t[8]*h+t[12],e[13]=t[1]*z+t[5]*m+t[9]*h+t[13],e[14]=t[2]*z+t[6]*m+t[10]*h+t[14],e[15]=t[3]*z+t[7]*m+t[11]*h+t[15]):(n=t[1],r=t[2],a=t[3],s=t[4],p=t[5],c=t[6],l=t[7],b=t[8],d=t[9],u=t[10],M=t[11],e[0]=i=t[0],e[1]=n,e[2]=r,e[3]=a,e[4]=s,e[5]=p,e[6]=c,e[7]=l,e[8]=b,e[9]=d,e[10]=u,e[11]=M,e[12]=i*z+s*m+b*h+t[12],e[13]=n*z+p*m+d*h+t[13],e[14]=r*z+c*m+u*h+t[14],e[15]=a*z+l*m+M*h+t[15]),e}function M(e,t,o){var i=o[0],n=o[1],r=o[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function z(e,t,o){var i=Math.sin(o),n=Math.cos(o),r=t[4],a=t[5],s=t[6],p=t[7],c=t[8],l=t[9],b=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=r*n+c*i,e[5]=a*n+l*i,e[6]=s*n+b*i,e[7]=p*n+d*i,e[8]=c*n-r*i,e[9]=l*n-a*i,e[10]=b*n-s*i,e[11]=d*n-p*i,e}function m(e,t,o){var i=Math.sin(o),n=Math.cos(o),r=t[0],a=t[1],s=t[2],p=t[3],c=t[8],l=t[9],b=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=r*n-c*i,e[1]=a*n-l*i,e[2]=s*n-b*i,e[3]=p*n-d*i,e[8]=r*i+c*n,e[9]=a*i+l*n,e[10]=s*i+b*n,e[11]=p*i+d*n,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var h=d;function O(){var e=new c(3);return c!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function f(e){var t=new c(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function A(e){return Math.hypot(e[0],e[1],e[2])}function _(e,t,o){var i=new c(3);return i[0]=e,i[1]=t,i[2]=o,i}function g(e,t,o){return e[0]=t[0]+o[0],e[1]=t[1]+o[1],e[2]=t[2]+o[2],e}function q(e,t,o){return e[0]=t[0]-o[0],e[1]=t[1]-o[1],e[2]=t[2]-o[2],e}function y(e,t,o){return e[0]=t[0]*o[0],e[1]=t[1]*o[1],e[2]=t[2]*o[2],e}function v(e,t,o){return e[0]=Math.max(t[0],o[0]),e[1]=Math.max(t[1],o[1]),e[2]=Math.max(t[2],o[2]),e}function x(e,t,o){return e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e}function W(e,t,o,i){return e[0]=t[0]+o[0]*i,e[1]=t[1]+o[1]*i,e[2]=t[2]+o[2]*i,e}function w(e,t){var o=t[0],i=t[1],n=t[2],r=o*o+i*i+n*n;return r>0&&(r=1/Math.sqrt(r)),e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function L(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function R(e,t,o){var i=t[0],n=t[1],r=t[2],a=o[0],s=o[1],p=o[2];return e[0]=n*p-r*s,e[1]=r*a-i*p,e[2]=i*s-n*a,e}function T(e,t,o){var i=t[0],n=t[1],r=t[2],a=o[3]*i+o[7]*n+o[11]*r+o[15];return e[0]=(o[0]*i+o[4]*n+o[8]*r+o[12])/(a=a||1),e[1]=(o[1]*i+o[5]*n+o[9]*r+o[13])/a,e[2]=(o[2]*i+o[6]*n+o[10]*r+o[14])/a,e}function k(e,t,o){var i=o[0],n=o[1],r=o[2],a=t[0],s=t[1],p=t[2],c=n*p-r*s,l=r*a-i*p,b=i*s-n*a,d=n*b-r*l,u=r*c-i*b,M=i*l-n*c,z=2*o[3];return l*=z,b*=z,u*=2,M*=2,e[0]=a+(c*=z)+(d*=2),e[1]=s+l+u,e[2]=p+b+M,e}var B,S=q,X=y,E=A;function D(e,t,o){var i=t[0],n=t[1],r=t[2],a=t[3];return e[0]=o[0]*i+o[4]*n+o[8]*r+o[12]*a,e[1]=o[1]*i+o[5]*n+o[9]*r+o[13]*a,e[2]=o[2]*i+o[6]*n+o[10]*r+o[14]*a,e[3]=o[3]*i+o[7]*n+o[11]*r+o[15]*a,e}function C(){var e=new c(4);return c!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function N(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function P(e,t,o){o*=.5;var i=t[0],n=t[1],r=t[2],a=t[3],s=Math.sin(o),p=Math.cos(o);return e[0]=i*p+a*s,e[1]=n*p+r*s,e[2]=r*p-n*s,e[3]=a*p-i*s,e}function I(e,t){return e[0]===t[0]&&e[1]===t[1]}O(),B=new c(4),c!=Float32Array&&(B[0]=0,B[1]=0,B[2]=0,B[3]=0),O(),_(1,0,0),_(0,1,0),C(),C(),l(),function(){var e;e=new c(2),c!=Float32Array&&(e[0]=0,e[1]=0)}();const Y=Math.PI/180,j=180/Math.PI;function F(e){return e*Y}function H(e){return e*j}const U=[[0,0],[1,0],[1,1],[0,1]];function V(e){if(e<=0)return 0;if(e>=1)return 1;const t=e*e,o=t*e;return 4*(e<.5?o:3*(e-t)+o-.75)}function G(e,t,i,n){const r=new o(e,t,i,n);return function(e){return r.solve(e)}}const Z=G(.25,.1,.25,1);function $(e,t,o){return Math.min(o,Math.max(t,e))}function K(e,t,o){return(o=$((o-e)/(t-e),0,1))*o*(3-2*o)}function J(e,t,o){const i=o-t,n=((e-t)%i+i)%i+t;return n===t?o:n}function Q(e,t,o){if(!e.length)return o(null,[]);let i=e.length;const n=new Array(e.length);let r=null;e.forEach(((e,a)=>{t(e,((e,t)=>{e&&(r=e),n[a]=t,0==--i&&o(r,n)}))}))}function ee(e){const t=[];for(const o in e)t.push(e[o]);return t}function te(e,...t){for(const o of t)for(const t in o)e[t]=o[t];return e}let oe=1;function ie(){return oe++}function ne(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function re(e){return e<=1?1:Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function ae(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function se(e,t){e.forEach((e=>{t[e]&&(t[e]=t[e].bind(t))}))}function pe(e,t){return-1!==e.indexOf(t,e.length-t.length)}function ce(e,t,o){const i={};for(const n in e)i[n]=t.call(o||this,e[n],n,e);return i}function le(e,t,o){const i={};for(const n in e)t.call(o||this,e[n],n,e)&&(i[n]=e[n]);return i}function be(e){return Array.isArray(e)?e.map(be):"object"==typeof e&&e?ce(e,be):e}const de={};function ue(e){de[e]||("undefined"!=typeof console&&console.warn(e),de[e]=!0)}function Me(e,t,o){return(o.y-e.y)*(t.x-e.x)>(t.y-e.y)*(o.x-e.x)}function ze(e){let t=0;for(let o,i,n=0,r=e.length,a=r-1;n @\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,o,i,n)=>{const r=i||n;return t[o]=!r||r.toLowerCase(),""})),t["max-age"]){const e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t}let Oe,fe,Ae,_e=null;function ge(e){if(null==_e){const t=e.navigator?e.navigator.userAgent:null;_e=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return _e}function qe(e){try{const t=s[e];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(e){return!1}}const ye={now:()=>void 0!==Ae?Ae:s.performance.now(),setNow(e){Ae=e},restoreNow(){Ae=void 0},frame(e){const t=s.requestAnimationFrame(e);return{cancel:()=>s.cancelAnimationFrame(t)}},getImageData(e,t=0){const o=s.document.createElement("canvas"),i=o.getContext("2d");if(!i)throw new Error("failed to create canvas 2d context");return o.width=e.width,o.height=e.height,i.drawImage(e,0,0,e.width,e.height),i.getImageData(-t,-t,e.width+2*t,e.height+2*t)},resolveURL:e=>(Oe||(Oe=s.document.createElement("a")),Oe.href=e,Oe.href),get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==fe&&(fe=s.matchMedia("(prefers-reduced-motion: reduce)")),fe.matches)}};let ve;const xe={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==ve){const e=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{ve=null!=i.env.API_URL_REGEX?new RegExp(i.env.API_URL_REGEX):e}catch(t){ve=e}}return ve},get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},We={supported:!1,testSupport:function(e){!Re&&Le&&(Te?ke(e):we=e)}};let we,Le,Re=!1,Te=!1;function ke(e){const t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,Le),e.isContextLost())return;We.supported=!0}catch(e){}e.deleteTexture(t),Re=!0}s.document&&(Le=s.document.createElement("img"),Le.onload=function(){we&&ke(we),we=null,Te=!0},Le.onerror=function(){Re=!0,we=null},Le.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const Be="01",Se="NO_ACCESS_TOKEN";function Xe(e){return 0===e.indexOf("mapbox:")}function Ee(e){return xe.API_URL_REGEX.test(e)}const De=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function Ce(e){const t=e.match(De);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function Ne(e){const t=e.params.length?`?${e.params.join("&")}`:"";return`${e.protocol}://${e.authority}${e.path}${t}`}function Pe(e){if(!e)return null;const t=e.split(".");if(!t||3!==t.length)return null;try{return JSON.parse(decodeURIComponent(s.atob(t[1]).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(e){return null}}class Ie{constructor(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(e){const t=Pe(xe.ACCESS_TOKEN);let o="";return o=t&&t.u?s.btoa(encodeURIComponent(t.u).replace(/%([0-9A-F]{2})/g,((e,t)=>String.fromCharCode(Number("0x"+t))))):xe.ACCESS_TOKEN||"",e?`mapbox.eventData.${e}:${o}`:`mapbox.eventData:${o}`}fetchEventData(){const e=qe("localStorage"),t=this.getStorageKey(),o=this.getStorageKey("uuid");if(e)try{const e=s.localStorage.getItem(t);e&&(this.eventData=JSON.parse(e));const i=s.localStorage.getItem(o);i&&(this.anonId=i)}catch(e){ue("Unable to read from LocalStorage")}}saveEventData(){const e=qe("localStorage"),t=this.getStorageKey(),o=this.getStorageKey("uuid");if(e)try{s.localStorage.setItem(o,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(t,JSON.stringify(this.eventData))}catch(e){ue("Unable to write to LocalStorage")}}processRequests(e){}postEvent(e,o,i,n){if(!xe.EVENTS_URL)return;const r=Ce(xe.EVENTS_URL);r.params.push(`access_token=${n||xe.ACCESS_TOKEN||""}`);const a={event:this.type,created:new Date(e).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:t,skuId:Be,userId:this.anonId},s=o?te(a,o):a,p={url:Ne(r),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=pt(p,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(n)}))}queueRequest(e,t){this.queue.push(e),this.processRequests(t)}}const Ye=new class extends Ie{constructor(e){super("appUserTurnstile"),this._customAccessToken=e}postTurnstileEvent(e,t){xe.EVENTS_URL&&xe.ACCESS_TOKEN&&Array.isArray(e)&&e.some((e=>Xe(e)||Ee(e)))&&this.queueRequest(Date.now(),t)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const t=Pe(xe.ACCESS_TOKEN),o=t?t.u:xe.ACCESS_TOKEN;let i=o!==this.eventData.tokenU;ae(this.anonId)||(this.anonId=ne(),i=!0);const n=this.queue.shift();if(this.eventData.lastSuccess){const e=new Date(this.eventData.lastSuccess),t=new Date(n),o=(n-this.eventData.lastSuccess)/864e5;i=i||o>=1||o<-1||e.getDate()!==t.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(n,{"enabled.telemetry":!1},(e=>{e||(this.eventData.lastSuccess=n,this.eventData.tokenU=o)}),e)}},je=Ye.postTurnstileEvent.bind(Ye),Fe=new class extends Ie{constructor(){super("map.load"),this.success={},this.skuToken=""}postMapLoadEvent(e,t,o,i){this.skuToken=t,this.errorCb=i,xe.EVENTS_URL&&(o||xe.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},o):this.errorCb(new Error(Se)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:t,timestamp:o}=this.queue.shift();t&&this.success[t]||(this.anonId||this.fetchEventData(),ae(this.anonId)||(this.anonId=ne()),this.postEvent(o,{skuToken:this.skuToken},(e=>{e?this.errorCb(e):t&&(this.success[t]=!0)}),e))}},He=Fe.postMapLoadEvent.bind(Fe),Ue=new class extends Ie{constructor(){super("map.auth"),this.success={},this.skuToken=""}getSession(e,t,o,i){if(!xe.API_URL||!xe.SESSION_PATH)return;const n=Ce(xe.API_URL+xe.SESSION_PATH);n.params.push(`sku=${t||""}`),n.params.push(`access_token=${i||xe.ACCESS_TOKEN||""}`);const r={url:Ne(n),headers:{"Content-Type":"text/plain"}};this.pendingRequest=ct(r,(e=>{this.pendingRequest=null,o(e),this.saveEventData(),this.processRequests(i)}))}getSessionAPI(e,t,o,i){this.skuToken=t,this.errorCb=i,xe.SESSION_PATH&&xe.API_URL&&(o||xe.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},o):this.errorCb(new Error(Se)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:t,timestamp:o}=this.queue.shift();t&&this.success[t]||this.getSession(o,this.skuToken,(e=>{e?this.errorCb(e):t&&(this.success[t]=!0)}),e)}},Ve=Ue.getSessionAPI.bind(Ue),Ge=new Set,Ze="mapbox-tiles";let $e,Ke,Je=500,Qe=50;function et(){s.caches&&!$e&&($e=s.caches.open(Ze))}function tt(e){const t=e.indexOf("?");return t<0?e:e.slice(0,t)}let ot=1/0;const it={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(it);class nt extends Error{constructor(e,t,o){401===t&&Ee(o)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),super(e),this.status=t,this.url=o}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const rt=me()?()=>self.worker&&self.worker.referrer:()=>("blob:"===s.location.protocol?s.parent:s).location.href,at=function(e,t){if(!(/^file:/.test(o=e.url)||/^file:/.test(rt())&&!/^\w+:/.test(o))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return function(e,t){const o=new s.AbortController,i=new s.Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:rt(),signal:o.signal});let n=!1,r=!1;const a=(p=i.url).indexOf("sku=")>0&&Ee(p);var p;"json"===e.type&&i.headers.set("Accept","application/json");const c=(o,n,p)=>{if(r)return;if(o&&"SecurityError"!==o.message&&ue(o),n&&p)return l(n);const c=Date.now();s.fetch(i).then((o=>{if(o.ok){const e=a?o.clone():null;return l(o,e,c)}return t(new nt(o.statusText,o.status,e.url))})).catch((e=>{20!==e.code&&t(new Error(e.message))}))},l=(o,a,p)=>{("arrayBuffer"===e.type?o.arrayBuffer():"json"===e.type?o.json():o.text()).then((e=>{r||(a&&p&&function(e,t,o){if(et(),!$e)return;const i={status:t.status,statusText:t.statusText,headers:new s.Headers};t.headers.forEach(((e,t)=>i.headers.set(t,e)));const n=he(t.headers.get("Cache-Control")||"");n["no-store"]||(n["max-age"]&&i.headers.set("Expires",new Date(o+1e3*n["max-age"]).toUTCString()),new Date(i.headers.get("Expires")).getTime()-o<42e4||function(e,t){if(void 0===Ke)try{new Response(new ReadableStream),Ke=!0}catch(e){Ke=!1}Ke?t(e.body):e.blob().then(t)}(t,(t=>{const o=new s.Response(t,i);et(),$e&&$e.then((t=>t.put(tt(e.url),o))).catch((e=>ue(e.message)))})))}(i,a,p),n=!0,t(null,e,o.headers.get("Cache-Control"),o.headers.get("Expires")))})).catch((e=>{r||t(new Error(e.message))}))};return a?function(e,t){if(et(),!$e)return t(null);const o=tt(e.url);$e.then((e=>{e.match(o).then((i=>{const n=function(e){if(!e)return!1;const t=new Date(e.headers.get("Expires")||0),o=he(e.headers.get("Cache-Control")||"");return t>Date.now()&&!o["no-cache"]}(i);e.delete(o),n&&e.put(o,i.clone()),t(null,i,n)})).catch(t)})).catch(t)}(i,c):c(null,null),{cancel:()=>{r=!0,n||o.abort()}}}(e,t);if(me()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,t,void 0,!0)}var o;return function(e,t){const o=new s.XMLHttpRequest;o.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(o.responseType="arraybuffer");for(const t in e.headers)o.setRequestHeader(t,e.headers[t]);return"json"===e.type&&(o.responseType="text",o.setRequestHeader("Accept","application/json")),o.withCredentials="include"===e.credentials,o.onerror=()=>{t(new Error(o.statusText))},o.onload=()=>{if((o.status>=200&&o.status<300||0===o.status)&&null!==o.response){let i=o.response;if("json"===e.type)try{i=JSON.parse(o.response)}catch(e){return t(e)}t(null,i,o.getResponseHeader("Cache-Control"),o.getResponseHeader("Expires"))}else t(new nt(o.statusText,o.status,e.url))},o.send(e.body),{cancel:()=>o.abort()}}(e,t)},st=function(e,t){return at(te(e,{type:"arrayBuffer"}),t)},pt=function(e,t){return at(te(e,{method:"POST"}),t)},ct=function(e,t){return at(te(e,{method:"GET"}),t)};function lt(e){const t=s.document.createElement("a");return t.href=e,t.protocol===s.document.location.protocol&&t.host===s.document.location.host}const bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let dt,ut;dt=[],ut=0;const Mt=function(e,t){if(We.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),ut>=xe.MAX_PARALLEL_IMAGE_REQUESTS){const o={requestParameters:e,callback:t,cancelled:!1,cancel(){this.cancelled=!0}};return dt.push(o),o}ut++;let o=!1;const i=()=>{if(!o)for(o=!0,ut--;dt.length&&ut {i(),e?t(e):o&&(s.createImageBitmap?function(e,t){const o=new s.Blob([new Uint8Array(e)],{type:"image/png"});s.createImageBitmap(o).then((e=>{t(null,e)})).catch((e=>{t(new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(o,((e,o)=>t(e,o,n,r))):function(e,t){const o=new s.Image,i=s.URL;o.onload=()=>{t(null,o),i.revokeObjectURL(o.src),o.onload=null,s.requestAnimationFrame((()=>{o.src=bt}))},o.onerror=()=>t(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 n=new s.Blob([new Uint8Array(e)],{type:"image/png"});o.src=e.byteLength?i.createObjectURL(n):bt}(o,((e,o)=>t(e,o,n,r))))}));return{cancel:()=>{n.cancel(),i()}}};function zt(e,t,o){o[e]&&-1!==o[e].indexOf(t)||(o[e]=o[e]||[],o[e].push(t))}function mt(e,t,o){if(o&&o[e]){const i=o[e].indexOf(t);-1!==i&&o[e].splice(i,1)}}class ht{constructor(e,t={}){te(this,t),this.type=e}}class Ot extends ht{constructor(e,t={}){super("error",te({error:e},t))}}class ft{on(e,t){return this._listeners=this._listeners||{},zt(e,t,this._listeners),this}off(e,t){return mt(e,t,this._listeners),mt(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},zt(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new ht(e,t||{}));const o=e.type;if(this.listens(o)){e.target=this;const t=this._listeners&&this._listeners[o]?this._listeners[o].slice():[];for(const o of t)o.call(this,e);const i=this._oneTimeListeners&&this._oneTimeListeners[o]?this._oneTimeListeners[o].slice():[];for(const t of i)mt(o,t,this._oneTimeListeners),t.call(this,e);const n=this._eventedParent;n&&(te(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(e))}else e instanceof Ot&&console.error(e.error);return this}listens(e){return!!(this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var At=JSON.parse('{"$version":8,"$root":{"version":{"required":true,"type":"enum","values":[8]},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360,"units":"degrees"},"pitch":{"type":"number","default":0,"units":"degrees"},"light":{"type":"light"},"terrain":{"type":"terrain"},"fog":{"type":"fog"},"sources":{"required":true,"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"required":true,"type":"array","value":"layer"}},"sources":{"*":{"type":"source"}},"source":["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],"source_vector":{"type":{"required":true,"type":"enum","values":{"vector":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"scheme":{"type":"enum","values":{"xyz":{},"tms":{}},"default":"xyz"},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"attribution":{"type":"string"},"promoteId":{"type":"promoteId"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster":{"type":{"required":true,"type":"enum","values":{"raster":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512,"units":"pixels"},"scheme":{"type":"enum","values":{"xyz":{},"tms":{}},"default":"xyz"},"attribution":{"type":"string"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"required":true,"type":"enum","values":{"raster-dem":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512,"units":"pixels"},"attribution":{"type":"string"},"encoding":{"type":"enum","values":{"terrarium":{},"mapbox":{}},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"required":true,"type":"enum","values":{"geojson":{}}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"}},"source_video":{"type":{"required":true,"type":"enum","values":{"video":{}}},"urls":{"required":true,"type":"array","value":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"required":true,"type":"enum","values":{"image":{}}},"url":{"required":true,"type":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"layer":{"id":{"type":"string","required":true},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"raster":{},"hillshade":{},"background":{},"sky":{}},"required":true},"metadata":{"type":"*"},"source":{"type":"string"},"source-layer":{"type":"string"},"minzoom":{"type":"number","minimum":0,"maximum":24},"maxzoom":{"type":"number","minimum":0,"maximum":24},"filter":{"type":"filter"},"layout":{"type":"layout"},"paint":{"type":"paint"}},"layout":["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background","layout_sky"],"layout_background":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":{},"round":{},"square":{}},"default":"butt","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":{},"round":{},"miter":{}},"default":"miter","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"requires":[{"line-join":"miter"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-round-limit":{"type":"number","default":1.05,"requires":[{"line-join":"round"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":{},"line":{},"line-center":{}},"default":"point","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-spacing":{"type":"number","default":250,"minimum":1,"units":"pixels","requires":[{"symbol-placement":"line"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":{},"viewport-y":{},"source":{}},"default":"auto","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-optional":{"type":"boolean","default":false,"requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-size":{"type":"number","default":1,"minimum":0,"units":"factor of the original icon size","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{"type":"enum","values":{"none":{},"width":{},"height":{},"both":{}},"default":"none","requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{"type":"array","value":"number","length":4,"default":[0,0,0,0],"units":"pixels","requires":["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-image":{"type":"resolvedImage","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{"type":"boolean","default":false,"requires":["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{"type":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-font":{"type":"array","value":"string","default":["Open Sans Regular","Arial Unicode MS Regular"],"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{"type":"number","default":10,"minimum":0,"units":"ems","requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":{},"left":{},"center":{},"right":{}},"default":"center","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{"type":"number","units":"ems","default":0,"requires":["text-field"],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["zoom","feature"]}},"text-variable-anchor":{"type":"array","value":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-anchor":{"type":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center","requires":["text-field",{"!":"text-variable-anchor"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{"type":"number","default":45,"units":"degrees","requires":["text-field",{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":{},"vertical":{}},"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-keep-upright":{"type":"boolean","default":true,"requires":["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-transform":{"type":"enum","values":{"none":{},"uppercase":{},"lowercase":{}},"default":"none","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-offset":{"type":"array","value":"number","units":"ems","length":2,"default":[0,0],"requires":["text-field",{"!":"text-radial-offset"}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-optional":{"type":"boolean","default":false,"requires":["text-field","icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{},"within":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"expression":{"type":"expression"},"stops":{"type":"array","value":"function_stop"},"base":{"type":"number","default":1,"minimum":0},"property":{"type":"string","default":"$zoom"},"type":{"type":"enum","values":{"identity":{},"exponential":{},"interval":{},"categorical":{}},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":{},"lab":{},"hcl":{}},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":0.1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"property-type":"data-constant","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":{},"equalEarth":{},"equirectangular":{},"lambertConformalConic":{},"mercator":{},"naturalEarth":{},"winkelTripel":{}},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","transition":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-extrusion-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","transition":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"line-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"transition":true,"units":"line widths","requires":[{"!":"line-pattern"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{"type":"resolvedImage","transition":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{"type":"color","transition":false,"requires":[{"!":"line-pattern"},{"source":"geojson","has":{"lineMetrics":true}}],"expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"transition":false,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"transition":false,"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"units":"degrees","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":{},"nearest":{}},"default":"linear","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"transition":false,"units":"milliseconds","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"transition":false,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"background-pattern"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","transition":true,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"cross-faded"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":{},"atmosphere":{}},"default":"atmosphere","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"requires":[{"sky-type":"atmosphere"}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","requires":[{"sky-type":"atmosphere"}],"default":10,"minimum":0,"maximum":100,"transition":false,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","requires":[{"sky-type":"gradient"}],"value":"number","default":[0,0],"length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","requires":[{"sky-type":"gradient"}],"default":90,"minimum":0,"maximum":180,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"transition":false,"requires":[{"sky-type":"gradient"}],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}},"property-type":{"data-driven":{"type":"property-type"},"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 _t{constructor(e,t,o,i){this.message=(e?`${e}: `:"")+o,i&&(this.identifier=i),null!=t&&t.__line__&&(this.line=t.__line__)}}function gt(e){const t=e.value;return t?[new _t(e.key,t,"constants have been deprecated as of v8")]:[]}function qt(e,...t){for(const o of t)for(const t in o)e[t]=o[t];return e}function yt(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function vt(e){if(Array.isArray(e))return e.map(vt);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){const t={};for(const o in e)t[o]=vt(e[o]);return t}return yt(e)}class xt extends Error{constructor(e,t){super(t),this.message=t,this.key=e}}class Wt{constructor(e,t=[]){this.parent=e,this.bindings={};for(const[e,o]of t)this.bindings[e]=o}concat(e){return new Wt(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const wt={kind:"null"},Lt={kind:"number"},Rt={kind:"string"},Tt={kind:"boolean"},kt={kind:"color"},Bt={kind:"object"},St={kind:"value"},Xt={kind:"collator"},Et={kind:"formatted"},Dt={kind:"resolvedImage"};function Ct(e,t){return{kind:"array",itemType:e,N:t}}function Nt(e){if("array"===e.kind){const t=Nt(e.itemType);return"number"==typeof e.N?`array<${t}, ${e.N}>`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}const Pt=[wt,Lt,Rt,Tt,kt,Et,Bt,Ct(St),Dt];function It(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!It(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(const e of Pt)if(!It(e,t))return null}return`Expected ${Nt(e)} but found ${Nt(t)} instead.`}function Yt(e,t){return t.some((t=>t.kind===e.kind))}function jt(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}function Ft(e){var t={exports:{}};return e(t,t.exports),t.exports}var Ht=Ft((function(e,t){var o={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 i(e){return(e=Math.round(e))<0?0:e>255?255:e}function n(e){return i("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function r(e){return(t="%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))<0?0:t>1?1:t;var t}function a(e,t,o){return o<0?o+=1:o>1&&(o-=1),6*o<1?e+(t-e)*o*6:2*o<1?t:3*o<2?e+(t-e)*(2/3-o)*6:e}try{t.parseCSSColor=function(e){var t,s=e.replace(/ /g,"").toLowerCase();if(s in o)return o[s].slice();if("#"===s[0])return 4===s.length?(t=parseInt(s.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===s.length&&(t=parseInt(s.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var p=s.indexOf("("),c=s.indexOf(")");if(-1!==p&&c+1===s.length){var l=s.substr(0,p),b=s.substr(p+1,c-(p+1)).split(","),d=1;switch(l){case"rgba":if(4!==b.length)return null;d=r(b.pop());case"rgb":return 3!==b.length?null:[n(b[0]),n(b[1]),n(b[2]),d];case"hsla":if(4!==b.length)return null;d=r(b.pop());case"hsl":if(3!==b.length)return null;var u=(parseFloat(b[0])%360+360)%360/360,M=r(b[1]),z=r(b[2]),m=z<=.5?z*(M+1):z+M-z*M,h=2*z-m;return[i(255*a(h,m,u+1/3)),i(255*a(h,m,u)),i(255*a(h,m,u-1/3)),d];default:return null}}return null}}catch(e){}}));class Ut{constructor(e,t,o,i=1){this.r=e,this.g=t,this.b=o,this.a=i}static parse(e){if(!e)return;if(e instanceof Ut)return e;if("string"!=typeof e)return;const t=Ht.parseCSSColor(e);return t?new Ut(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3]):void 0}toString(){const[e,t,o,i]=this.toArray();return`rgba(${Math.round(e)},${Math.round(t)},${Math.round(o)},${i})`}toArray(){const{r:e,g:t,b:o,a:i}=this;return 0===i?[0,0,0,0]:[255*e/i,255*t/i,255*o/i,i]}}Ut.black=new Ut(0,0,0,1),Ut.white=new Ut(1,1,1,1),Ut.transparent=new Ut(0,0,0,0),Ut.red=new Ut(1,0,0,1),Ut.blue=new Ut(0,0,1,1);class Vt{constructor(e,t,o){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=o,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Gt{constructor(e,t,o,i,n){this.text=e.normalize?e.normalize():e,this.image=t,this.scale=o,this.fontStack=i,this.textColor=n}}class Zt{constructor(e){this.sections=e}static fromString(e){return new Zt([new Gt(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.name.length))}static factory(e){return e instanceof Zt?e:Zt.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}serialize(){const e=["format"];for(const t of this.sections){if(t.image){e.push(["image",t.image.name]);continue}e.push(t.text);const o={};t.fontStack&&(o["text-font"]=["literal",t.fontStack.split(",")]),t.scale&&(o["font-scale"]=t.scale),t.textColor&&(o["text-color"]=["rgba"].concat(t.textColor.toArray())),e.push(o)}return e}}class $t{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new $t({name:e,available:!1}):null}serialize(){return["image",this.name]}}function Kt(e,t,o,i){return"number"==typeof e&&e>=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof o&&o>=0&&o<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[e,t,o,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[e,t,o,i]:[e,t,o]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Jt(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Ut)return!0;if(e instanceof Vt)return!0;if(e instanceof Zt)return!0;if(e instanceof $t)return!0;if(Array.isArray(e)){for(const t of e)if(!Jt(t))return!1;return!0}if("object"==typeof e){for(const t in e)if(!Jt(e[t]))return!1;return!0}return!1}function Qt(e){if(null===e)return wt;if("string"==typeof e)return Rt;if("boolean"==typeof e)return Tt;if("number"==typeof e)return Lt;if(e instanceof Ut)return kt;if(e instanceof Vt)return Xt;if(e instanceof Zt)return Et;if(e instanceof $t)return Dt;if(Array.isArray(e)){const t=e.length;let o;for(const t of e){const e=Qt(t);if(o){if(o===e)continue;o=St;break}o=e}return Ct(o||St,t)}return Bt}function eo(e){const t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Ut||e instanceof Zt||e instanceof $t?e.toString():JSON.stringify(e)}class to{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!Jt(e[1]))return t.error("invalid value");const o=e[1];let i=Qt(o);const n=t.expectedType;return"array"!==i.kind||0!==i.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(i=n),new to(i,o)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Ut?["rgba"].concat(this.value.toArray()):this.value instanceof Zt?this.value.serialize():this.value}}class oo{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}const io={string:Rt,number:Lt,boolean:Tt,object:Bt};class no{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let o,i=1;const n=e[0];if("array"===n){let n,r;if(e.length>2){const o=e[1];if("string"!=typeof o||!(o in io)||"object"===o)return t.error('The item type argument of "array" must be one of string, number, boolean',1);n=io[o],i++}else n=St;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);r=e[2],i++}o=Ct(n,r)}else o=io[n];const r=[];for(;i e.outputDefined()))}serialize(){const e=this.type,t=[e.kind];if("array"===e.kind){const o=e.itemType;if("string"===o.kind||"number"===o.kind||"boolean"===o.kind){t.push(o.kind);const i=e.N;("number"==typeof i||this.args.length>1)&&t.push(i)}}return t.concat(this.args.map((e=>e.serialize())))}}class ro{constructor(e){this.type=Et,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const o=e[1];if(!Array.isArray(o)&&"object"==typeof o)return t.error("First argument must be an image or text section.");const i=[];let n=!1;for(let o=1;o<=e.length-1;++o){const r=e[o];if(n&&"object"==typeof r&&!Array.isArray(r)){n=!1;let e=null;if(r["font-scale"]&&(e=t.parse(r["font-scale"],1,Lt),!e))return null;let o=null;if(r["text-font"]&&(o=t.parse(r["text-font"],1,Ct(Rt)),!o))return null;let a=null;if(r["text-color"]&&(a=t.parse(r["text-color"],1,kt),!a))return null;const s=i[i.length-1];s.scale=e,s.font=o,s.textColor=a}else{const r=t.parse(e[o],1,St);if(!r)return null;const a=r.type.kind;if("string"!==a&&"value"!==a&&"null"!==a&&"resolvedImage"!==a)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,i.push({content:r,scale:null,font:null,textColor:null})}}return new ro(i)}evaluate(e){return new Zt(this.sections.map((t=>{const o=t.content.evaluate(e);return Qt(o)===Dt?new Gt("",o,null,null,null):new Gt(eo(o),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(const t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const t of this.sections){e.push(t.content.serialize());const o={};t.scale&&(o["font-scale"]=t.scale.serialize()),t.font&&(o["text-font"]=t.font.serialize()),t.textColor&&(o["text-color"]=t.textColor.serialize()),e.push(o)}return e}}class ao{constructor(e){this.type=Dt,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");const o=t.parse(e[1],1,Rt);return o?new ao(o):t.error("No image name provided.")}evaluate(e){const t=this.input.evaluate(e),o=$t.fromString(t);return o&&e.availableImages&&(o.available=e.availableImages.indexOf(t)>-1),o}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){return["image",this.input.serialize()]}}const so={"to-boolean":Tt,"to-color":kt,"to-number":Lt,"to-string":Rt};class po{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const o=e[0];if(("to-boolean"===o||"to-string"===o)&&2!==e.length)return t.error("Expected one argument.");const i=so[o],n=[];for(let o=1;o 4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Kt(t[0],t[1],t[2],t[3]),!o))return new Ut(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new oo(o||`Could not parse color from value '${"string"==typeof t?t:String(JSON.stringify(t))}'`)}if("number"===this.type.kind){let t=null;for(const o of this.args){if(t=o.evaluate(e),null===t)return 0;const i=Number(t);if(!isNaN(i))return i}throw new oo(`Could not convert ${JSON.stringify(t)} to number.`)}return"formatted"===this.type.kind?Zt.fromString(eo(this.args[0].evaluate(e))):"resolvedImage"===this.type.kind?$t.fromString(eo(this.args[0].evaluate(e))):eo(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new ro([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new ao(this.args[0]).serialize();const e=[`to-${this.type.kind}`];return this.eachChild((t=>{e.push(t.serialize())})),e}}const co=["Unknown","Point","LineString","Polygon"];class lo{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?co[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,t=this.featureDistanceData.scale,{x:o,y:i}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(o*t-e[0])+this.featureDistanceData.bearing[1]*(i*t-e[1])}return 0}parseColor(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Ut.parse(e)),t}}class bo{constructor(e,t,o,i){this.name=e,this.type=t,this._evaluate=o,this.args=i}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((e=>e.serialize())))}static parse(e,t){const o=e[0],i=bo.definitions[o];if(!i)return t.error(`Unknown expression "${o}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(i)?i[0]:i.type,r=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,a=r.filter((([t])=>!Array.isArray(t)||t.length===e.length-1));let s=null;for(const[i,r]of a){s=new Xo(t.registry,t.path,null,t.scope);const a=[];let p=!1;for(let t=1;t {return t=e,Array.isArray(t)?`(${t.map(Nt).join(", ")})`:`(${Nt(t.type)}...)`;var t})).join(" | "),i=[];for(let o=1;o =t[2]||e[1]<=t[1]||e[3]>=t[3])}function ho(e,t){const o=(180+e[0])/360,i=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,n=Math.pow(2,t.z);return[Math.round(o*n*Mo),Math.round(i*n*Mo)]}function Oo(e,t,o){const i=e[0]-t[0],n=e[1]-t[1],r=e[0]-o[0],a=e[1]-o[1];return i*a-r*n==0&&i*r<=0&&n*a<=0}function fo(e,t){let o=!1;for(let a=0,s=t.length;a (i=e)[1]!=(r=s[t+1])[1]>i[1]&&i[0]<(r[0]-n[0])*(i[1]-n[1])/(r[1]-n[1])+n[0]&&(o=!o)}}var i,n,r;return o}function Ao(e,t){for(let o=0;o0&&s<0||a<0&&s>0}function go(e,t,o){for(const c of o)for(let o=0;o o[2]){const t=.5*i;let n=e[0]-o[0]>t?-i:o[0]-e[0]>t?i:0;0===n&&(n=e[0]-o[2]>t?-i:o[2]-e[0]>t?i:0),e[0]+=n}zo(t,e)}function wo(e,t,o,i){const n=Math.pow(2,i.z)*Mo,r=[i.x*Mo,i.y*Mo],a=[];for(const i of e)for(const e of i){const i=[e.x+r[0],e.y+r[1]];Wo(i,t,o,n),a.push(i)}return a}function Lo(e,t,o,i){const n=Math.pow(2,i.z)*Mo,r=[i.x*Mo,i.y*Mo],a=[];for(const o of e){const e=[];for(const i of o){const o=[i.x+r[0],i.y+r[1]];zo(t,o),e.push(o)}a.push(e)}if(t[2]-t[0]<=n/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(const e of a)for(const i of e)Wo(i,t,o,n)}var s;return a}class Ro{constructor(e,t){this.type=Tt,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(Jt(e[1])){const t=e[1];if("FeatureCollection"===t.type)for(let e=0;e {t&&!To(e)&&(t=!1)})),t}function ko(e){if(e instanceof bo&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!ko(e)&&(t=!1)})),t}function Bo(e,t){if(e instanceof bo&&t.indexOf(e.name)>=0)return!1;let o=!0;return e.eachChild((e=>{o&&!Bo(e,t)&&(o=!1)})),o}class So{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(2!==e.length||"string"!=typeof e[1])return t.error("'var' expression requires exactly one string literal argument.");const o=e[1];return t.scope.has(o)?new So(o,t.scope.get(o)):t.error(`Unknown variable "${o}". Make sure "${o}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}class Xo{constructor(e,t=[],o,i=new Wt,n=[]){this.registry=e,this.path=t,this.key=t.map((e=>`[${e}]`)).join(""),this.scope=i,this.errors=n,this.expectedType=o}parse(e,t,o,i,n={}){return t?this.concat(t,o,i)._parse(e,n):this._parse(e,n)}_parse(e,t){function o(e,t,o){return"assert"===o?new no(t,[e]):"coerce"===o?new po(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const i=e[0];if("string"!=typeof i)return this.error(`Expression name must be a string, but found ${typeof i} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const n=this.registry[i];if(n){let i=n.parse(e,this);if(!i)return null;if(this.expectedType){const e=this.expectedType,n=i.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==n.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==n.kind&&"string"!==n.kind){if(this.checkSubtype(e,n))return null}else i=o(i,e,t.typeAnnotation||"coerce");else i=o(i,e,t.typeAnnotation||"assert")}if(!(i instanceof to)&&"resolvedImage"!==i.type.kind&&Eo(i)){const t=new lo;try{i=new to(i.type,i.evaluate(t))}catch(e){return this.error(e.message),null}}return i}return this.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,o){const i="number"==typeof e?this.path.concat(e):this.path,n=o?this.scope.concat(o):this.scope;return new Xo(this.registry,i,t||null,n,this.errors)}error(e,...t){const o=`${this.key}${t.map((e=>`[${e}]`)).join("")}`;this.errors.push(new xt(o,e))}checkSubtype(e,t){const o=It(e,t);return o&&this.error(o),o}}function Eo(e){if(e instanceof So)return Eo(e.boundExpression);if(e instanceof bo&&"error"===e.name)return!1;if(e instanceof uo)return!1;if(e instanceof Ro)return!1;const t=e instanceof po||e instanceof no;let o=!0;return e.eachChild((e=>{o=t?o&&Eo(e):o&&e instanceof to})),!!o&&To(e)&&Bo(e,["zoom","heatmap-density","line-progress","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center"])}function Do(e,t){const o=e.length-1;let i,n,r=0,a=o,s=0;for(;r<=a;)if(s=Math.floor((r+a)/2),i=e[s],n=e[s+1],i<=t){if(s===o||t t))throw new oo("Input is not a number.");a=s-1}return 0}class Co{constructor(e,t,o){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(const[e,t]of o)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");const o=t.parse(e[1],1,Lt);if(!o)return null;const i=[];let n=null;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(let o=1;o =r)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);const c=t.parse(a,p,n);if(!c)return null;n=n||c.type,i.push([r,c])}return new Co(n,o,i)}evaluate(e){const t=this.labels,o=this.outputs;if(1===t.length)return o[0].evaluate(e);const i=this.input.evaluate(e);if(i<=t[0])return o[0].evaluate(e);const n=t.length;return i>=t[n-1]?o[n-1].evaluate(e):o[Do(t,i)].evaluate(e)}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){const e=["step",this.input.serialize()];for(let t=0;t 0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e}}function No(e,t,o){return e*(1-o)+t*o}var Po=Object.freeze({__proto__:null,number:No,color:function(e,t,o){return new Ut(No(e.r,t.r,o),No(e.g,t.g,o),No(e.b,t.b,o),No(e.a,t.a,o))},array:function(e,t,o){return e.map(((e,i)=>No(e,t[i],o)))}});const Io=.95047,Yo=1.08883,jo=4/29,Fo=6/29,Ho=3*Fo*Fo,Uo=Math.PI/180,Vo=180/Math.PI;function Go(e){return e>.008856451679035631?Math.pow(e,1/3):e/Ho+jo}function Zo(e){return e>Fo?e*e*e:Ho*(e-jo)}function $o(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Ko(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Jo(e){const t=Ko(e.r),o=Ko(e.g),i=Ko(e.b),n=Go((.4124564*t+.3575761*o+.1804375*i)/Io),r=Go((.2126729*t+.7151522*o+.072175*i)/1);return{l:116*r-16,a:500*(n-r),b:200*(r-Go((.0193339*t+.119192*o+.9503041*i)/Yo)),alpha:e.a}}function Qo(e){let t=(e.l+16)/116,o=isNaN(e.a)?t:t+e.a/500,i=isNaN(e.b)?t:t-e.b/200;return t=1*Zo(t),o=Io*Zo(o),i=Yo*Zo(i),new Ut($o(3.2404542*o-1.5371385*t-.4985314*i),$o(-.969266*o+1.8760108*t+.041556*i),$o(.0556434*o-.2040259*t+1.0572252*i),e.alpha)}function ei(e,t,o){const i=t-e;return e+o*(i>180||i<-180?i-360*Math.round(i/360):i)}const ti={forward:Jo,reverse:Qo,interpolate:function(e,t,o){return{l:No(e.l,t.l,o),a:No(e.a,t.a,o),b:No(e.b,t.b,o),alpha:No(e.alpha,t.alpha,o)}}},oi={forward:function(e){const{l:t,a:o,b:i}=Jo(e),n=Math.atan2(i,o)*Vo;return{h:n<0?n+360:n,c:Math.sqrt(o*o+i*i),l:t,alpha:e.a}},reverse:function(e){const t=e.h*Uo,o=e.c;return Qo({l:e.l,a:Math.cos(t)*o,b:Math.sin(t)*o,alpha:e.alpha})},interpolate:function(e,t,o){return{h:ei(e.h,t.h,o),c:No(e.c,t.c,o),l:No(e.l,t.l,o),alpha:No(e.alpha,t.alpha,o)}}};var ii=Object.freeze({__proto__:null,lab:ti,hcl:oi});class ni{constructor(e,t,o,i,n){this.type=e,this.operator=t,this.interpolation=o,this.input=i,this.labels=[],this.outputs=[];for(const[e,t]of n)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,i,n){let r=0;if("exponential"===e.name)r=ri(t,e.base,i,n);else if("linear"===e.name)r=ri(t,1,i,n);else if("cubic-bezier"===e.name){const a=e.controlPoints;r=new o(a[0],a[1],a[2],a[3]).solve(ri(t,1,i,n))}return r}static parse(e,t){let[o,i,n,...r]=e;if(!Array.isArray(i)||0===i.length)return t.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const e=i[1];if("number"!=typeof e)return t.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:e}}else{if("cubic-bezier"!==i[0])return t.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const e=i.slice(1);if(4!==e.length||e.some((e=>"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(n=t.parse(n,2,Lt),!n)return null;const a=[];let s=null;"interpolate-hcl"===o||"interpolate-lab"===o?s=kt:t.expectedType&&"value"!==t.expectedType.kind&&(s=t.expectedType);for(let e=0;e =o)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',n);const c=t.parse(i,p,s);if(!c)return null;s=s||c.type,a.push([o,c])}return"number"===s.kind||"color"===s.kind||"array"===s.kind&&"number"===s.itemType.kind&&"number"==typeof s.N?new ni(s,o,i,n,a):t.error(`Type ${Nt(s)} is not interpolatable.`)}evaluate(e){const t=this.labels,o=this.outputs;if(1===t.length)return o[0].evaluate(e);const i=this.input.evaluate(e);if(i<=t[0])return o[0].evaluate(e);const n=t.length;if(i>=t[n-1])return o[n-1].evaluate(e);const r=Do(t,i),a=ni.interpolationFactor(this.interpolation,i,t[r],t[r+1]),s=o[r].evaluate(e),p=o[r+1].evaluate(e);return"interpolate"===this.operator?Po[this.type.kind.toLowerCase()](s,p,a):"interpolate-hcl"===this.operator?oi.reverse(oi.interpolate(oi.forward(s),oi.forward(p),a)):ti.reverse(ti.interpolate(ti.forward(s),ti.forward(p),a))}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){let e;e="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const t=[this.operator,e,this.input.serialize()];for(let e=0;e It(i,e.type)));return new ai(r?St:o,n)}evaluate(e){let t,o=null,i=0;for(const n of this.args){if(i++,o=n.evaluate(e),o&&o instanceof $t&&!o.available&&(t||(t=o),o=null,i===this.args.length))return t;if(null!==o)break}return o}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){const e=["coalesce"];return this.eachChild((t=>{e.push(t.serialize())})),e}}class si{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const o=[];for(let i=1;i =o.length)throw new oo(`Array index out of bounds: ${t} > ${o.length-1}.`);if(t!==Math.floor(t))throw new oo(`Array index must be an integer, but found ${t} instead.`);return o[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}class ci{constructor(e,t){this.type=Tt,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const o=t.parse(e[1],1,St),i=t.parse(e[2],2,St);return o&&i?Yt(o.type,[Tt,Rt,Lt,wt,St])?new ci(o,i):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Nt(o.type)} instead`):null}evaluate(e){const t=this.needle.evaluate(e),o=this.haystack.evaluate(e);if(!o)return!1;if(!jt(t,["boolean","string","number","null"]))throw new oo(`Expected first argument to be of type boolean, string, number or null, but found ${Nt(Qt(t))} instead.`);if(!jt(o,["string","array"]))throw new oo(`Expected second argument to be of type array or string, but found ${Nt(Qt(o))} instead.`);return o.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}class li{constructor(e,t,o){this.type=Lt,this.needle=e,this.haystack=t,this.fromIndex=o}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const o=t.parse(e[1],1,St),i=t.parse(e[2],2,St);if(!o||!i)return null;if(!Yt(o.type,[Tt,Rt,Lt,wt,St]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Nt(o.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,Lt);return n?new li(o,i,n):null}return new li(o,i)}evaluate(e){const t=this.needle.evaluate(e),o=this.haystack.evaluate(e);if(!jt(t,["boolean","string","number","null"]))throw new oo(`Expected first argument to be of type boolean, string, number or null, but found ${Nt(Qt(t))} instead.`);if(!jt(o,["string","array"]))throw new oo(`Expected second argument to be of type array or string, but found ${Nt(Qt(o))} instead.`);if(this.fromIndex){const i=this.fromIndex.evaluate(e);return o.indexOf(t,i)}return o.indexOf(t)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}class bi{constructor(e,t,o,i,n,r){this.inputType=e,this.type=t,this.input=o,this.cases=i,this.outputs=n,this.otherwise=r}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let o,i;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);const n={},r=[];for(let a=2;a Number.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(o){if(c.checkSubtype(o,Qt(e)))return null}else o=Qt(e);if(void 0!==n[String(e)])return c.error("Branch labels must be unique.");n[String(e)]=r.length}const l=t.parse(p,a,i);if(!l)return null;i=i||l.type,r.push(l)}const a=t.parse(e[1],1,St);if(!a)return null;const s=t.parse(e[e.length-1],e.length-1,i);return s?"value"!==a.type.kind&&t.concat(1).checkSubtype(o,a.type)?null:new bi(o,i,a,n,r,s):null}evaluate(e){const t=this.input.evaluate(e);return(Qt(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const e=["match",this.input.serialize()],t=Object.keys(this.cases).sort(),o=[],i={};for(const e of t){const t=i[this.cases[e]];void 0===t?(i[this.cases[e]]=o.length,o.push([this.cases[e],[e]])):o[t][1].push(e)}const n=e=>"number"===this.inputType.kind?Number(e):e;for(const[t,i]of o)e.push(1===i.length?n(i[0]):i.map(n)),e.push(this.outputs[t].serialize());return e.push(this.otherwise.serialize()),e}}class di{constructor(e,t,o){this.type=e,this.branches=t,this.otherwise=o}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let o;t.expectedType&&"value"!==t.expectedType.kind&&(o=t.expectedType);const i=[];for(let n=1;n t.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild((t=>{e.push(t.serialize())})),e}}class ui{constructor(e,t,o,i){this.type=e,this.input=t,this.beginIndex=o,this.endIndex=i}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const o=t.parse(e[1],1,St),i=t.parse(e[2],2,Lt);if(!o||!i)return null;if(!Yt(o.type,[Ct(St),Rt,St]))return t.error(`Expected first argument to be of type array or string, but found ${Nt(o.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,Lt);return n?new ui(o.type,o,i,n):null}return new ui(o.type,o,i)}evaluate(e){const t=this.input.evaluate(e),o=this.beginIndex.evaluate(e);if(!jt(t,["string","array"]))throw new oo(`Expected first argument to be of type array or string, but found ${Nt(Qt(t))} instead.`);if(this.endIndex){const i=this.endIndex.evaluate(e);return t.slice(o,i)}return t.slice(o)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}function Mi(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function zi(e,t,o,i){return 0===i.compare(t,o)}function mi(e,t,o){const i="=="!==e&&"!="!==e;return class n{constructor(e,t,o){this.type=Tt,this.lhs=e,this.rhs=t,this.collator=o,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");const o=e[0];let r=t.parse(e[1],1,St);if(!r)return null;if(!Mi(o,r.type))return t.concat(1).error(`"${o}" comparisons are not supported for type '${Nt(r.type)}'.`);let a=t.parse(e[2],2,St);if(!a)return null;if(!Mi(o,a.type))return t.concat(2).error(`"${o}" comparisons are not supported for type '${Nt(a.type)}'.`);if(r.type.kind!==a.type.kind&&"value"!==r.type.kind&&"value"!==a.type.kind)return t.error(`Cannot compare types '${Nt(r.type)}' and '${Nt(a.type)}'.`);i&&("value"===r.type.kind&&"value"!==a.type.kind?r=new no(a.type,[r]):"value"!==r.type.kind&&"value"===a.type.kind&&(a=new no(r.type,[a])));let s=null;if(4===e.length){if("string"!==r.type.kind&&"string"!==a.type.kind&&"value"!==r.type.kind&&"value"!==a.type.kind)return t.error("Cannot use collator to compare non-string types.");if(s=t.parse(e[3],3,Xt),!s)return null}return new n(r,a,s)}evaluate(n){const r=this.lhs.evaluate(n),a=this.rhs.evaluate(n);if(i&&this.hasUntypedArgument){const t=Qt(r),o=Qt(a);if(t.kind!==o.kind||"string"!==t.kind&&"number"!==t.kind)throw new oo(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${o.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const e=Qt(r),o=Qt(a);if("string"!==e.kind||"string"!==o.kind)return t(n,r,a)}return this.collator?o(n,r,a,this.collator.evaluate(n)):t(n,r,a)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}serialize(){const t=[e];return this.eachChild((e=>{t.push(e.serialize())})),t}}}const hi=mi("==",(function(e,t,o){return t===o}),zi),Oi=mi("!=",(function(e,t,o){return t!==o}),(function(e,t,o,i){return!zi(0,t,o,i)})),fi=mi("<",(function(e,t,o){return t ",(function(e,t,o){return t>o}),(function(e,t,o,i){return i.compare(t,o)>0})),_i=mi("<=",(function(e,t,o){return t<=o}),(function(e,t,o,i){return i.compare(t,o)<=0})),gi=mi(">=",(function(e,t,o){return t>=o}),(function(e,t,o,i){return i.compare(t,o)>=0}));class qi{constructor(e,t,o,i,n){this.type=Rt,this.number=e,this.locale=t,this.currency=o,this.minFractionDigits=i,this.maxFractionDigits=n}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");const o=t.parse(e[1],1,Lt);if(!o)return null;const i=e[2];if("object"!=typeof i||Array.isArray(i))return t.error("NumberFormat options argument must be an object.");let n=null;if(i.locale&&(n=t.parse(i.locale,1,Rt),!n))return null;let r=null;if(i.currency&&(r=t.parse(i.currency,1,Rt),!r))return null;let a=null;if(i["min-fraction-digits"]&&(a=t.parse(i["min-fraction-digits"],1,Lt),!a))return null;let s=null;return i["max-fraction-digits"]&&(s=t.parse(i["max-fraction-digits"],1,Lt),!s)?null:new qi(o,n,r,a,s)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class yi{constructor(e){this.type=Lt,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const o=t.parse(e[1],1);return o?"array"!==o.type.kind&&"string"!==o.type.kind&&"value"!==o.type.kind?t.error(`Expected argument of type string or array, but found ${Nt(o.type)} instead.`):new yi(o):null}evaluate(e){const t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new oo(`Expected value to be of type string or array, but found ${Nt(Qt(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild((t=>{e.push(t.serialize())})),e}}const vi={"==":hi,"!=":Oi,">":Ai,"<":fi,">=":gi,"<=":_i,array:no,at:pi,boolean:no,case:di,coalesce:ai,collator:uo,format:ro,image:ao,in:ci,"index-of":li,interpolate:ni,"interpolate-hcl":ni,"interpolate-lab":ni,length:yi,let:si,literal:to,match:bi,number:no,"number-format":qi,object:no,slice:ui,step:Co,string:no,"to-boolean":po,"to-color":po,"to-number":po,"to-string":po,var:So,within:Ro};function xi(e,[t,o,i,n]){t=t.evaluate(e),o=o.evaluate(e),i=i.evaluate(e);const r=n?n.evaluate(e):1,a=Kt(t,o,i,r);if(a)throw new oo(a);return new Ut(t/255*r,o/255*r,i/255*r,r)}function Wi(e,t){return e in t}function wi(e,t){const o=t[e];return void 0===o?null:o}function Li(e){return{type:e}}function Ri(e){return{result:"success",value:e}}function Ti(e){return{result:"error",value:e}}function ki(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function Bi(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function Si(e){return!!e.expression&&e.expression.interpolated}function Xi(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function Ei(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Di(e){return e}function Ci(e,t){const o="color"===t.type,i=e.stops&&"object"==typeof e.stops[0][0],n=i||!(i||void 0!==e.property),r=e.type||(Si(t)?"exponential":"interval");if(o&&((e=qt({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],Ut.parse(e[1])]))),e.default=Ut.parse(e.default?e.default:t.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!ii[e.colorSpace])throw new Error(`Unknown color space: ${e.colorSpace}`);let a,s,p;if("exponential"===r)a=Yi;else if("interval"===r)a=Ii;else if("categorical"===r){a=Pi,s=Object.create(null);for(const t of e.stops)s[t[0]]=t[1];p=typeof e.stops[0][0]}else{if("identity"!==r)throw new Error(`Unknown function type "${r}"`);a=ji}if(i){const o={},i=[];for(let t=0;t e[0])),evaluate:({zoom:o},i)=>Yi({stops:n,base:e.base},t,o).evaluate(o,i)}}if(n){const o="exponential"===r?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:o,interpolationFactor:ni.interpolationFactor.bind(void 0,o),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:o})=>a(e,t,o,s,p)}}return{kind:"source",evaluate(o,i){const n=i&&i.properties?i.properties[e.property]:void 0;return void 0===n?Ni(e.default,t.default):a(e,t,n,s,p)}}}function Ni(e,t,o){return void 0!==e?e:void 0!==t?t:void 0!==o?o:void 0}function Pi(e,t,o,i,n){return Ni(typeof o===n?i[o]:void 0,e.default,t.default)}function Ii(e,t,o){if("number"!==Xi(o))return Ni(e.default,t.default);const i=e.stops.length;if(1===i)return e.stops[0][1];if(o<=e.stops[0][0])return e.stops[0][1];if(o>=e.stops[i-1][0])return e.stops[i-1][1];const n=Do(e.stops.map((e=>e[0])),o);return e.stops[n][1]}function Yi(e,t,o){const i=void 0!==e.base?e.base:1;if("number"!==Xi(o))return Ni(e.default,t.default);const n=e.stops.length;if(1===n)return e.stops[0][1];if(o<=e.stops[0][0])return e.stops[0][1];if(o>=e.stops[n-1][0])return e.stops[n-1][1];const r=Do(e.stops.map((e=>e[0])),o),a=function(e,t,o,i){const n=i-o,r=e-o;return 0===n?0:1===t?r/n:(Math.pow(t,r)-1)/(Math.pow(t,n)-1)}(o,i,e.stops[r][0],e.stops[r+1][0]),s=e.stops[r][1],p=e.stops[r+1][1];let c=Po[t.type]||Di;if(e.colorSpace&&"rgb"!==e.colorSpace){const t=ii[e.colorSpace];c=(e,o)=>t.reverse(t.interpolate(t.forward(e),t.forward(o),a))}return"function"==typeof s.evaluate?{evaluate(...e){const t=s.evaluate.apply(void 0,e),o=p.evaluate.apply(void 0,e);if(void 0!==t&&void 0!==o)return c(t,o,a)}}:c(s,p,a)}function ji(e,t,o){return"color"===t.type?o=Ut.parse(o):"formatted"===t.type?o=Zt.fromString(o.toString()):"resolvedImage"===t.type?o=$t.fromString(o.toString()):Xi(o)===t.type||"enum"===t.type&&t.values[o]||(o=void 0),Ni(o,e.default,t.default)}bo.register(vi,{error:[{kind:"error"},[Rt],(e,[t])=>{throw new oo(t.evaluate(e))}],typeof:[Rt,[St],(e,[t])=>Nt(Qt(t.evaluate(e)))],"to-rgba":[Ct(Lt,4),[kt],(e,[t])=>t.evaluate(e).toArray()],rgb:[kt,[Lt,Lt,Lt],xi],rgba:[kt,[Lt,Lt,Lt,Lt],xi],has:{type:Tt,overloads:[[[Rt],(e,[t])=>Wi(t.evaluate(e),e.properties())],[[Rt,Bt],(e,[t,o])=>Wi(t.evaluate(e),o.evaluate(e))]]},get:{type:St,overloads:[[[Rt],(e,[t])=>wi(t.evaluate(e),e.properties())],[[Rt,Bt],(e,[t,o])=>wi(t.evaluate(e),o.evaluate(e))]]},"feature-state":[St,[Rt],(e,[t])=>wi(t.evaluate(e),e.featureState||{})],properties:[Bt,[],e=>e.properties()],"geometry-type":[Rt,[],e=>e.geometryType()],id:[St,[],e=>e.id()],zoom:[Lt,[],e=>e.globals.zoom],pitch:[Lt,[],e=>e.globals.pitch||0],"distance-from-center":[Lt,[],e=>e.distanceFromCenter()],"heatmap-density":[Lt,[],e=>e.globals.heatmapDensity||0],"line-progress":[Lt,[],e=>e.globals.lineProgress||0],"sky-radial-progress":[Lt,[],e=>e.globals.skyRadialProgress||0],accumulated:[St,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[Lt,Li(Lt),(e,t)=>{let o=0;for(const i of t)o+=i.evaluate(e);return o}],"*":[Lt,Li(Lt),(e,t)=>{let o=1;for(const i of t)o*=i.evaluate(e);return o}],"-":{type:Lt,overloads:[[[Lt,Lt],(e,[t,o])=>t.evaluate(e)-o.evaluate(e)],[[Lt],(e,[t])=>-t.evaluate(e)]]},"/":[Lt,[Lt,Lt],(e,[t,o])=>t.evaluate(e)/o.evaluate(e)],"%":[Lt,[Lt,Lt],(e,[t,o])=>t.evaluate(e)%o.evaluate(e)],ln2:[Lt,[],()=>Math.LN2],pi:[Lt,[],()=>Math.PI],e:[Lt,[],()=>Math.E],"^":[Lt,[Lt,Lt],(e,[t,o])=>Math.pow(t.evaluate(e),o.evaluate(e))],sqrt:[Lt,[Lt],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[Lt,[Lt],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[Lt,[Lt],(e,[t])=>Math.log(t.evaluate(e))],log2:[Lt,[Lt],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[Lt,[Lt],(e,[t])=>Math.sin(t.evaluate(e))],cos:[Lt,[Lt],(e,[t])=>Math.cos(t.evaluate(e))],tan:[Lt,[Lt],(e,[t])=>Math.tan(t.evaluate(e))],asin:[Lt,[Lt],(e,[t])=>Math.asin(t.evaluate(e))],acos:[Lt,[Lt],(e,[t])=>Math.acos(t.evaluate(e))],atan:[Lt,[Lt],(e,[t])=>Math.atan(t.evaluate(e))],min:[Lt,Li(Lt),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[Lt,Li(Lt),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[Lt,[Lt],(e,[t])=>Math.abs(t.evaluate(e))],round:[Lt,[Lt],(e,[t])=>{const o=t.evaluate(e);return o<0?-Math.round(-o):Math.round(o)}],floor:[Lt,[Lt],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[Lt,[Lt],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Tt,[Rt,St],(e,[t,o])=>e.properties()[t.value]===o.value],"filter-id-==":[Tt,[St],(e,[t])=>e.id()===t.value],"filter-type-==":[Tt,[Rt],(e,[t])=>e.geometryType()===t.value],"filter-<":[Tt,[Rt,St],(e,[t,o])=>{const i=e.properties()[t.value],n=o.value;return typeof i==typeof n&&i {const o=e.id(),i=t.value;return typeof o==typeof i&&o":[Tt,[Rt,St],(e,[t,o])=>{const i=e.properties()[t.value],n=o.value;return typeof i==typeof n&&i>n}],"filter-id->":[Tt,[St],(e,[t])=>{const o=e.id(),i=t.value;return typeof o==typeof i&&o>i}],"filter-<=":[Tt,[Rt,St],(e,[t,o])=>{const i=e.properties()[t.value],n=o.value;return typeof i==typeof n&&i<=n}],"filter-id-<=":[Tt,[St],(e,[t])=>{const o=e.id(),i=t.value;return typeof o==typeof i&&o<=i}],"filter->=":[Tt,[Rt,St],(e,[t,o])=>{const i=e.properties()[t.value],n=o.value;return typeof i==typeof n&&i>=n}],"filter-id->=":[Tt,[St],(e,[t])=>{const o=e.id(),i=t.value;return typeof o==typeof i&&o>=i}],"filter-has":[Tt,[St],(e,[t])=>t.value in e.properties()],"filter-has-id":[Tt,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[Tt,[Ct(Rt)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Tt,[Ct(St)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Tt,[Rt,Ct(St)],(e,[t,o])=>o.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Tt,[Rt,Ct(St)],(e,[t,o])=>function(e,t,o,i){for(;o<=i;){const n=o+i>>1;if(t[n]===e)return!0;t[n]>e?i=n-1:o=n+1}return!1}(e.properties()[t.value],o.value,0,o.value.length-1)],all:{type:Tt,overloads:[[[Tt,Tt],(e,[t,o])=>t.evaluate(e)&&o.evaluate(e)],[Li(Tt),(e,t)=>{for(const o of t)if(!o.evaluate(e))return!1;return!0}]]},any:{type:Tt,overloads:[[[Tt,Tt],(e,[t,o])=>t.evaluate(e)||o.evaluate(e)],[Li(Tt),(e,t)=>{for(const o of t)if(o.evaluate(e))return!0;return!1}]]},"!":[Tt,[Tt],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Tt,[Rt],(e,[t])=>{const o=e.globals&&e.globals.isSupportedScript;return!o||o(t.evaluate(e))}],upcase:[Rt,[Rt],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[Rt,[Rt],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[Rt,Li(St),(e,t)=>t.map((t=>eo(t.evaluate(e)))).join("")],"resolved-locale":[Rt,[Xt],(e,[t])=>t.evaluate(e).resolvedLocale()]});class Fi{constructor(e,t){this.expression=e,this._warningHistory={},this._evaluator=new lo,this._defaultValue=t?function(e){return"color"===e.type&&Ei(e.default)?new Ut(0,0,0,0):"color"===e.type?Ut.parse(e.default)||null:void 0===e.default?null:e.default}(t):null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,o,i,n,r,a,s){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=o,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=r,this._evaluator.featureTileCoord=a||null,this._evaluator.featureDistanceData=s||null,this.expression.evaluate(this._evaluator)}evaluate(e,t,o,i,n,r,a,s){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=o||null,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=r||null,this._evaluator.featureTileCoord=a||null,this._evaluator.featureDistanceData=s||null;try{const e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new oo(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function Hi(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in vi}function Ui(e,t){const o=new Xo(vi,[],t?function(e){const t={color:kt,string:Rt,number:Lt,enum:Rt,boolean:Tt,formatted:Et,resolvedImage:Dt};return"array"===e.type?Ct(t[e.value]||St,e.length):t[e.type]}(t):void 0),i=o.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return i?Ri(new Fi(i,t)):Ti(o.errors)}class Vi{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!ko(t.expression)}evaluateWithoutErrorHandling(e,t,o,i,n,r){return this._styleExpression.evaluateWithoutErrorHandling(e,t,o,i,n,r)}evaluate(e,t,o,i,n,r){return this._styleExpression.evaluate(e,t,o,i,n,r)}}class Gi{constructor(e,t,o,i){this.kind=e,this.zoomStops=o,this._styleExpression=t,this.isStateDependent="camera"!==e&&!ko(t.expression),this.interpolationType=i}evaluateWithoutErrorHandling(e,t,o,i,n,r){return this._styleExpression.evaluateWithoutErrorHandling(e,t,o,i,n,r)}evaluate(e,t,o,i,n,r){return this._styleExpression.evaluate(e,t,o,i,n,r)}interpolationFactor(e,t,o){return this.interpolationType?ni.interpolationFactor(this.interpolationType,e,t,o):0}}function Zi(e,t){if("error"===(e=Ui(e,t)).result)return e;const o=e.value.expression,i=To(o);if(!i&&!ki(t))return Ti([new xt("","data expressions not supported")]);const n=Bo(o,["zoom","pitch","distance-from-center"]);if(!n&&!Bi(t))return Ti([new xt("","zoom expressions not supported")]);const r=Ki(o);return r||n?r instanceof xt?Ti([r]):r instanceof ni&&!Si(t)?Ti([new xt("",'"interpolate" expressions cannot be used with this property')]):Ri(r?new Gi(i?"camera":"composite",e.value,r.labels,r instanceof ni?r.interpolation:void 0):new Vi(i?"constant":"source",e.value)):Ti([new xt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class $i{constructor(e,t){this._parameters=e,this._specification=t,qt(this,Ci(this._parameters,this._specification))}static deserialize(e){return new $i(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function Ki(e){let t=null;if(e instanceof si)t=Ki(e.result);else if(e instanceof ai){for(const o of e.args)if(t=Ki(o),t)break}else(e instanceof Co||e instanceof ni)&&e.input instanceof bo&&"zoom"===e.input.name&&(t=e);return t instanceof xt||e.eachChild((e=>{const o=Ki(e);o instanceof xt?t=o:!t&&o?t=new xt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&o&&t!==o&&(t=new xt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}function Ji(e){const t=e.key,o=e.value,i=e.valueSpec||{},n=e.objectElementValidators||{},r=e.style,a=e.styleSpec;let s=[];const p=Xi(o);if("object"!==p)return[new _t(t,o,`object expected, ${p} found`)];for(const e in o){const p=e.split(".")[0],c=i[p]||i["*"];let l;if(n[p])l=n[p];else if(i[p])l=kn;else if(n["*"])l=n["*"];else{if(!i["*"]){s.push(new _t(t,o[e],`unknown property "${e}"`));continue}l=kn}s=s.concat(l({key:(t?`${t}.`:t)+e,value:o[e],valueSpec:c,style:r,styleSpec:a,object:o,objectKey:e},o))}for(const e in i)n[e]||i[e].required&&void 0===i[e].default&&void 0===o[e]&&s.push(new _t(t,o,`missing required property "${e}"`));return s}function Qi(e){const t=e.value,o=e.valueSpec,i=e.style,n=e.styleSpec,r=e.key,a=e.arrayElementValidator||kn;if("array"!==Xi(t))return[new _t(r,t,`array expected, ${Xi(t)} found`)];if(o.length&&t.length!==o.length)return[new _t(r,t,`array length ${o.length} expected, length ${t.length} found`)];if(o["min-length"]&&t.length n)return[new _t(t,o,`${o} is greater than the maximum value ${n}`)]}return[]}function tn(e){const t=e.valueSpec,o=yt(e.value.type);let i,n,r,a={};const s="categorical"!==o&&void 0===e.value.property,p=!s,c="array"===Xi(e.value.stops)&&"array"===Xi(e.value.stops[0])&&"object"===Xi(e.value.stops[0][0]),l=Ji({key:e.key,value:e.value,valueSpec:e.styleSpec.function,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===o)return[new _t(e.key,e.value,'identity function may not have a "stops" property')];let t=[];const i=e.value;return t=t.concat(Qi({key:e.key,value:i,valueSpec:e.valueSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:b})),"array"===Xi(i)&&0===i.length&&t.push(new _t(e.key,i,"array must have at least one stop")),t},default:function(e){return kn({key:e.key,value:e.value,valueSpec:t,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===o&&s&&l.push(new _t(e.key,e.value,'missing required property "property"')),"identity"===o||e.value.stops||l.push(new _t(e.key,e.value,'missing required property "stops"')),"exponential"===o&&e.valueSpec.expression&&!Si(e.valueSpec)&&l.push(new _t(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(p&&!ki(e.valueSpec)?l.push(new _t(e.key,e.value,"property functions not supported")):s&&!Bi(e.valueSpec)&&l.push(new _t(e.key,e.value,"zoom functions not supported"))),"categorical"!==o&&!c||void 0!==e.value.property||l.push(new _t(e.key,e.value,'"property" property is required')),l;function b(e){let o=[];const i=e.value,s=e.key;if("array"!==Xi(i))return[new _t(s,i,`array expected, ${Xi(i)} found`)];if(2!==i.length)return[new _t(s,i,`array length 2 expected, length ${i.length} found`)];if(c){if("object"!==Xi(i[0]))return[new _t(s,i,`object expected, ${Xi(i[0])} found`)];if(void 0===i[0].zoom)return[new _t(s,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new _t(s,i,"object stop key must have value")];if(r&&r>yt(i[0].zoom))return[new _t(s,i[0].zoom,"stop zoom values must appear in ascending order")];yt(i[0].zoom)!==r&&(r=yt(i[0].zoom),n=void 0,a={}),o=o.concat(Ji({key:`${s}[0]`,value:i[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:en,value:d}}))}else o=o.concat(d({key:`${s}[0]`,value:i[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec},i));return Hi(vt(i[1]))?o.concat([new _t(`${s}[1]`,i[1],"expressions are not allowed in function stops.")]):o.concat(kn({key:`${s}[1]`,value:i[1],valueSpec:t,style:e.style,styleSpec:e.styleSpec}))}function d(e,r){const s=Xi(e.value),p=yt(e.value),c=null!==e.value?e.value:r;if(i){if(s!==i)return[new _t(e.key,c,`${s} stop domain type must match previous stop domain type ${i}`)]}else i=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new _t(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==o){let i=`number expected, ${s} found`;return ki(t)&&void 0===o&&(i+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new _t(e.key,c,i)]}return"categorical"!==o||"number"!==s||isFinite(p)&&Math.floor(p)===p?"categorical"!==o&&"number"===s&&void 0!==n&&p new _t(`${e.key}${t.key}`,e.value,t.message)));const o=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!o.outputDefined())return[new _t(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!ko(o))return[new _t(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext)return nn(o,e);if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!Bo(o,["zoom","feature-state"]))return[new _t(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!To(o))return[new _t(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function nn(e,t){const o=new Set(["zoom","feature-state","pitch","distance-from-center"]);for(const e of t.valueSpec.expression.parameters)o.delete(e);if(0===o.size)return[];const i=[];return e instanceof bo&&o.has(e.name)?[new _t(t.key,t.value,`["${e.name}"] expression is not supported in a filter for a ${t.object.type} layer with id: ${t.object.id}`)]:(e.eachChild((e=>{i.push(...nn(e,t))})),i)}function rn(e){const t=e.key,o=e.value,i=e.valueSpec,n=[];return Array.isArray(i.values)?-1===i.values.indexOf(yt(o))&&n.push(new _t(t,o,`expected one of [${i.values.join(", ")}], ${JSON.stringify(o)} found`)):-1===Object.keys(i.values).indexOf(yt(o))&&n.push(new _t(t,o,`expected one of [${Object.keys(i.values).join(", ")}], ${JSON.stringify(o)} found`)),n}function an(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(const t of e.slice(1))if(!an(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}function sn(e,t="fill"){if(null==e)return{filter:()=>!0,needGeometry:!1,needFeature:!1};an(e)||(e=Mn(e));const o=e;let i=!0;try{i=function(e){if(!ln(e))return e;let t=vt(e);return cn(t),t=pn(t),t}(o)}catch(e){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(o,null,2)}\n `)}const n=At[`filter_${t}`],r=Ui(i,n);let a=null;if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a=(e,t,o)=>r.value.evaluate(e,t,{},o);let s=null,p=null;if(i!==o){const e=Ui(o,n);if("error"===e.result)throw new Error(e.value.map((e=>`${e.key}: ${e.message}`)).join(", "));s=(t,o,i,n,r)=>e.value.evaluate(t,o,{},i,void 0,void 0,n,r),p=!To(e.value.expression)}return{filter:a,dynamicFilter:s||void 0,needGeometry:un(i),needFeature:!!p}}function pn(e){if(!Array.isArray(e))return e;const t=function(e){if(bn.has(e[0]))for(let t=1;t pn(e)))}function cn(e){let t=!1;const o=[];if("case"===e[0]){for(let i=1;i ",">=","<","<=","to-boolean"]);function dn(e,t){return e t?1:0}function un(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(let t=1;t "===t||"<="===t||">="===t?zn(e[1],e[2],t):"any"===t?(o=e.slice(1),["any"].concat(o.map(Mn))):"all"===t?["all"].concat(e.slice(1).map(Mn)):"none"===t?["all"].concat(e.slice(1).map(Mn).map(On)):"in"===t?mn(e[1],e.slice(2)):"!in"===t?On(mn(e[1],e.slice(2))):"has"===t?hn(e[1]):"!has"===t?On(hn(e[1])):"within"!==t||e;var o}function zn(e,t,o){switch(e){case"$type":return[`filter-type-${o}`,t];case"$id":return[`filter-id-${o}`,t];default:return[`filter-${o}`,e,t]}}function mn(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?["filter-in-large",e,["literal",t.sort(dn)]]:["filter-in-small",e,["literal",t]]}}function hn(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function On(e){return["!",e]}function fn(e){if(an(vt(e.value))){const t=vt(e.layerType);return on(qt({},e,{expressionContext:"filter",valueSpec:e.styleSpec[`filter_${t||"fill"}`]}))}return An(e)}function An(e){const t=e.value,o=e.key;if("array"!==Xi(t))return[new _t(o,t,`array expected, ${Xi(t)} found`)];const i=e.styleSpec;let n,r=[];if(t.length<1)return[new _t(o,t,"filter array must have at least 1 element")];switch(r=r.concat(rn({key:`${o}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),yt(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===yt(t[1])&&r.push(new _t(o,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":3!==t.length&&r.push(new _t(o,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=Xi(t[1]),"string"!==n&&r.push(new _t(`${o}[1]`,t[1],`string expected, ${n} found`)));for(let a=2;a {e in o&&t.push(new _t(i,o[e],`"${e}" is prohibited for ref layers`))})),n.layers.forEach((t=>{yt(t.id)===s&&(e=t)})),e?e.ref?t.push(new _t(i,o.ref,"ref cannot reference another ref layer")):a=yt(e.type):t.push(new _t(i,o.ref,`ref layer "${s}" not found`))}else if("background"!==a&&"sky"!==a)if(o.source){const e=n.sources&&n.sources[o.source],r=e&&yt(e.type);e?"vector"===r&&"raster"===a?t.push(new _t(i,o.source,`layer "${o.id}" requires a raster source`)):"raster"===r&&"raster"!==a?t.push(new _t(i,o.source,`layer "${o.id}" requires a vector source`)):"vector"!==r||o["source-layer"]?"raster-dem"===r&&"hillshade"!==a?t.push(new _t(i,o.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==a||!o.paint||!o.paint["line-gradient"]||"geojson"===r&&e.lineMetrics||t.push(new _t(i,o,`layer "${o.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new _t(i,o,`layer "${o.id}" must specify a "source-layer"`)):t.push(new _t(i,o.source,`source "${o.source}" not found`))}else t.push(new _t(i,o,'missing required property "source"'));return t=t.concat(Ji({key:i,value:o,valueSpec:r.layer,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{"*":()=>[],type:()=>kn({key:`${i}.type`,value:o.type,valueSpec:r.layer.type,style:e.style,styleSpec:e.styleSpec,object:o,objectKey:"type"}),filter:e=>fn(qt({layerType:a},e)),layout:e=>Ji({layer:o,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{"*":e=>qn(qt({layerType:a},e))}}),paint:e=>Ji({layer:o,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{"*":e=>gn(qt({layerType:a},e))}})}})),t}function vn(e){const t=e.value,o=e.key,i=Xi(t);return"string"!==i?[new _t(o,t,`string expected, ${i} found`)]:[]}const xn={promoteId:function({key:e,value:t}){if("string"===Xi(t))return vn({key:e,value:t});{const o=[];for(const i in t)o.push(...vn({key:`${e}.${i}`,value:t[i]}));return o}}};function Wn(e){const t=e.value,o=e.key,i=e.styleSpec,n=e.style;if(!t.type)return[new _t(o,t,'"type" is required')];const r=yt(t.type);let a;switch(r){case"vector":case"raster":case"raster-dem":return a=Ji({key:o,value:t,valueSpec:i[`source_${r.replace("-","_")}`],style:e.style,styleSpec:i,objectElementValidators:xn}),a;case"geojson":if(a=Ji({key:o,value:t,valueSpec:i.source_geojson,style:n,styleSpec:i,objectElementValidators:xn}),t.cluster)for(const e in t.clusterProperties){const[i,n]=t.clusterProperties[e],r="string"==typeof i?[i,["accumulated"],["get",e]]:i;a.push(...on({key:`${o}.${e}.map`,value:n,expressionContext:"cluster-map"})),a.push(...on({key:`${o}.${e}.reduce`,value:r,expressionContext:"cluster-reduce"}))}return a;case"video":return Ji({key:o,value:t,valueSpec:i.source_video,style:n,styleSpec:i});case"image":return Ji({key:o,value:t,valueSpec:i.source_image,style:n,styleSpec:i});case"canvas":return[new _t(o,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return rn({key:`${o}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,styleSpec:i})}}function wn(e){const t=e.value,o=e.styleSpec,i=o.light,n=e.style;let r=[];const a=Xi(t);if(void 0===t)return r;if("object"!==a)return r=r.concat([new _t("light",t,`object expected, ${a} found`)]),r;for(const e in t){const a=e.match(/^(.*)-transition$/);r=r.concat(a&&i[a[1]]&&i[a[1]].transition?kn({key:e,value:t[e],valueSpec:o.transition,style:n,styleSpec:o}):i[e]?kn({key:e,value:t[e],valueSpec:i[e],style:n,styleSpec:o}):[new _t(e,t[e],`unknown property "${e}"`)])}return r}function Ln(e){const t=e.value,o=e.key,i=e.style,n=e.styleSpec,r=n.terrain;let a=[];const s=Xi(t);if(void 0===t)return a;if("object"!==s)return a=a.concat([new _t("terrain",t,`object expected, ${s} found`)]),a;for(const e in t){const o=e.match(/^(.*)-transition$/);a=a.concat(o&&r[o[1]]&&r[o[1]].transition?kn({key:e,value:t[e],valueSpec:n.transition,style:i,styleSpec:n}):r[e]?kn({key:e,value:t[e],valueSpec:r[e],style:i,styleSpec:n}):[new _t(e,t[e],`unknown property "${e}"`)])}if(t.source){const e=i.sources&&i.sources[t.source],n=e&&yt(e.type);e?"raster-dem"!==n&&a.push(new _t(o,t.source,`terrain cannot be used with a source of type ${n}, it only be used with a "raster-dem" source type`)):a.push(new _t(o,t.source,`source "${t.source}" not found`))}else a.push(new _t(o,t,'terrain is missing required property "source"'));return a}function Rn(e){const t=e.value,o=e.style,i=e.styleSpec,n=i.fog;let r=[];const a=Xi(t);if(void 0===t)return r;if("object"!==a)return r=r.concat([new _t("fog",t,`object expected, ${a} found`)]),r;for(const e in t){const a=e.match(/^(.*)-transition$/);r=r.concat(a&&n[a[1]]&&n[a[1]].transition?kn({key:e,value:t[e],valueSpec:i.transition,style:o,styleSpec:i}):n[e]?kn({key:e,value:t[e],valueSpec:n[e],style:o,styleSpec:i}):[new _t(e,t[e],`unknown property "${e}"`)])}return r}const Tn={"*":()=>[],array:Qi,boolean:function(e){const t=e.value,o=e.key,i=Xi(t);return"boolean"!==i?[new _t(o,t,`boolean expected, ${i} found`)]:[]},number:en,color:function(e){const t=e.key,o=e.value,i=Xi(o);return"string"!==i?[new _t(t,o,`color expected, ${i} found`)]:null===Ht.parseCSSColor(o)?[new _t(t,o,`color expected, "${o}" found`)]:[]},constants:gt,enum:rn,filter:fn,function:tn,layer:yn,object:Ji,source:Wn,light:wn,terrain:Ln,fog:Rn,string:vn,formatted:function(e){return 0===vn(e).length?[]:on(e)},resolvedImage:function(e){return 0===vn(e).length?[]:on(e)},projection:function(e){const t=e.value,o=e.styleSpec,i=o.projection,n=e.style;let r=[];const a=Xi(t);if("object"===a)for(const e in t)r=r.concat(kn({key:e,value:t[e],valueSpec:i[e],style:n,styleSpec:o}));else"string"!==a&&(r=r.concat([new _t("projection",t,`object or string expected, ${a} found`)]));return r}};function kn(e){const t=e.value,o=e.valueSpec,i=e.styleSpec;return o.expression&&Ei(yt(t))?tn(e):o.expression&&Hi(vt(t))?on(e):o.type&&Tn[o.type]?Tn[o.type](e):Ji(qt({},e,{valueSpec:o.type?i[o.type]:o}))}function Bn(e){const t=e.value,o=e.key,i=vn(e);return i.length||(-1===t.indexOf("{fontstack}")&&i.push(new _t(o,t,'"glyphs" url must include a "{fontstack}" token')),-1===t.indexOf("{range}")&&i.push(new _t(o,t,'"glyphs" url must include a "{range}" token'))),i}function Sn(e,t=At){let o=[];return o=o.concat(kn({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,objectElementValidators:{glyphs:Bn,"*":()=>[]}})),e.constants&&(o=o.concat(gt({key:"constants",value:e.constants,style:e,styleSpec:t}))),Xn(o)}function Xn(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function En(e){return function(...t){return Xn(e.apply(this,t))}}Sn.source=En(Wn),Sn.light=En(wn),Sn.terrain=En(Ln),Sn.fog=En(Rn),Sn.layer=En(yn),Sn.filter=En(fn),Sn.paintProperty=En(gn),Sn.layoutProperty=En(qn);const Dn=Sn,Cn=Dn.light,Nn=Dn.fog,Pn=Dn.paintProperty,In=Dn.layoutProperty;function Yn(e,t){let o=!1;if(t&&t.length)for(const i of t)e.fire(new Ot(new Error(i.message))),o=!0;return o}var jn=Fn;function Fn(e,t,o){var i=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;var n=new Int32Array(this.arrayBuffer);e=n[0],this.d=(t=n[1])+2*(o=n[2]);for(var r=0;r =l[u+0]&&i>=l[u+1])?(a[d]=!0,r.push(c[d])):a[d]=!1}}},Fn.prototype._forEachCell=function(e,t,o,i,n,r,a,s){for(var p=this._convertToCellCoord(e),c=this._convertToCellCoord(t),l=this._convertToCellCoord(o),b=this._convertToCellCoord(i),d=p;d<=l;d++)for(var u=c;u<=b;u++){var M=this.d*u+d;if((!s||s(this._convertFromCellCoord(d),this._convertFromCellCoord(u),this._convertFromCellCoord(d+1),this._convertFromCellCoord(u+1)))&&n.call(this,e,t,o,i,M,r,a,s))return}},Fn.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},Fn.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},Fn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=3+this.cells.length+1+1,o=0,i=0;i =0)continue;const r=e[o];n[o]=Vn[i].shallow.indexOf(o)>=0?r:Kn(r,t)}e instanceof Error&&(n.message=e.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==i&&(n.$name=i),n}throw new Error("can't serialize object of type "+typeof e)}function Jn(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||Zn(e)||$n(e)||ArrayBuffer.isView(e)||e instanceof Hn)return e;if(Array.isArray(e))return e.map(Jn);if("object"==typeof e){const t=e.$name||"Object",{klass:o}=Vn[t];if(!o)throw new Error(`can't deserialize unregistered class ${t}`);if(o.deserialize)return o.deserialize(e);const i=Object.create(o.prototype);for(const o of Object.keys(e)){if("$name"===o)continue;const n=e[o];i[o]=Vn[t].shallow.indexOf(o)>=0?n:Jn(n)}return i}throw new Error("can't deserialize object of type "+typeof e)}class Qn{constructor(){this.first=!0}update(e,t){const o=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=o,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=o,!0):(this.lastFloorZoom>o?(this.lastIntegerZoom=o+1,this.lastIntegerZoomTime=t):this.lastFloorZoom e>=1536&&e<=1791,tr=e=>e>=1872&&e<=1919,or=e=>e>=2208&&e<=2303,ir=e=>e>=11904&&e<=12031,nr=e=>e>=12032&&e<=12255,rr=e=>e>=12272&&e<=12287,ar=e=>e>=12288&&e<=12351,sr=e=>e>=12352&&e<=12447,pr=e=>e>=12448&&e<=12543,cr=e=>e>=12544&&e<=12591,lr=e=>e>=12704&&e<=12735,br=e=>e>=12736&&e<=12783,dr=e=>e>=12784&&e<=12799,ur=e=>e>=12800&&e<=13055,Mr=e=>e>=13056&&e<=13311,zr=e=>e>=13312&&e<=19903,mr=e=>e>=19968&&e<=40959,hr=e=>e>=40960&&e<=42127,Or=e=>e>=42128&&e<=42191,fr=e=>e>=44032&&e<=55215,Ar=e=>e>=63744&&e<=64255,_r=e=>e>=64336&&e<=65023,gr=e=>e>=65040&&e<=65055,qr=e=>e>=65072&&e<=65103,yr=e=>e>=65104&&e<=65135,vr=e=>e>=65136&&e<=65279,xr=e=>e>=65280&&e<=65519;function Wr(e){for(const t of e)if(Rr(t.charCodeAt(0)))return!0;return!1}function wr(e){for(const t of e)if(!Lr(t.charCodeAt(0)))return!1;return!0}function Lr(e){return!(er(e)||tr(e)||or(e)||_r(e)||vr(e))}function Rr(e){return!(746!==e&&747!==e&&(e<4352||!(lr(e)||cr(e)||qr(e)&&!(e>=65097&&e<=65103)||Ar(e)||Mr(e)||ir(e)||br(e)||!(!ar(e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||zr(e)||mr(e)||ur(e)||(e=>e>=12592&&e<=12687)(e)||(e=>e>=43360&&e<=43391)(e)||(e=>e>=55216&&e<=55295)(e)||(e=>e>=4352&&e<=4607)(e)||fr(e)||sr(e)||rr(e)||(e=>e>=12688&&e<=12703)(e)||nr(e)||dr(e)||pr(e)&&12540!==e||!(!xr(e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!yr(e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||(e=>e>=5120&&e<=5759)(e)||(e=>e>=6320&&e<=6399)(e)||gr(e)||(e=>e>=19904&&e<=19967)(e)||hr(e)||Or(e))))}function Tr(e){return!(Rr(e)||function(e){return!!((e=>e>=128&&e<=255)(e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||(e=>e>=8192&&e<=8303)(e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||(e=>e>=8448&&e<=8527)(e)||(e=>e>=8528&&e<=8591)(e)||(e=>e>=8960&&e<=9215)(e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||(e=>e>=9216&&e<=9279)(e)&&9251!==e||(e=>e>=9280&&e<=9311)(e)||(e=>e>=9312&&e<=9471)(e)||(e=>e>=9632&&e<=9727)(e)||(e=>e>=9728&&e<=9983)(e)&&!(e>=9754&&e<=9759)||(e=>e>=11008&&e<=11263)(e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||ar(e)||pr(e)||(e=>e>=57344&&e<=63743)(e)||qr(e)||yr(e)||xr(e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function kr(e){return e>=1424&&e<=2303||_r(e)||vr(e)}function Br(e,t){return!(!t&&kr(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||(e=>e>=6016&&e<=6143)(e))}function Sr(e){for(const t of e)if(kr(t.charCodeAt(0)))return!0;return!1}const Xr="deferred",Er="loading",Dr="loaded";let Cr=null,Nr="unavailable",Pr=null;const Ir=function(e){e&&"string"==typeof e&&e.indexOf("NetworkError")>-1&&(Nr="error"),Cr&&Cr(e)};function Yr(){jr.fire(new ht("pluginStateChange",{pluginStatus:Nr,pluginURL:Pr}))}const jr=new ft,Fr=function(){return Nr},Hr=function(){if(Nr!==Xr||!Pr)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Nr=Er,Yr(),Pr&&st({url:Pr},(e=>{e?Ir(e):(Nr=Dr,Yr())}))},Ur={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Nr===Dr||null!=Ur.applyArabicShaping,isLoading:()=>Nr===Er,setState(e){Nr=e.pluginStatus,Pr=e.pluginURL},isParsed:()=>null!=Ur.applyArabicShaping&&null!=Ur.processBidirectionalText&&null!=Ur.processStyledBidirectionalText,getPluginURL:()=>Pr};class Vr{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition,this.pitch=t.pitch):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Qn,this.transition={},this.pitch=0)}isSupportedScript(e){return function(e,t){for(const o of e)if(!Br(o.charCodeAt(0),t))return!1;return!0}(e,Ur.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const e=this.zoom,t=e-Math.floor(e),o=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*o}:{fromScale:.5,toScale:1,t:1-(1-o)*t}}}class Gr{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Ei(e))return new $i(e,t);if(Hi(e)){const o=Zi(e,t);if("error"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return o.value}{let o=e;return"string"==typeof e&&"color"===t.type&&(o=Ut.parse(e)),{kind:"constant",evaluate:()=>o}}}(void 0===t?e.specification.default:t,e.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,o){return this.property.possiblyEvaluate(this,e,t,o)}}class Zr{constructor(e){this.property=e,this.value=new Gr(e,void 0)}transitioned(e,t){return new Kr(this.property,this.value,t,te({},e.transition,this.transition),e.now)}untransitioned(){return new Kr(this.property,this.value,null,{},0)}}class $r{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return be(this._values[e].value.value)}setValue(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Zr(this._values[e].property)),this._values[e].value=new Gr(this._values[e].property,null===t?void 0:be(t))}getTransition(e){return be(this._values[e].transition)}setTransition(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Zr(this._values[e].property)),this._values[e].transition=be(t)||void 0}serialize(){const e={};for(const t of Object.keys(this._values)){const o=this.getValue(t);void 0!==o&&(e[t]=o);const i=this.getTransition(t);void 0!==i&&(e[`${t}-transition`]=i)}return e}transitioned(e,t){const o=new Jr(this._properties);for(const i of Object.keys(this._values))o._values[i]=this._values[i].transitioned(e,t._values[i]);return o}untransitioned(){const e=new Jr(this._properties);for(const t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class Kr{constructor(e,t,o,i,n){const r=i.delay||0,a=i.duration||0;n=n||0,this.property=e,this.value=t,this.begin=n+r,this.end=this.begin+a,e.specification.transition&&(i.delay||i.duration)&&(this.prior=o)}possiblyEvaluate(e,t,o){const i=e.now||0,n=this.value.possiblyEvaluate(e,t,o),r=this.prior;if(r){if(i>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(i i.zoomHistory.lastIntegerZoom?{from:e,to:t,other:o}:{from:o,to:t,other:e}}interpolate(e){return e}}class ra{constructor(e){this.specification=e}possiblyEvaluate(e,t,o,i){if(void 0!==e.value){if("constant"===e.expression.kind){const n=e.expression.evaluate(t,null,{},o,i);return this._calculate(n,n,n,t)}return this._calculate(e.expression.evaluate(new Vr(Math.floor(t.zoom-1),t)),e.expression.evaluate(new Vr(Math.floor(t.zoom),t)),e.expression.evaluate(new Vr(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,o,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:o,to:t}}interpolate(e){return e}}class aa{constructor(e){this.specification=e}possiblyEvaluate(e,t,o,i){return!!e.expression.evaluate(t,null,{},o,i)}interpolate(){return!1}}class sa{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const t in e){const o=e[t];o.specification.overridable&&this.overridableProperties.push(t);const i=this.defaultPropertyValues[t]=new Gr(o,void 0),n=this.defaultTransitionablePropertyValues[t]=new Zr(o);this.defaultTransitioningPropertyValues[t]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=i.possiblyEvaluate({})}}}function pa(e,t){return 256*(e=$(Math.floor(e),0,255))+$(Math.floor(t),0,255)}Gn("DataDrivenProperty",ia),Gn("DataConstantProperty",oa),Gn("CrossFadedDataDrivenProperty",na),Gn("CrossFadedProperty",ra),Gn("ColorRampProperty",aa);const ca={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class la{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ba{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){const t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_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(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function da(e,t=1){let o=0,i=0;return{members:e.map((e=>{const n=ca[e.type].BYTES_PER_ELEMENT,r=o=ua(o,Math.max(t,n)),a=e.components||1;return i=Math.max(i,n),o+=n*a,{name:e.name,type:e.type,components:a,offset:r}})),size:ua(o,Math.max(i,t)),alignment:t}}function ua(e,t){return Math.ceil(e/t)*t}class Ma extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){const o=this.length;return this.resize(o+1),this.emplace(o,e,t)}emplace(e,t,o){const i=2*e;return this.int16[i+0]=t,this.int16[i+1]=o,e}}Ma.prototype.bytesPerElement=4,Gn("StructArrayLayout2i4",Ma);class za extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,o,i){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,o,i)}emplace(e,t,o,i,n){const r=4*e;return this.int16[r+0]=t,this.int16[r+1]=o,this.int16[r+2]=i,this.int16[r+3]=n,e}}za.prototype.bytesPerElement=8,Gn("StructArrayLayout4i8",za);class ma extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,o,i,n,r,a)}emplace(e,t,o,i,n,r,a,s){const p=6*e,c=12*e,l=3*e;return this.int16[p+0]=t,this.int16[p+1]=o,this.uint8[c+4]=i,this.uint8[c+5]=n,this.uint8[c+6]=r,this.uint8[c+7]=a,this.float32[l+2]=s,e}}ma.prototype.bytesPerElement=12,Gn("StructArrayLayout2i4ub1f12",ma);class ha extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,o){const i=this.length;return this.resize(i+1),this.emplace(i,e,t,o)}emplace(e,t,o,i){const n=3*e;return this.float32[n+0]=t,this.float32[n+1]=o,this.float32[n+2]=i,e}}ha.prototype.bytesPerElement=12,Gn("StructArrayLayout3f12",ha);class Oa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a,s,p,c){const l=this.length;return this.resize(l+1),this.emplace(l,e,t,o,i,n,r,a,s,p,c)}emplace(e,t,o,i,n,r,a,s,p,c,l){const b=10*e;return this.uint16[b+0]=t,this.uint16[b+1]=o,this.uint16[b+2]=i,this.uint16[b+3]=n,this.uint16[b+4]=r,this.uint16[b+5]=a,this.uint16[b+6]=s,this.uint16[b+7]=p,this.uint16[b+8]=c,this.uint16[b+9]=l,e}}Oa.prototype.bytesPerElement=20,Gn("StructArrayLayout10ui20",Oa);class fa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a,s){const p=this.length;return this.resize(p+1),this.emplace(p,e,t,o,i,n,r,a,s)}emplace(e,t,o,i,n,r,a,s,p){const c=8*e;return this.uint16[c+0]=t,this.uint16[c+1]=o,this.uint16[c+2]=i,this.uint16[c+3]=n,this.uint16[c+4]=r,this.uint16[c+5]=a,this.uint16[c+6]=s,this.uint16[c+7]=p,e}}fa.prototype.bytesPerElement=16,Gn("StructArrayLayout8ui16",fa);class Aa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z){const m=this.length;return this.resize(m+1),this.emplace(m,e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z)}emplace(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m){const h=16*e;return this.int16[h+0]=t,this.int16[h+1]=o,this.int16[h+2]=i,this.int16[h+3]=n,this.uint16[h+4]=r,this.uint16[h+5]=a,this.uint16[h+6]=s,this.uint16[h+7]=p,this.int16[h+8]=c,this.int16[h+9]=l,this.int16[h+10]=b,this.int16[h+11]=d,this.int16[h+12]=u,this.int16[h+13]=M,this.int16[h+14]=z,this.int16[h+15]=m,e}}Aa.prototype.bytesPerElement=32,Gn("StructArrayLayout4i4ui4i4i32",Aa);class _a extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}_a.prototype.bytesPerElement=4,Gn("StructArrayLayout1ul4",_a);class ga extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a,s,p,c,l,b,d){const u=this.length;return this.resize(u+1),this.emplace(u,e,t,o,i,n,r,a,s,p,c,l,b,d)}emplace(e,t,o,i,n,r,a,s,p,c,l,b,d,u){const M=20*e,z=10*e;return this.int16[M+0]=t,this.int16[M+1]=o,this.int16[M+2]=i,this.int16[M+3]=n,this.int16[M+4]=r,this.float32[z+3]=a,this.float32[z+4]=s,this.float32[z+5]=p,this.float32[z+6]=c,this.int16[M+14]=l,this.uint32[z+8]=b,this.uint16[M+18]=d,this.uint16[M+19]=u,e}}ga.prototype.bytesPerElement=40,Gn("StructArrayLayout5i4f1i1ul2ui40",ga);class qa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,o,i,n,r,a)}emplace(e,t,o,i,n,r,a,s){const p=8*e;return this.int16[p+0]=t,this.int16[p+1]=o,this.int16[p+2]=i,this.int16[p+4]=n,this.int16[p+5]=r,this.int16[p+6]=a,this.int16[p+7]=s,e}}qa.prototype.bytesPerElement=16,Gn("StructArrayLayout3i2i2i16",qa);class ya extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,o,i,n)}emplace(e,t,o,i,n,r){const a=4*e,s=8*e;return this.float32[a+0]=t,this.float32[a+1]=o,this.float32[a+2]=i,this.int16[s+6]=n,this.int16[s+7]=r,e}}ya.prototype.bytesPerElement=16,Gn("StructArrayLayout2f1f2i16",ya);class va extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,o,i){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,o,i)}emplace(e,t,o,i,n){const r=12*e,a=3*e;return this.uint8[r+0]=t,this.uint8[r+1]=o,this.float32[a+1]=i,this.float32[a+2]=n,e}}va.prototype.bytesPerElement=12,Gn("StructArrayLayout2ub2f12",va);class xa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,o){const i=this.length;return this.resize(i+1),this.emplace(i,e,t,o)}emplace(e,t,o,i){const n=3*e;return this.uint16[n+0]=t,this.uint16[n+1]=o,this.uint16[n+2]=i,e}}xa.prototype.bytesPerElement=6,Gn("StructArrayLayout3ui6",xa);class Wa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A){const _=this.length;return this.resize(_+1),this.emplace(_,e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A)}emplace(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A,_){const g=30*e,q=15*e,y=60*e;return this.int16[g+0]=t,this.int16[g+1]=o,this.int16[g+2]=i,this.float32[q+2]=n,this.float32[q+3]=r,this.uint16[g+8]=a,this.uint16[g+9]=s,this.uint32[q+5]=p,this.uint32[q+6]=c,this.uint32[q+7]=l,this.uint16[g+16]=b,this.uint16[g+17]=d,this.uint16[g+18]=u,this.float32[q+10]=M,this.float32[q+11]=z,this.uint8[y+48]=m,this.uint8[y+49]=h,this.uint8[y+50]=O,this.uint32[q+13]=f,this.int16[g+28]=A,this.uint8[y+58]=_,e}}Wa.prototype.bytesPerElement=60,Gn("StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60",Wa);class wa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A,_,g,q,y,v,x,W,w,L){const R=this.length;return this.resize(R+1),this.emplace(R,e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A,_,g,q,y,v,x,W,w,L)}emplace(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A,_,g,q,y,v,x,W,w,L,R){const T=38*e,k=19*e;return this.int16[T+0]=t,this.int16[T+1]=o,this.int16[T+2]=i,this.float32[k+2]=n,this.float32[k+3]=r,this.int16[T+8]=a,this.int16[T+9]=s,this.int16[T+10]=p,this.int16[T+11]=c,this.int16[T+12]=l,this.int16[T+13]=b,this.uint16[T+14]=d,this.uint16[T+15]=u,this.uint16[T+16]=M,this.uint16[T+17]=z,this.uint16[T+18]=m,this.uint16[T+19]=h,this.uint16[T+20]=O,this.uint16[T+21]=f,this.uint16[T+22]=A,this.uint16[T+23]=_,this.uint16[T+24]=g,this.uint16[T+25]=q,this.uint16[T+26]=y,this.uint16[T+27]=v,this.uint16[T+28]=x,this.uint32[k+15]=W,this.float32[k+16]=w,this.float32[k+17]=L,this.float32[k+18]=R,e}}wa.prototype.bytesPerElement=76,Gn("StructArrayLayout3i2f6i15ui1ul3f76",wa);class La extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}La.prototype.bytesPerElement=4,Gn("StructArrayLayout1f4",La);class Ra extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,o){const i=this.length;return this.resize(i+1),this.emplace(i,e,t,o)}emplace(e,t,o,i){const n=3*e;return this.int16[n+0]=t,this.int16[n+1]=o,this.int16[n+2]=i,e}}Ra.prototype.bytesPerElement=6,Gn("StructArrayLayout3i6",Ra);class Ta extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,o,i,n,r,a){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,o,i,n,r,a)}emplace(e,t,o,i,n,r,a,s){const p=7*e;return this.float32[p+0]=t,this.float32[p+1]=o,this.float32[p+2]=i,this.float32[p+3]=n,this.float32[p+4]=r,this.float32[p+5]=a,this.float32[p+6]=s,e}}Ta.prototype.bytesPerElement=28,Gn("StructArrayLayout7f28",Ta);class ka extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,o,i){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,o,i)}emplace(e,t,o,i,n){const r=6*e;return this.uint32[3*e+0]=t,this.uint16[r+2]=o,this.uint16[r+3]=i,this.uint16[r+4]=n,e}}ka.prototype.bytesPerElement=12,Gn("StructArrayLayout1ul3ui12",ka);class Ba extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){const o=this.length;return this.resize(o+1),this.emplace(o,e,t)}emplace(e,t,o){const i=2*e;return this.uint16[i+0]=t,this.uint16[i+1]=o,e}}Ba.prototype.bytesPerElement=4,Gn("StructArrayLayout2ui4",Ba);class Sa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Sa.prototype.bytesPerElement=2,Gn("StructArrayLayout1ui2",Sa);class Xa extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){const o=this.length;return this.resize(o+1),this.emplace(o,e,t)}emplace(e,t,o){const i=2*e;return this.float32[i+0]=t,this.float32[i+1]=o,e}}Xa.prototype.bytesPerElement=8,Gn("StructArrayLayout2f8",Xa);class Ea extends ba{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,o,i){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,o,i)}emplace(e,t,o,i,n){const r=4*e;return this.float32[r+0]=t,this.float32[r+1]=o,this.float32[r+2]=i,this.float32[r+3]=n,e}}Ea.prototype.bytesPerElement=16,Gn("StructArrayLayout4f16",Ea);class Da extends la{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}Da.prototype.size=40;class Ca extends ga{get(e){return new Da(this,e)}}Gn("CollisionBoxArray",Ca);class Na extends la{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(e){this._structArray.uint8[this._pos1+49]=e}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(e){this._structArray.uint8[this._pos1+50]=e}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(e){this._structArray.uint32[this._pos4+13]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(e){this._structArray.uint8[this._pos1+58]=e}}Na.prototype.size=60;class Pa extends Wa{get(e){return new Na(this,e)}}Gn("PlacedSymbolArray",Pa);class Ia extends la{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(e){this._structArray.uint32[this._pos4+15]=e}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}Ia.prototype.size=76;class Ya extends wa{get(e){return new Ia(this,e)}}Gn("SymbolInstanceArray",Ya);class ja extends La{getoffsetX(e){return this.float32[1*e+0]}}Gn("GlyphOffsetArray",ja);class Fa extends Ra{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}Gn("SymbolLineVertexArray",Fa);class Ha extends la{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}Ha.prototype.size=12;class Ua extends ka{get(e){return new Ha(this,e)}}Gn("FeatureIndexArray",Ua);class Va extends la{get a_centroid_pos0(){return this._structArray.uint16[this._pos2+0]}get a_centroid_pos1(){return this._structArray.uint16[this._pos2+1]}}Va.prototype.size=4;class Ga extends Ba{get(e){return new Va(this,e)}}Gn("FillExtrusionCentroidArray",Ga);const Za=da([{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"}]),$a=da([{name:"a_dash_to",components:4,type:"Uint16"},{name:"a_dash_from",components:4,type:"Uint16"}]);var Ka=Ft((function(e){e.exports=function(e,t){var o,i,n,r,a,s,p,c;for(i=e.length-(o=3&e.length),n=t,a=3432918353,s=461845907,c=0;c>>16)*a&65535)<<16)&4294967295)<<15|p>>>17))*s+(((p>>>16)*s&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(r>>>16)&65535)<<16);switch(p=0,o){case 3:p^=(255&e.charCodeAt(c+2))<<16;case 2:p^=(255&e.charCodeAt(c+1))<<8;case 1:n^=p=(65535&(p=(p=(65535&(p^=255&e.charCodeAt(c)))*a+(((p>>>16)*a&65535)<<16)&4294967295)<<15|p>>>17))*s+(((p>>>16)*s&65535)<<16)&4294967295}return n^=e.length,n=2246822507*(65535&(n^=n>>>16))+((2246822507*(n>>>16)&65535)<<16)&4294967295,n=3266489909*(65535&(n^=n>>>13))+((3266489909*(n>>>16)&65535)<<16)&4294967295,(n^=n>>>16)>>>0}})),Ja=Ft((function(e){e.exports=function(e,t){for(var o,i=e.length,n=t^i,r=0;i>=4;)o=1540483477*(65535&(o=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+((1540483477*(o>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(o=1540483477*(65535&(o^=o>>>24))+((1540483477*(o>>>16)&65535)<<16)),i-=4,++r;switch(i){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0}})),Qa=Ka,es=Ja;Qa.murmur3=Ka,Qa.murmur2=es;class ts{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,o,i){this.ids.push(os(e)),this.positions.push(t,o,i)}getPositions(e){const t=os(e);let o=0,i=this.ids.length-1;for(;o>1;this.ids[e]>=t?i=e:o=e+1}const n=[];for(;this.ids[o]===t;)n.push({index:this.positions[3*o],start:this.positions[3*o+1],end:this.positions[3*o+2]}),o++;return n}static serialize(e,t){const o=new Float64Array(e.ids),i=new Uint32Array(e.positions);return is(o,i,0,o.length-1),t&&t.push(o.buffer,i.buffer),{ids:o,positions:i}}static deserialize(e){const t=new ts;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function os(e){const t=+e;return!isNaN(t)&&Number.MIN_SAFE_INTEGER<=t&&t<=Number.MAX_SAFE_INTEGER?t:Qa(String(e))}function is(e,t,o,i){for(;o>1];let r=o-1,a=i+1;for(;;){do{r++}while(e[r] n);if(r>=a)break;ns(e,r,a),ns(t,3*r,3*a),ns(t,3*r+1,3*a+1),ns(t,3*r+2,3*a+2)}a-o `u_${e}`)),this.type=o}setUniform(e,t,o){e.set(o.constantOr(this.value))}getBinding(e,t,o){return"color"===this.type?new ps(e,t):new as(e,t)}}class Ms{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tl.concat(t.br),this.patternTo=e.tl.concat(e.br)}setUniform(e,t,o,i){const n="u_pattern_to"===i||"u_dash_to"===i?this.patternTo:"u_pattern_from"===i||"u_dash_from"===i?this.patternFrom:"u_pixel_ratio_to"===i?this.pixelRatioTo:"u_pixel_ratio_from"===i?this.pixelRatioFrom:null;n&&e.set(n)}getBinding(e,t,o){return"u_pattern_from"===o||"u_pattern_to"===o||"u_dash_from"===o||"u_dash_to"===o?new ss(e,t):new as(e,t)}}class zs{constructor(e,t,o,i){this.expression=e,this.type=o,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===o?2:1,offset:0}))),this.paintVertexArray=new i}populatePaintArray(e,t,o,i,n,r){const a=this.paintVertexArray.length,s=this.expression.evaluate(new Vr(0),t,{},n,i,r);this.paintVertexArray.resize(e),this._setPaintValue(a,e,s)}updatePaintArray(e,t,o,i,n){const r=this.expression.evaluate({zoom:0},o,i,void 0,n);this._setPaintValue(e,t,r)}_setPaintValue(e,t,o){if("color"===this.type){const i=ds(o);for(let o=e;o `u_${e}_t`)),this.type=o,this.useIntegerZoom=i,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===o?4:2,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,o,i,n,r){const a=this.expression.evaluate(new Vr(this.zoom),t,{},n,i,r),s=this.expression.evaluate(new Vr(this.zoom+1),t,{},n,i,r),p=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(p,e,a,s)}updatePaintArray(e,t,o,i,n){const r=this.expression.evaluate({zoom:this.zoom},o,i,void 0,n),a=this.expression.evaluate({zoom:this.zoom+1},o,i,void 0,n);this._setPaintValue(e,t,r,a)}_setPaintValue(e,t,o,i){if("color"===this.type){const n=ds(o),r=ds(i);for(let o=e;o !0)){this.binders={},this._buffers=[];const i=[];for(const n in e.paint._values){if(!o(n))continue;const r=e.paint.get(n);if(!(r instanceof ea&&ki(r.property.specification)))continue;const a=_s(n,e.type),s=r.value,p=r.property.specification.type,c=r.property.useIntegerZoom,l=r.property.specification["property-type"],b="cross-faded"===l||"cross-faded-data-driven"===l,d="line-dasharray"===String(n)&&"constant"!==e.layout.get("line-cap").value.kind;if("constant"!==s.kind||d)if("source"===s.kind||d||b){const o=ys(n,p,"source");this.binders[n]=b?new hs(s,a,p,c,t,o,e.id):new zs(s,a,p,o),i.push(`/a_${n}`)}else{const e=ys(n,p,"composite");this.binders[n]=new ms(s,a,p,c,t,e),i.push(`/z_${n}`)}else this.binders[n]=b?new Ms(s.value,a):new us(s.value,a,p),i.push(`/u_${n}`)}this.cacheKey=i.sort().join("")}getMaxValue(e){const t=this.binders[e];return t instanceof zs||t instanceof ms?t.maxValue:0}populatePaintArrays(e,t,o,i,n,r){for(const a in this.binders){const s=this.binders[a];(s instanceof zs||s instanceof ms||s instanceof hs)&&s.populatePaintArray(e,t,o,i,n,r)}}setConstantPatternPositions(e,t){for(const o in this.binders){const i=this.binders[o];i instanceof Ms&&i.setConstantPatternPositions(e,t)}}updatePaintArrays(e,t,o,i,n,r){let a=!1;for(const s in e){const p=t.getPositions(s);for(const t of p){const p=o.feature(t.index);for(const o in this.binders){const c=this.binders[o];if((c instanceof zs||c instanceof ms||c instanceof hs)&&!0===c.expression.isStateDependent){const l=i.paint.get(o);c.expression=l.value,c.updatePaintArray(t.start,t.end,p,e[s],n,r),a=!0}}}}return a}defines(){const e=[];for(const t in this.binders){const o=this.binders[t];(o instanceof us||o instanceof Ms)&&e.push(...o.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){const e=[];for(const t in this.binders){const o=this.binders[t];if(o instanceof zs||o instanceof ms||o instanceof hs)for(let t=0;t !0)){this.programConfigurations={};for(const i of e)this.programConfigurations[i.id]=new Os(i,t,o);this.needsUpload=!1,this._featureMap=new ts,this._bufferOffset=0}populatePaintArrays(e,t,o,i,n,r,a){for(const o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(e,t,i,n,r,a);void 0!==t.id&&this._featureMap.add(t.id,o,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,o,i,n){for(const r of o)this.needsUpload=this.programConfigurations[r.id].updatePaintArrays(e,this._featureMap,t,r,i,n)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(const t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(const e in this.programConfigurations)this.programConfigurations[e].destroy()}}const As={"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"],"line-dasharray":["dash_to","dash_from"]};function _s(e,t){return As[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}const gs={"line-pattern":{source:Oa,composite:Oa},"fill-pattern":{source:Oa,composite:Oa},"fill-extrusion-pattern":{source:Oa,composite:Oa},"line-dasharray":{source:fa,composite:fa}},qs={color:{source:Xa,composite:Ea},number:{source:La,composite:Xa}};function ys(e,t,o){const i=gs[e];return i&&i[o]||qs[t][o]}Gn("ConstantBinder",us),Gn("CrossFadedConstantBinder",Ms),Gn("SourceExpressionBinder",zs),Gn("CrossFadedCompositeBinder",hs),Gn("CompositeExpressionBinder",ms),Gn("ProgramConfiguration",Os,{omit:["_buffers"]}),Gn("ProgramConfigurationSet",fs);const vs="-transition";class xs extends ft{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&"sky"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new Qr(t.layout)),t.paint)){this._transitionablePaint=new $r(t.paint);for(const t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(const t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new ta(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,o={}){null!=t&&this._validate(In,`layers.${this.id}.layout.${e}`,e,t,o)||("visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t)}getPaintProperty(e){return pe(e,vs)?this._transitionablePaint.getTransition(e.slice(0,-vs.length)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,o={}){if(null!=t&&this._validate(Pn,`layers.${this.id}.paint.${e}`,e,t,o))return!1;if(pe(e,vs))return this._transitionablePaint.setTransition(e.slice(0,-vs.length),t||void 0),!1;{const o=this._transitionablePaint._values[e],i="cross-faded-data-driven"===o.property.specification["property-type"],n=o.value.isDataDriven(),r=o.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);const a=this._transitionablePaint._values[e].value;return a.isDataDriven()||n||i||this._handleOverridablePaintPropertyUpdate(e,r,a)}}_handleSpecialPaintPropertyUpdate(e){}getProgramIds(){return null}getProgramConfiguration(e){return null}_handleOverridablePaintPropertyUpdate(e,t,o){return!1}isHidden(e){return!!(this.minzoom&&e =this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){const e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),le(e,((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}_validate(e,t,o,i,n={}){return(!n||!1!==n.validate)&&Yn(this,e.call(Dn,{key:t,layerType:this.type,objectKey:o,value:i,styleSpec:At,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const e in this.paint._values){const t=this.paint.get(e);if(t instanceof ea&&ki(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=sn(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const Ws=da([{name:"a_pos",components:2,type:"Int16"}],4),{members:ws}=Ws;class Ls{constructor(e=[]){this.segments=e}prepareSegment(e,t,o,i){let n=this.segments[this.segments.length-1];return e>Ls.MAX_VERTEX_ARRAY_LENGTH&&ue(`Max vertices per segment is ${Ls.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!n||n.vertexLength+e>Ls.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==i)&&(n={vertexOffset:t.length,primitiveOffset:o.length,vertexLength:0,primitiveLength:0},void 0!==i&&(n.sortKey=i),this.segments.push(n)),n}get(){return this.segments}destroy(){for(const e of this.segments)for(const t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,o,i){return new Ls([{vertexOffset:e,primitiveOffset:t,vertexLength:o,primitiveLength:i,vaos:{},sortKey:0}])}}Ls.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Gn("SegmentVector",Ls);var Rs=8192;class Ts{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1]))}setNorthEast(e){return this._ne=e instanceof Bs?new Bs(e.lng,e.lat):Bs.convert(e),this}setSouthWest(e){return this._sw=e instanceof Bs?new Bs(e.lng,e.lat):Bs.convert(e),this}extend(e){const t=this._sw,o=this._ne;let i,n;if(e instanceof Bs)i=e,n=e;else{if(!(e instanceof Ts))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(Ts.convert(e)):this.extend(Bs.convert(e)):this;if(i=e._sw,n=e._ne,!i||!n)return this}return t||o?(t.lng=Math.min(i.lng,t.lng),t.lat=Math.min(i.lat,t.lat),o.lng=Math.max(n.lng,o.lng),o.lat=Math.max(n.lat,o.lat)):(this._sw=new Bs(i.lng,i.lat),this._ne=new Bs(n.lng,n.lat)),this}getCenter(){return new Bs((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 Bs(this.getWest(),this.getNorth())}getSouthEast(){return new Bs(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:t,lat:o}=Bs.convert(e);let i=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=t&&t>=this._ne.lng),this._sw.lat<=o&&o<=this._ne.lat&&i}static convert(e){return!e||e instanceof Ts?e:new Ts(e)}}const ks=6371008.8;class Bs{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Bs(J(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){const t=Math.PI/180,o=this.lat*t,i=e.lat*t,n=Math.sin(o)*Math.sin(i)+Math.cos(o)*Math.cos(i)*Math.cos((e.lng-this.lng)*t);return ks*Math.acos(Math.min(n,1))}toBounds(e=0){const t=360*e/40075017,o=t/Math.cos(Math.PI/180*this.lat);return new Ts(new Bs(this.lng-o,this.lat-t),new Bs(this.lng+o,this.lat+t))}static convert(e){if(e instanceof Bs)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Bs(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new Bs(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [ , ]")}}const Ss=2*Math.PI*ks;function Xs(e){return Ss*Math.cos(e*Math.PI/180)}function Es(e){return(180+e)/360}function Ds(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Cs(e,t){return e/Xs(t)}function Ns(e){return 360*e-180}function Ps(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}function Is(e,t){return e*Xs(Ps(t))}const Ys=85.051129;class js{constructor(e,t,o=0){this.x=+e,this.y=+t,this.z=+o}static fromLngLat(e,t=0){const o=Bs.convert(e);return new js(Es(o.lng),Ds(o.lat),Cs(t,o.lat))}toLngLat(){return new Bs(Ns(this.x),Ps(this.y))}toAltitude(){return Is(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ss*(e=Ps(this.y),1/Math.cos(e*Math.PI/180));var e}}function Fs(e,t,o,i,n,a,s,p,c){const l=(t+i)/2,b=(o+n)/2,d=new r(l,b);p(d),function(e,t,o,i,n,r){const a=o-n,s=i-r;return Math.abs((i-t)*a-(o-e)*s)/Math.hypot(a,s)}(d.x,d.y,a.x,a.y,s.x,s.y)>=c?(Fs(e,t,o,l,b,a,d,p,c),Fs(e,l,b,i,n,d,s,p,c)):e.push(s)}function Hs(e,t,o){const i=[];let n,r,a;for(const s of e){const{x:e,y:p}=s;t(s),a?Fs(i,n,r,e,p,a,s,t,o):i.push(s),n=e,r=p,a=s}return i}const Us=Math.pow(2,14)-1,Vs=-Us-1;function Gs(e,t){const o=Math.round(e.x*t),i=Math.round(e.y*t);return e.x=$(o,Vs,Us),e.y=$(i,Vs,Us),(o e.x+1||i e.y+1)&&ue("Geometry exceeds allowed extent, reduce your vector tile buffer size"),e}function Zs(e,t,o){const i=e.loadGeometry(),n=e.extent,r=Rs/n;if(t&&o&&o.projection.isReprojectedInTileSpace){const r=1< {const o=Ns((t.x+e.x/n)/r),i=Ps((t.y+e.y/n)/r),l=c.project(o,i);e.x=(l.x*a-s)*n,e.y=(l.y*a-p)*n};for(let t=0;t =n||o.y<0||o.y>=n||(l(o),e.push(o));i[t]=e}}for(const e of i)for(const t of e)Gs(t,r);return i}function $s(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Zs(e):[]}}function Ks(e,t,o,i,n){e.emplaceBack(2*t+(i+1)/2,2*o+(n+1)/2)}class Js{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new Ma,this.indexArray=new xa,this.segments=new Ls,this.programConfigurations=new fs(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,o,i){const n=this.layers[0],r=[];let a=null;"circle"===n.type&&(a=n.layout.get("circle-sort-key"));for(const{feature:t,id:n,index:s,sourceLayerIndex:p}of e){const e=this.layers[0]._featureFilter.needGeometry,c=$s(t,e);if(!this.layers[0]._featureFilter.filter(new Vr(this.zoom),c,o))continue;const l=a?a.evaluate(c,{},o):void 0,b={id:n,properties:t.properties,type:t.type,sourceLayerIndex:p,index:s,geometry:e?c.geometry:Zs(t,o,i),patterns:{},sortKey:l};r.push(b)}a&&r.sort(((e,t)=>e.sortKey-t.sortKey));for(const i of r){const{geometry:n,index:r,sourceLayerIndex:a}=i,s=e[r].feature;this.addFeature(i,n,r,t.availableImages,o),t.featureIndex.insert(s,n,r,a,this.index)}}update(e,t,o,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,o,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ws),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,o,i,n){for(const o of t)for(const t of o){const o=t.x,i=t.y;if(o<0||o>=Rs||i<0||i>=Rs)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),r=n.vertexLength;Ks(this.layoutVertexArray,o,i,-1,-1),Ks(this.layoutVertexArray,o,i,1,-1),Ks(this.layoutVertexArray,o,i,1,1),Ks(this.layoutVertexArray,o,i,-1,1),this.indexArray.emplaceBack(r,r+1,r+2),this.indexArray.emplaceBack(r,r+3,r+2),n.vertexLength+=4,n.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,{},i,n)}}function Qs(e,t){for(let o=0;o 1){if(ip(e,t))return!0;for(let i=0;i 1?o:o.sub(t)._mult(n)._add(t))}function sp(e,t){let o,i,n,r=!1;for(let a=0;a t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(r=!r)}return r}function pp(e,t){let o=!1;for(let i=0,n=e.length-1;i t.y!=a.y>t.y&&t.x<(a.x-r.x)*(t.y-r.y)/(a.y-r.y)+r.x&&(o=!o)}return o}function cp(e,t,o,i,n){for(const r of e)if(t<=r.x&&o<=r.y&&i>=r.x&&n>=r.y)return!0;const a=[new r(t,o),new r(t,n),new r(i,n),new r(i,o)];if(e.length>2)for(const t of a)if(pp(e,t))return!0;for(let t=0;t n.x&&t.x>n.x||e.y n.y&&t.y>n.y)return!1;const r=Me(e,t,o[0]);return r!==Me(e,t,o[1])||r!==Me(e,t,o[2])||r!==Me(e,t,o[3])}function bp(e,t,o){const i=t.paint.get(e).value;return"constant"===i.kind?i.value:o.programConfigurations.get(t.id).getMaxValue(e)}function dp(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function up(e,t,o,i,n){if(!t[0]&&!t[1])return e;const a=r.convert(t)._mult(n);"viewport"===o&&a._rotate(-i);const s=[];for(let t=0;t {const r=D([],o,e),a=1/r[3]/t*n;return function(e,t,o){return e[0]=t[0]*o[0],e[1]=t[1]*o[1],e[2]=t[2]*o[2],e[3]=t[3]*o[3],e}(r,r,[a,a,i?1/r[3]:a,a])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const t=w([],R([],S([],r[e[0]],r[e[1]]),S([],r[e[2]],r[e[1]]))),o=-L(t,r[e[1]]);return t.concat(o)}));return new hp(r,a)}}class Op{constructor(e,t){this.min=e,this.max=t,this.center=x([],g([],this.min,this.max),.5)}quadrant(e){const t=[e%2==0,e<2],o=f(this.min),i=f(this.max);for(let e=0;e =0;if(0===r)return 0;r!==t.length&&(o=!1)}if(o)return 2;for(let t=0;t<3;t++){let o=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let n=0;n this.max[t]-this.min[t])return 0}return 1}}function fp(e,t,o,i,n,r,a,s,p){if(r&&e.queryGeometry.isAboveHorizon)return!1;r&&(p*=e.pixelToTileUnitsFactor);for(const c of t)for(const t of c){const c=t.add(s),l=n&&o.elevation?o.elevation.exaggeration()*n.getElevationAt(c.x,c.y,!0):0,b=r?c:Ap(c,l,i),d=r?e.tilespaceRays.map((e=>qp(e,l))):e.queryGeometry.screenGeometry,u=D([],[t.x,t.y,l,1],i);if(!a&&r?p*=u[3]/o.cameraToCenterDistance:a&&!r&&(p*=o.cameraToCenterDistance/u[3]),ep(d,b,p))return!0}return!1}function Ap(e,t,o){const i=D([],[e.x,e.y,t,1],o);return new r(i[0]/i[3],i[1]/i[3])}const _p=_(0,0,0),gp=_(0,0,1);function qp(e,t){const o=O();return _p[2]=t,e.intersectsPlane(_p,gp,o),new r(o[0],o[1])}class yp extends Js{}function vp(e,{width:t,height:o},i,n){if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==t*o*i)throw new RangeError("mismatched image size")}else n=new Uint8Array(t*o*i);return e.width=t,e.height=o,e.data=n,e}function xp(e,{width:t,height:o},i){if(t===e.width&&o===e.height)return;const n=vp({},{width:t,height:o},i);Wp(e,n,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,o)},i),e.width=t,e.height=o,e.data=n.data}function Wp(e,t,o,i,n,r){if(0===n.width||0===n.height)return t;if(n.width>e.width||n.height>e.height||o.x>e.width-n.width||o.y>e.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const a=e.data,s=t.data;for(let p=0;p {t[e.evaluationKey]=r;const a=e.expression.evaluate(t);n.data[o+i+0]=Math.floor(255*a.r/a.a),n.data[o+i+1]=Math.floor(255*a.g/a.a),n.data[o+i+2]=Math.floor(255*a.b/a.a),n.data[o+i+3]=Math.floor(255*a.a)};if(e.clips)for(let t=0,n=0;t80*o){i=r=e[0],n=a=e[1];for(var M=o;Mr&&(r=s),p>a&&(a=p);c=0!==(c=Math.max(r-i,a-n))?1/c:0}return Pp(d,u,o,i,n,c),u}function Cp(e,t,o,i,n){var r,a;if(n===pc(e,t,o,i)>0)for(r=t;r =t;r-=i)a=rc(r,e[r],e[r+1],a);return a&&Qp(a,a.next)&&(ac(a),a=a.next),a}function Np(e,t){if(!e)return e;t||(t=e);var o,i=e;do{if(o=!1,i.steiner||!Qp(i,i.next)&&0!==Jp(i.prev,i,i.next))i=i.next;else{if(ac(i),(i=t=i.prev)===i.next)break;o=!0}}while(o||i!==t);return t}function Pp(e,t,o,i,n,r,a){if(e){!a&&r&&function(e,t,o,i){var n=e;do{null===n.z&&(n.z=Gp(n.x,n.y,t,o,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==e);n.prevZ.nextZ=null,n.prevZ=null,function(e){var t,o,i,n,r,a,s,p,c=1;do{for(o=e,e=null,r=null,a=0;o;){for(a++,i=o,s=0,t=0;t 0||p>0&&i;)0!==s&&(0===p||!i||o.z<=i.z)?(n=o,o=o.nextZ,s--):(n=i,i=i.nextZ,p--),r?r.nextZ=n:e=n,n.prevZ=r,r=n;o=i}r.nextZ=null,c*=2}while(a>1)}(n)}(e,i,n,r);for(var s,p,c=e;e.prev!==e.next;)if(s=e.prev,p=e.next,r?Yp(e,i,n,r):Ip(e))t.push(s.i/o),t.push(e.i/o),t.push(p.i/o),ac(e),e=p.next,c=p.next;else if((e=p)===c){a?1===a?Pp(e=jp(Np(e),t,o),t,o,i,n,r,2):2===a&&Fp(e,t,o,i,n,r):Pp(Np(e),t,o,i,n,r,1);break}}}function Ip(e){var t=e.prev,o=e,i=e.next;if(Jp(t,o,i)>=0)return!1;for(var n=e.next.next;n!==e.prev;){if($p(t.x,t.y,o.x,o.y,i.x,i.y,n.x,n.y)&&Jp(n.prev,n,n.next)>=0)return!1;n=n.next}return!0}function Yp(e,t,o,i){var n=e.prev,r=e,a=e.next;if(Jp(n,r,a)>=0)return!1;for(var s=n.x>r.x?n.x>a.x?n.x:a.x:r.x>a.x?r.x:a.x,p=n.y>r.y?n.y>a.y?n.y:a.y:r.y>a.y?r.y:a.y,c=Gp(n.x =c&&d&&d.z<=l;){if(b!==e.prev&&b!==e.next&&$p(n.x,n.y,r.x,r.y,a.x,a.y,b.x,b.y)&&Jp(b.prev,b,b.next)>=0)return!1;if(b=b.prevZ,d!==e.prev&&d!==e.next&&$p(n.x,n.y,r.x,r.y,a.x,a.y,d.x,d.y)&&Jp(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;b&&b.z>=c;){if(b!==e.prev&&b!==e.next&&$p(n.x,n.y,r.x,r.y,a.x,a.y,b.x,b.y)&&Jp(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;d&&d.z<=l;){if(d!==e.prev&&d!==e.next&&$p(n.x,n.y,r.x,r.y,a.x,a.y,d.x,d.y)&&Jp(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function jp(e,t,o){var i=e;do{var n=i.prev,r=i.next.next;!Qp(n,r)&&ec(n,i,i.next,r)&&ic(n,r)&&ic(r,n)&&(t.push(n.i/o),t.push(i.i/o),t.push(r.i/o),ac(i),ac(i.next),i=e=r),i=i.next}while(i!==e);return Np(i)}function Fp(e,t,o,i,n,r){var a=e;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&Kp(a,s)){var p=nc(a,s);return a=Np(a,a.next),p=Np(p,p.next),Pp(a,t,o,i,n,r),void Pp(p,t,o,i,n,r)}s=s.next}a=a.next}while(a!==e)}function Hp(e,t){return e.x-t.x}function Up(e,t){var o=function(e,t){var o,i=t,n=e.x,r=e.y,a=-1/0;do{if(r<=i.y&&r>=i.next.y&&i.next.y!==i.y){var s=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(s<=n&&s>a){if(a=s,s===n){if(r===i.y)return i;if(r===i.next.y)return i.next}o=i.x =i.x&&i.x>=l&&n!==i.x&&$p(ro.x||i.x===o.x&&Vp(o,i)))&&(o=i,d=p)),i=i.next}while(i!==c);return o}(e,t);if(!o)return t;var i=nc(o,e),n=Np(o,o.next);return Np(i,i.next),t===o?n:t}function Vp(e,t){return Jp(e.prev,e,t.prev)<0&&Jp(t.next,e,e.next)<0}function Gp(e,t,o,i,n){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-o)*n)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*n)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Zp(e){var t=e,o=e;do{(t.x =0&&(e-a)*(i-s)-(o-a)*(t-s)>=0&&(o-a)*(r-s)-(n-a)*(i-s)>=0}function Kp(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var o=e;do{if(o.i!==e.i&&o.next.i!==e.i&&o.i!==t.i&&o.next.i!==t.i&&ec(o,o.next,e,t))return!0;o=o.next}while(o!==e);return!1}(e,t)&&(ic(e,t)&&ic(t,e)&&function(e,t){var o=e,i=!1,n=(e.x+t.x)/2,r=(e.y+t.y)/2;do{o.y>r!=o.next.y>r&&o.next.y!==o.y&&n<(o.next.x-o.x)*(r-o.y)/(o.next.y-o.y)+o.x&&(i=!i),o=o.next}while(o!==e);return i}(e,t)&&(Jp(e.prev,e,t.prev)||Jp(e,t.prev,t))||Qp(e,t)&&Jp(e.prev,e,e.next)>0&&Jp(t.prev,t,t.next)>0)}function Jp(e,t,o){return(t.y-e.y)*(o.x-t.x)-(t.x-e.x)*(o.y-t.y)}function Qp(e,t){return e.x===t.x&&e.y===t.y}function ec(e,t,o,i){var n=oc(Jp(e,t,o)),r=oc(Jp(e,t,i)),a=oc(Jp(o,i,e)),s=oc(Jp(o,i,t));return n!==r&&a!==s||!(0!==n||!tc(e,o,t))||!(0!==r||!tc(e,i,t))||!(0!==a||!tc(o,e,i))||!(0!==s||!tc(o,t,i))}function tc(e,t,o){return t.x<=Math.max(e.x,o.x)&&t.x>=Math.min(e.x,o.x)&&t.y<=Math.max(e.y,o.y)&&t.y>=Math.min(e.y,o.y)}function oc(e){return e>0?1:e<0?-1:0}function ic(e,t){return Jp(e.prev,e,e.next)<0?Jp(e,t,e.next)>=0&&Jp(e,e.prev,t)>=0:Jp(e,t,e.prev)<0||Jp(e,e.next,t)<0}function nc(e,t){var o=new sc(e.i,e.x,e.y),i=new sc(t.i,t.x,t.y),n=e.next,r=t.prev;return e.next=t,t.prev=e,o.next=n,n.prev=o,i.next=o,o.prev=i,r.next=i,i.prev=r,i}function rc(e,t,o,i){var n=new sc(e,t,o);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function ac(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function sc(e,t,o){this.i=e,this.x=t,this.y=o,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function pc(e,t,o,i){for(var n=0,r=t,a=o-i;r o;){if(i-o>600){var r=i-o+1,a=t-o+1,s=Math.log(r),p=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*p*(r-p)/r)*(a-r/2<0?-1:1);lc(e,t,Math.max(o,Math.floor(t-a*p/r+c)),Math.min(i,Math.floor(t+(r-a)*p/r+c)),n)}var l=e[t],b=o,d=i;for(bc(e,o,t),n(e[i],l)>0&&bc(e,o,i);b 0;)d--}0===n(e[o],l)?bc(e,o,d):bc(e,++d,i),d<=t&&(o=d+1),t<=d&&(i=d-1)}}function bc(e,t,o){var i=e[t];e[t]=e[o],e[o]=i}function dc(e,t){return e t?1:0}function uc(e,t){const o=e.length;if(o<=1)return[e];const i=[];let n,r;for(let t=0;t 1)for(let e=0;e 0&&o.holes.push(i+=e[n-1].length)}return o},Xp.default=Ep;class hc{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ma,this.indexArray=new xa,this.indexArray2=new Ba,this.programConfigurations=new fs(e.layers,e.zoom),this.segments=new Ls,this.segments2=new Ls,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,o,i){this.hasPattern=zc("fill",this.layers,t);const n=this.layers[0].layout.get("fill-sort-key"),r=[];for(const{feature:a,id:s,index:p,sourceLayerIndex:c}of e){const e=this.layers[0]._featureFilter.needGeometry,l=$s(a,e);if(!this.layers[0]._featureFilter.filter(new Vr(this.zoom),l,o))continue;const b=n?n.evaluate(l,{},o,t.availableImages):void 0,d={id:s,properties:a.properties,type:a.type,sourceLayerIndex:c,index:p,geometry:e?l.geometry:Zs(a,o,i),patterns:{},sortKey:b};r.push(d)}n&&r.sort(((e,t)=>e.sortKey-t.sortKey));for(const i of r){const{geometry:n,index:r,sourceLayerIndex:a}=i;if(this.hasPattern){const e=mc("fill",this.layers,i,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(i,n,r,o,{},t.availableImages);t.featureIndex.insert(e[r].feature,n,r,a,this.index)}}update(e,t,o,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,o,i)}addFeatures(e,t,o,i){for(const e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,o,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Sp),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,o,i,n,r=[]){for(const e of uc(t,500)){let t=0;for(const o of e)t+=o.length;const o=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),i=o.vertexLength,n=[],r=[];for(const t of e){if(0===t.length)continue;t!==e[0]&&r.push(n.length/2);const o=this.segments2.prepareSegment(t.length,this.layoutVertexArray,this.indexArray2),i=o.vertexLength;this.layoutVertexArray.emplaceBack(t[0].x,t[0].y),this.indexArray2.emplaceBack(i+t.length-1,i),n.push(t[0].x),n.push(t[0].y);for(let e=1;e >3}if(n--,1===i||2===i)a+=e.readSVarint(),s+=e.readSVarint(),1===i&&(t&&p.push(t),t=[]),t.push(new r(a,s));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&p.push(t),p},yc.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,o=1,i=0,n=0,r=0,a=1/0,s=-1/0,p=1/0,c=-1/0;e.pos >3}if(i--,1===o||2===o)(n+=e.readSVarint())s&&(s=n),(r+=e.readSVarint()) c&&(c=r);else if(7!==o)throw new Error("unknown command "+o)}return[a,p,s,c]},yc.prototype.toGeoJSON=function(e,t,o){var i,n,r=this.extent*Math.pow(2,o),a=this.extent*e,s=this.extent*t,p=this.loadGeometry(),c=yc.types[this.type];function l(e){for(var t=0;t
>3;t=1===i?e.readString():2===i?e.readFloat():3===i?e.readDouble():4===i?e.readVarint64():5===i?e.readVarint():6===i?e.readSVarint():7===i?e.readBoolean():null}return t}(o))}function Rc(e,t,o){if(3===e){var i=new Wc(o,o.readVarint()+o.pos);i.length&&(t[i.name]=i)}}wc.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new qc(this._pbf,t,this.extent,this._keys,this._values)};var Tc={VectorTile:function(e,t){this.layers=e.readFields(Rc,{},t)},VectorTileFeature:qc,VectorTileLayer:Wc};const kc=Tc.VectorTileFeature.types,Bc=Math.pow(2,13);function Sc(e,t,o,i,n,r,a,s){e.emplaceBack((t<<1)+a,(o<<1)+r,(Math.floor(i*Bc)<<1)+n,Math.round(s))}class Xc{constructor(){this.acc=new r(0,0),this.polyCount=[]}startRing(e){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new r(e.x,e.y),this.max=new r(e.x,e.y))}append(e,t){this.currentPolyCount.edges++,this.acc._add(e);let o=!!this.borders;const i=this.min,n=this.max;e.x n.x&&(n.x=e.x,o=!0),e.y n.y&&(n.y=e.y,o=!0),((0===e.x||e.x===Rs)&&e.x===t.x)!=((0===e.y||e.y===Rs)&&e.y===t.y)&&this.processBorderOverlap(e,t),o&&this.checkBorderIntersection(e,t)}checkBorderIntersection(e,t){t.x<0!=e.x<0&&this.addBorderIntersection(0,No(t.y,e.y,(0-t.x)/(e.x-t.x))),t.x>Rs!=e.x>Rs&&this.addBorderIntersection(1,No(t.y,e.y,(Rs-t.x)/(e.x-t.x))),t.y<0!=e.y<0&&this.addBorderIntersection(2,No(t.x,e.x,(0-t.y)/(e.y-t.y))),t.y>Rs!=e.y>Rs&&this.addBorderIntersection(3,No(t.x,e.x,(Rs-t.y)/(e.y-t.y)))}addBorderIntersection(e,t){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const o=this.borders[e];t o[1]&&(o[1]=t)}processBorderOverlap(e,t){if(e.x===t.x){if(e.y===t.y)return;const o=0===e.x?0:1;this.addBorderIntersection(o,t.y),this.addBorderIntersection(o,e.y)}else{const o=0===e.y?2:3;this.addBorderIntersection(o,t.x),this.addBorderIntersection(o,e.x)}}centroid(){const e=this.polyCount.reduce(((e,t)=>e+t.edges),0);return 0!==e?this.acc.div(e)._round():new r(0,0)}span(){return new r(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((e,t)=>e+ +(t[0]!==Number.MAX_VALUE)),0)}}class Ec{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new za,this.centroidVertexArray=new Ga,this.indexArray=new xa,this.programConfigurations=new fs(e.layers,e.zoom),this.segments=new Ls,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.enableTerrain=e.enableTerrain}populate(e,t,o,i){this.features=[],this.hasPattern=zc("fill-extrusion",this.layers,t),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDone=[!1,!1,!1,!1],this.tileToMeter=function(e){const t=Math.exp(Math.PI*(1-e.y/(1< e.x<=0))||s.every((e=>e.x>=Rs))||s.every((e=>e.y<=0))||s.every((e=>e.y>=Rs)))continue;for(let e=0;e =1){const o=n[e-1];if(!Dc(t,o)){a&&a.append(t,o),i.vertexLength+4>Ls.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const e=t.sub(o)._perp(),n=e.x/(Math.abs(e.x)+Math.abs(e.y)),s=e.y>0?1:0,p=o.dist(t);r+p>32768&&(r=0),Sc(this.layoutVertexArray,t.x,t.y,n,s,0,0,r),Sc(this.layoutVertexArray,t.x,t.y,n,s,0,1,r),r+=p,Sc(this.layoutVertexArray,o.x,o.y,n,s,0,0,r),Sc(this.layoutVertexArray,o.x,o.y,n,s,0,1,r);const c=i.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+t>Ls.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray)),"Polygon"!==kc[e.type])continue;const n=[],r=[],p=i.vertexLength;for(let e=0;e 0){if(a.borders){a.vertexArrayOffset=this.centroidVertexArray.length;const e=a.borders,t=this.featuresOnBorder.push(a)-1;for(let o=0;o<4;o++)e[o][0]!==Number.MAX_VALUE&&this.borders[o].push(t)}this.encodeCentroid(a.borders?void 0:a.centroid(),a)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,n,r,i)}sortBorders(){for(let e=0;e<4;e++)this.borders[e].sort(((t,o)=>this.featuresOnBorder[t].borders[e][0]-this.featuresOnBorder[o].borders[e][0]))}encodeCentroid(e,t,o=!0){let i,n;if(e)if(0!==e.y){const o=t.span()._mult(this.tileToMeter);i=(Math.max(e.x,1)<<3)+Math.min(7,Math.round(o.x/10)),n=(Math.max(e.y,1)<<3)+Math.min(7,Math.round(o.y/10))}else i=Math.ceil(7*(e.x+450)),n=0;else i=0,n=+o;let r=o?this.centroidVertexArray.length:t.vertexArrayOffset;for(const e of t.polyCount){o&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*e.edges+e.top);for(let t=0;t<2*e.edges;t++)this.centroidVertexArray.emplace(r++,0,n),this.centroidVertexArray.emplace(r++,i,n);for(let t=0;t Rs)||e.y===t.y&&(e.y<0||e.y>Rs)}Gn("FillExtrusionBucket",Ec,{omit:["layers","features"]}),Gn("PartMetadata",Xc);var Cc={paint:new sa({"fill-extrusion-opacity":new oa(At["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new ia(At["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new oa(At["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new oa(At["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new na(At["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new ia(At["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new ia(At["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new oa(At["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};function Nc(e,t){return e.x*t.x+e.y*t.y}function Pc(e,t){if(1===e.length){let o=0;const i=t[o++];let n;for(;!n||i.equals(n);)if(n=t[o++],!n)return 1/0;for(;o e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new ma,this.layoutVertexArray2=new ha,this.indexArray=new xa,this.programConfigurations=new fs(e.layers,e.zoom),this.segments=new Ls,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,o,i){this.hasPattern=zc("line",this.layers,t);const n=this.layers[0].layout.get("line-sort-key"),r=[];for(const{feature:t,id:a,index:s,sourceLayerIndex:p}of e){const e=this.layers[0]._featureFilter.needGeometry,c=$s(t,e);if(!this.layers[0]._featureFilter.filter(new Vr(this.zoom),c,o))continue;const l=n?n.evaluate(c,{},o):void 0,b={id:a,properties:t.properties,type:t.type,sourceLayerIndex:p,index:s,geometry:e?c.geometry:Zs(t,o,i),patterns:{},sortKey:l};r.push(b)}n&&r.sort(((e,t)=>e.sortKey-t.sortKey));const{lineAtlas:a,featureIndex:s}=t,p=this.addConstantDashes(a);for(const i of r){const{geometry:n,index:r,sourceLayerIndex:c}=i;if(p&&this.addFeatureDashes(i,a),this.hasPattern){const e=mc("line",this.layers,i,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(i,n,r,o,a.positions,t.availableImages);s.insert(e[r].feature,n,r,c,this.index)}}addConstantDashes(e){let t=!1;for(const o of this.layers){const i=o.paint.get("line-dasharray").value,n=o.layout.get("line-cap").value;if("constant"!==i.kind||"constant"!==n.kind)t=!0;else{const t=n.value,o=i.value;if(!o)continue;e.addDash(o.from,t),e.addDash(o.to,t),o.other&&e.addDash(o.other,t)}}return t}addFeatureDashes(e,t){const o=this.zoom;for(const i of this.layers){const n=i.paint.get("line-dasharray").value,r=i.layout.get("line-cap").value;if("constant"===n.kind&&"constant"===r.kind)continue;let a,s,p,c,l,b;if("constant"===n.kind){const e=n.value;if(!e)continue;a=e.other||e.to,s=e.to,p=e.from}else a=n.evaluate({zoom:o-1},e),s=n.evaluate({zoom:o},e),p=n.evaluate({zoom:o+1},e);"constant"===r.kind?c=l=b=r.value:(c=r.evaluate({zoom:o-1},e),l=r.evaluate({zoom:o},e),b=r.evaluate({zoom:o+1},e)),t.addDash(a,c),t.addDash(s,l),t.addDash(p,b);const d=t.getKey(a,c),u=t.getKey(s,l),M=t.getKey(p,b);e.patterns[i.id]={min:d,mid:u,max:M}}}update(e,t,o,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,o,i)}addFeatures(e,t,o,i){for(const e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,o,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Uc)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Fc),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,o,i,n,r){const a=this.layers[0].layout,s=a.get("line-join").evaluate(e,{}),p=a.get("line-cap").evaluate(e,{}),c=a.get("line-miter-limit"),l=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(const o of t)this.addLine(o,e,s,p,c,l);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,n,r,i)}addLine(e,t,o,i,n,r){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t =2&&e[s-1].equals(e[s-2]);)s--;let p=0;for(;p 0;if(_&&t>p){const e=b.dist(d);if(e>2*c){const t=b.sub(b.sub(d)._mult(c/e)._round());this.updateDistance(d,t),this.addCurrentVertex(t,M,0,0,l),d=t}}const q=d&&u;let y=q?o:a?"butt":i;if(q&&"round"===y&&(f n&&(y="bevel"),"bevel"===y&&(f>2&&(y="flipbevel"),f 100)m=z.mult(-1);else{const e=f*M.add(z).mag()/M.sub(z).mag();m._perp()._mult(e*(g?-1:1))}this.addCurrentVertex(b,m,0,0,l),this.addCurrentVertex(b,m.mult(-1),0,0,l)}else if("bevel"===y||"fakeround"===y){const e=-Math.sqrt(f*f-1),t=g?e:0,o=g?0:e;if(d&&this.addCurrentVertex(b,M,t,o,l),"fakeround"===y){const e=Math.round(180*A/Math.PI/20);for(let t=1;t 2*c){const t=b.add(u.sub(b)._mult(c/e)._round());this.updateDistance(b,t),this.addCurrentVertex(t,z,0,0,l),b=t}}}}addCurrentVertex(e,t,o,i,n,r=!1){const a=t.y*i-t.x,s=-t.y-t.x*i;this.addHalfVertex(e,t.x+t.y*o,t.y-t.x*o,r,!1,o,n),this.addHalfVertex(e,a,s,r,!0,-i,n)}addHalfVertex({x:e,y:t},o,i,n,r,a,s){this.layoutVertexArray.emplaceBack((e<<1)+(n?1:0),(t<<1)+(r?1:0),Math.round(63*o)+128,Math.round(63*i)+128,1+(0===a?0:a<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineSoFar);const p=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,p),s.primitiveLength++),r?this.e2=p:this.e1=p}updateScaledDistance(){if(this.lineClips){const e=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=e*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}Gn("LineBucket",Zc,{omit:["layers","patternFeatures"]});const $c=new sa({"line-cap":new ia(At.layout_line["line-cap"]),"line-join":new ia(At.layout_line["line-join"]),"line-miter-limit":new oa(At.layout_line["line-miter-limit"]),"line-round-limit":new oa(At.layout_line["line-round-limit"]),"line-sort-key":new ia(At.layout_line["line-sort-key"])});var Kc={paint:new sa({"line-opacity":new ia(At.paint_line["line-opacity"]),"line-color":new ia(At.paint_line["line-color"]),"line-translate":new oa(At.paint_line["line-translate"]),"line-translate-anchor":new oa(At.paint_line["line-translate-anchor"]),"line-width":new ia(At.paint_line["line-width"]),"line-gap-width":new ia(At.paint_line["line-gap-width"]),"line-offset":new ia(At.paint_line["line-offset"]),"line-blur":new ia(At.paint_line["line-blur"]),"line-dasharray":new na(At.paint_line["line-dasharray"]),"line-pattern":new na(At.paint_line["line-pattern"]),"line-gradient":new aa(At.paint_line["line-gradient"])}),layout:$c};const Jc=new class extends ia{possiblyEvaluate(e,t){return t=new Vr(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,o,i){return t=te({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,o,i)}}(Kc.paint.properties["line-width"].specification);function Qc(e,t){return t>0?t+2*e:e}Jc.useIntegerZoom=!0;const el=da([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"},{name:"a_z_tile_anchor",components:4,type:"Int16"}],4),tl=da([{name:"a_projected_pos",components:3,type:"Float32"}],4);da([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const ol=da([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),il=da([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"}]);da([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const nl=da([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),rl=da([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);da([{name:"triangle",components:3,type:"Uint16"}]),da([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"},{type:"Uint8",name:"flipState"}]),da([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),da([{type:"Float32",name:"offsetX"}]),da([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var al=24;const sl=128;function pl(e,t){const{expression:o}=t;if("constant"===o.kind)return{kind:"constant",layoutSize:o.evaluate(new Vr(e+1))};if("source"===o.kind)return{kind:"source"};{const{zoomStops:t,interpolationType:i}=o;let n=0;for(;n {e.text=function(e,t,o){const i=t.layout.get("text-transform").evaluate(o,{});return"uppercase"===i?e=e.toLocaleUpperCase():"lowercase"===i&&(e=e.toLocaleLowerCase()),Ur.applyArabicShaping&&(e=Ur.applyArabicShaping(e)),e}(e.text,t,o)})),e}const ul={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};function Ml(e){return"︶"===e||"﹈"===e||"︸"===e||"﹄"===e||"﹂"===e||"︾"===e||"︼"===e||"︺"===e||"︘"===e||"﹀"===e||"︐"===e||"︓"===e||"︔"===e||"`"===e||" ̄"===e||"︑"===e||"︒"===e}function zl(e){return"︵"===e||"﹇"===e||"︷"===e||"﹃"===e||"﹁"===e||"︽"===e||"︻"===e||"︹"===e||"︗"===e||"︿"===e}var ml=function(e,t,o,i,n){var r,a,s=8*n-i-1,p=(1< >1,l=-7,b=o?n-1:0,d=o?-1:1,u=e[t+b];for(b+=d,r=u&(1<<-l)-1,u>>=-l,l+=s;l>0;r=256*r+e[t+b],b+=d,l-=8);for(a=r&(1<<-l)-1,r>>=-l,l+=i;l>0;a=256*a+e[t+b],b+=d,l-=8);if(0===r)r=1-c;else{if(r===p)return a?NaN:1/0*(u?-1:1);a+=Math.pow(2,i),r-=c}return(u?-1:1)*a*Math.pow(2,r-i)},hl=function(e,t,o,i,n,r){var a,s,p,c=8*r-n-1,l=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,u=i?0:r-1,M=i?1:-1,z=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(p=Math.pow(2,-a))<1&&(a--,p*=2),(t+=a+b>=1?d/p:d*Math.pow(2,1-b))*p>=2&&(a++,p/=2),a+b>=l?(s=0,a=l):a+b>=1?(s=(t*p-1)*Math.pow(2,n),a+=b):(s=t*Math.pow(2,b-1)*Math.pow(2,n),a=0));n>=8;e[o+u]=255&s,u+=M,s/=256,n-=8);for(a=a< 0;e[o+u]=255&a,u+=M,a/=256,c-=8);e[o+u-M]|=128*z},Ol=fl;function fl(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}fl.Varint=0,fl.Fixed64=1,fl.Bytes=2,fl.Fixed32=5;var Al=4294967296,_l=1/Al,gl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function ql(e){return e.type===fl.Bytes?e.readVarint()+e.pos:e.pos+1}function yl(e,t,o){return o?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function vl(e,t,o){var i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));o.realloc(i);for(var n=o.pos-1;n>=e;n--)o.buf[n+i]=o.buf[n]}function xl(e,t){for(var o=0;o >>8,e[o+2]=t>>>16,e[o+3]=t>>>24}function Dl(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function Cl(e,t,o){t.glyphs=[],1===e&&o.readMessage(Nl,t)}function Nl(e,t,o){if(3===e){const{id:e,bitmap:i,width:n,height:r,left:a,top:s,advance:p}=o.readMessage(Pl,{});t.glyphs.push({id:e,bitmap:new wp({width:n+6,height:r+6},i),metrics:{width:n,height:r,left:a,top:s,advance:p}})}else 4===e?t.ascender=o.readSVarint():5===e&&(t.descender=o.readSVarint())}function Pl(e,t,o){1===e?t.id=o.readVarint():2===e?t.bitmap=o.readBytes():3===e?t.width=o.readVarint():4===e?t.height=o.readVarint():5===e?t.left=o.readSVarint():6===e?t.top=o.readSVarint():7===e&&(t.advance=o.readVarint())}function Il(e){let t=0,o=0;for(const i of e)t+=i.w*i.h,o=Math.max(o,i.w);e.sort(((e,t)=>t.h-e.h));const i=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),o),h:1/0}];let n=0,r=0;for(const t of e)for(let e=i.length-1;e>=0;e--){const o=i[e];if(!(t.w>o.w||t.h>o.h)){if(t.x=o.x,t.y=o.y,r=Math.max(r,t.y+t.h),n=Math.max(n,t.x+t.w),t.w===o.w&&t.h===o.h){const t=i.pop();e >3,r=this.pos;this.type=7&i,e(n,t,this),this.pos===r&&this.skip(i)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Xl(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=Dl(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Xl(this.buf,this.pos)+Xl(this.buf,this.pos+4)*Al;return this.pos+=8,e},readSFixed64:function(){var e=Xl(this.buf,this.pos)+Dl(this.buf,this.pos+4)*Al;return this.pos+=8,e},readFloat:function(){var e=ml(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=ml(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,o,i=this.buf;return t=127&(o=i[this.pos++]),o<128?t:(t|=(127&(o=i[this.pos++]))<<7,o<128?t:(t|=(127&(o=i[this.pos++]))<<14,o<128?t:(t|=(127&(o=i[this.pos++]))<<21,o<128?t:function(e,t,o){var i,n,r=o.buf;if(i=(112&(n=r[o.pos++]))>>4,n<128)return yl(e,i,t);if(i|=(127&(n=r[o.pos++]))<<3,n<128)return yl(e,i,t);if(i|=(127&(n=r[o.pos++]))<<10,n<128)return yl(e,i,t);if(i|=(127&(n=r[o.pos++]))<<17,n<128)return yl(e,i,t);if(i|=(127&(n=r[o.pos++]))<<24,n<128)return yl(e,i,t);if(i|=(1&(n=r[o.pos++]))<<31,n<128)return yl(e,i,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(o=i[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&gl?function(e,t,o){return gl.decode(e.subarray(t,o))}(this.buf,t,e):function(e,t,o){for(var i="",n=t;n 239?4:p>223?3:p>191?2:1;if(n+l>o)break;1===l?p<128&&(c=p):2===l?128==(192&(r=e[n+1]))&&(c=(31&p)<<6|63&r)<=127&&(c=null):3===l?(a=e[n+2],128==(192&(r=e[n+1]))&&128==(192&a)&&((c=(15&p)<<12|(63&r)<<6|63&a)<=2047||c>=55296&&c<=57343)&&(c=null)):4===l&&(a=e[n+2],s=e[n+3],128==(192&(r=e[n+1]))&&128==(192&a)&&128==(192&s)&&((c=(15&p)<<18|(63&r)<<12|(63&a)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,l=1):c>65535&&(c-=65536,i+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),i+=String.fromCharCode(c),n+=l}return i}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==fl.Bytes)return e.push(this.readVarint(t));var o=ql(this);for(e=e||[];this.pos 127;);else if(t===fl.Bytes)this.pos=this.readVarint()+this.pos;else if(t===fl.Fixed32)this.pos+=4;else{if(t!==fl.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t 268435455||e<0?function(e,t){var o,i;if(e>=0?(o=e%4294967296|0,i=e/4294967296|0):(i=~(-e/4294967296),4294967295^(o=~(-e%4294967296))?o=o+1|0:(o=0,i=i+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,o){o.buf[o.pos++]=127&e|128,e>>>=7,o.buf[o.pos++]=127&e|128,e>>>=7,o.buf[o.pos++]=127&e|128,e>>>=7,o.buf[o.pos++]=127&e|128,o.buf[o.pos]=127&(e>>>=7)}(o,0,t),function(e,t){var o=(7&e)<<4;t.buf[t.pos++]|=o|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(i,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,o){for(var i,n,r=0;r 55295&&i<57344){if(!n){i>56319||r+1===t.length?(e[o++]=239,e[o++]=191,e[o++]=189):n=i;continue}if(i<56320){e[o++]=239,e[o++]=191,e[o++]=189,n=i;continue}i=n-55296<<10|i-56320|65536,n=null}else n&&(e[o++]=239,e[o++]=191,e[o++]=189,n=null);i<128?e[o++]=i:(i<2048?e[o++]=i>>6|192:(i<65536?e[o++]=i>>12|224:(e[o++]=i>>18|240,e[o++]=i>>12&63|128),e[o++]=i>>6&63|128),e[o++]=63&i|128)}return o}(this.buf,e,this.pos);var o=this.pos-t;o>=128&&vl(t,o,this),this.pos=t-1,this.writeVarint(o),this.pos+=o},writeFloat:function(e){this.realloc(4),hl(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),hl(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var o=0;o =128&&vl(o,i,this),this.pos=o-1,this.writeVarint(i),this.pos+=i},writeMessage:function(e,t,o){this.writeTag(e,fl.Bytes),this.writeRawMessage(t,o)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,xl,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Wl,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Rl,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,wl,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Ll,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Tl,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,kl,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Bl,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Sl,t)},writeBytesField:function(e,t){this.writeTag(e,fl.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,fl.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,fl.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,fl.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,fl.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,fl.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,fl.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,fl.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,fl.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,fl.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};class Yl{constructor(e,{pixelRatio:t,version:o,stretchX:i,stretchY:n,content:r}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=i,this.stretchY=n,this.content=r,this.version=o}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class jl{constructor(e,t){const o={},i={};this.haveRenderCallbacks=[];const n=[];this.addImages(e,o,n),this.addImages(t,i,n);const{w:r,h:a}=Il(n),s=new Lp({width:r||1,height:a||1});for(const t in e){const i=e[t],n=o[t].paddedRect;Lp.copy(i.data,s,{x:0,y:0},{x:n.x+1,y:n.y+1},i.data)}for(const e in t){const o=t[e],n=i[e].paddedRect,r=n.x+1,a=n.y+1,p=o.data.width,c=o.data.height;Lp.copy(o.data,s,{x:0,y:0},{x:r,y:a},o.data),Lp.copy(o.data,s,{x:0,y:c-1},{x:r,y:a-1},{width:p,height:1}),Lp.copy(o.data,s,{x:0,y:0},{x:r,y:a+c},{width:p,height:1}),Lp.copy(o.data,s,{x:p-1,y:0},{x:r-1,y:a},{width:1,height:c}),Lp.copy(o.data,s,{x:0,y:0},{x:r+p,y:a},{width:1,height:c})}this.image=s,this.iconPositions=o,this.patternPositions=i}addImages(e,t,o){for(const i in e){const n=e[i],r={x:0,y:0,w:n.data.width+2,h:n.data.height+2};o.push(r),t[i]=new Yl(r,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(i)}}patchUpdatedImages(e,t){e.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const o in e.updatedImages)this.patchUpdatedImage(this.iconPositions[o],e.getImage(o),t),this.patchUpdatedImage(this.patternPositions[o],e.getImage(o),t)}patchUpdatedImage(e,t,o){if(!e||!t)return;if(e.version===t.version)return;e.version=t.version;const[i,n]=e.tl;o.update(t.data,void 0,{x:i,y:n})}}Gn("ImagePosition",Yl),Gn("ImageAtlas",jl);const Fl={horizontal:1,vertical:2,horizontalOnly:3};class Hl{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(e,t){const o=new Hl;return o.scale=e||1,o.fontStack=t,o}static forImage(e){const t=new Hl;return t.imageName=e,t}}class Ul{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(e,t){const o=new Ul;for(let i=0;i =0&&o>=e&&Gl[this.text.charCodeAt(o)];o--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){const o=new Ul;return o.text=this.text.substring(e,t),o.sectionIndex=this.sectionIndex.slice(e,t),o.sections=this.sections,o}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(Hl.forText(e.scale,e.fontStack||t));const o=this.sections.length-1;for(let t=0;t =63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Vl(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z){const m=Ul.fromFeature(e,n);let h;b===Fl.vertical&&m.verticalizePunctuation(d);const{processBidirectionalText:O,processStyledBidirectionalText:f}=Ur;if(O&&1===m.sections.length){h=[];const e=O(m.toString(),tb(m,c,r,t,i,u,M));for(const t of e){const e=new Ul;e.text=t,e.sections=m.sections;for(let o=0;o 0&&r>_&&(_=r)}else{const e=o[s.fontStack];if(!e)continue;e[z]&&(y=e[z]);const i=t[s.fontStack];if(!i)continue;const r=i.glyphs[z];if(!r)continue;if(f=r.metrics,x=8203!==z?al:0,m){const e=void 0!==i.ascender?Math.abs(i.ascender):0,t=void 0!==i.descender?Math.abs(i.descender):0,o=(e+t)*h;g =0;let l=0;for(let o=0;o -o/2;){if(a--,a<0)return!1;s-=e[a].dist(r),r=e[a]}s+=e[a].dist(e[a+1]),a++;const p=[];let c=0;for(;s i;)c-=p.shift().angleDelta;if(c>n)return!1;a++,s+=t.dist(o)}return!0}function pb(e){let t=0;for(let o=0;o c){const l=(c-p)/r,b=No(i.x,n.x,l),d=No(i.y,n.y,l),u=new ab(b,d,0,n.angleTo(i),o);return!a||sb(e,u,s,a,t)?u:void 0}p+=r}}function db(e,t,o,i,n,r,a,s,p){const c=cb(i,r,a),l=lb(i,n),b=l*a,d=0===e[0].x||e[0].x===p||0===e[0].y||e[0].y===p;return t-b =0&&h =0&&O
=0&&d+c<=l){const o=new ab(h,O,0,z,t);o._round(),i&&!sb(e,o,r,i,n)||u.push(o)}}b+=M}return s||u.length||a||(u=ub(e,b/2,o,i,n,r,a,!0,p)),u}function Mb(e,t,o,i,n){const a=[];for(let s=0;s
=i&&l.x>=i||(s.x>=i?s=new r(i,s.y+(i-s.x)/(l.x-s.x)*(l.y-s.y))._round():l.x>=i&&(l=new r(i,s.y+(i-s.x)/(l.x-s.x)*(l.y-s.y))._round()),s.y>=n&&l.y>=n||(s.y>=n?s=new r(s.x+(n-s.y)/(l.y-s.y)*(l.x-s.x),n)._round():l.y>=n&&(l=new r(s.x+(n-s.y)/(l.y-s.y)*(l.x-s.x),n)._round()),c&&s.equals(c[c.length-1])||(c=[s],a.push(c)),c.push(l)))))}}return a}Gn("Anchor",ab);const zb=1e20;function mb(e,t,o,i,n,r,a,s,p){for(let c=t;c -1);p++,r[p]=s,a[p]=c,a[p+1]=zb}for(let s=0,p=0;s{let i=this.entries[e];i||(i=this.entries[e]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let n=i.glyphs[t];if(void 0!==n)return void o(null,{stack:e,id:t,glyph:n});if(n=this._tinySDF(i,e,t),n)return i.glyphs[t]=n,void o(null,{stack:e,id:t,glyph:n});const r=Math.floor(t/256);if(256*r>65535)return void o(new Error("glyphs > 65535 not supported"));if(i.ranges[r])return void o(null,{stack:e,id:t,glyph:n});let a=i.requests[r];a||(a=i.requests[r]=[],fb.loadGlyphRange(e,r,this.url,this.requestManager,((e,t)=>{if(t){i.ascender=t.ascender,i.descender=t.descender;for(const e in t.glyphs)this._doesCharSupportLocalGlyph(+e)||(i.glyphs[+e]=t.glyphs[+e]);i.ranges[r]=!0}for(const o of a)o(e,t);delete i.requests[r]}))),a.push(((i,n)=>{i?o(i):n&&o(null,{stack:e,id:t,glyph:n.glyphs[t]||null})}))}),((e,o)=>{if(e)t(e);else if(o){const e={};for(const{stack:t,id:i,glyph:n}of o)void 0===e[t]&&(e[t]={}),void 0===e[t].glyphs&&(e[t].glyphs={}),e[t].glyphs[i]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics},e[t].ascender=this.entries[t].ascender,e[t].descender=this.entries[t].descender;t(null,e)}}))}_doesCharSupportLocalGlyph(e){return this.localGlyphMode!==Ob.none&&(this.localGlyphMode===Ob.all?!!this.localFontFamily:!!this.localFontFamily&&(mr(e)||fr(e)||sr(e)||pr(e))||ar(e))}_tinySDF(e,t,o){const i=this.localFontFamily;if(!i||!this._doesCharSupportLocalGlyph(o))return;let n=e.tinySDF;if(!n){let o="400";/bold/i.test(t)?o="900":/medium/i.test(t)?o="500":/light/i.test(t)&&(o="200"),n=e.tinySDF=new fb.TinySDF({fontFamily:i,fontWeight:o,fontSize:48,buffer:6,radius:16}),n.fontWeight=o}if(this.localGlyphs[n.fontWeight][o])return this.localGlyphs[n.fontWeight][o];const r=String.fromCharCode(o),{data:a,width:s,height:p,glyphWidth:c,glyphHeight:l,glyphLeft:b,glyphTop:d,glyphAdvance:u}=n.draw(r);return this.localGlyphs[n.fontWeight][o]={id:o,bitmap:new wp({width:s,height:p},a),metrics:{width:c/2,height:l/2,left:b/2,top:d/2-27,advance:u/2,localGlyph:!0}}}}function Ab(e,t,o,i){const n=[],a=e.image,s=a.pixelRatio,p=a.paddedRect.w-2,c=a.paddedRect.h-2,l=e.right-e.left,b=e.bottom-e.top,d=a.stretchX||[[0,p]],u=a.stretchY||[[0,c]],M=(e,t)=>e+t[1]-t[0],z=d.reduce(M,0),m=u.reduce(M,0),h=p-z,O=c-m;let f=0,A=z,_=0,g=m,q=0,y=h,v=0,x=O;if(a.content&&i){const e=a.content;f=_b(d,0,e[0]),_=_b(u,0,e[1]),A=_b(d,e[0],e[2]),g=_b(u,e[1],e[3]),q=e[0]-f,v=e[1]-_,y=e[2]-e[0]-A,x=e[3]-e[1]-g}const W=(i,n,p,c)=>{const d=qb(i.stretch-f,A,l,e.left),u=yb(i.fixed-q,y,i.stretch,z),M=qb(n.stretch-_,g,b,e.top),h=yb(n.fixed-v,x,n.stretch,m),O=qb(p.stretch-f,A,l,e.left),W=yb(p.fixed-q,y,p.stretch,z),w=qb(c.stretch-_,g,b,e.top),L=yb(c.fixed-v,x,c.stretch,m),R=new r(d,M),T=new r(O,M),k=new r(O,w),B=new r(d,w),S=new r(u/s,h/s),X=new r(W/s,L/s),E=t*Math.PI/180;if(E){const e=Math.sin(E),t=Math.cos(E),o=[t,-e,e,t];R._matMult(o),T._matMult(o),B._matMult(o),k._matMult(o)}const D=i.stretch+i.fixed,C=n.stretch+n.fixed;return{tl:R,tr:T,bl:B,br:k,tex:{x:a.paddedRect.x+1+D,y:a.paddedRect.y+1+C,w:p.stretch+p.fixed-D,h:c.stretch+c.fixed-C},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:S,pixelOffsetBR:X,minFontScaleX:y/s/l,minFontScaleY:x/s/b,isSDF:o}};if(i&&(a.stretchX||a.stretchY)){const e=gb(d,h,z),t=gb(u,O,m);for(let o=0;o {if(e)n(e);else if(t){const e={},o=function(e){return new Ol(e).readFields(Cl,{})}(t);for(const t of o.glyphs)e[t.id]=t;n(null,{glyphs:e,ascender:o.ascender,descender:o.descender})}}))},fb.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:o=8,cutoff:i=.25,fontFamily:n="sans-serif",fontWeight:r="normal",fontStyle:a="normal"}){this.buffer=t,this.cutoff=i,this.radius=o;const s=this.size=e+4*t,p=this._createCanvas(s),c=this.ctx=p.getContext("2d",{willReadFrequently:!0});c.font=`${a} ${r} ${e}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(e){const t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){const{width:t,actualBoundingBoxAscent:o,actualBoundingBoxDescent:i,actualBoundingBoxLeft:n,actualBoundingBoxRight:r}=this.ctx.measureText(e),a=Math.floor(o),s=Math.min(this.size-this.buffer,Math.ceil(r-n)),p=Math.min(this.size-this.buffer,Math.ceil(o)+Math.ceil(i)),c=s+2*this.buffer,l=p+2*this.buffer,b=c*l,d=new Uint8ClampedArray(b),u={data:d,width:c,height:l,glyphWidth:s,glyphHeight:p,glyphTop:a,glyphLeft:0,glyphAdvance:t};if(0===s||0===p)return u;const{ctx:M,buffer:z,gridInner:m,gridOuter:h}=this;M.clearRect(z,z,s,p),M.fillText(e,z,z+a+1);const O=M.getImageData(z,z,s,p);h.fill(zb,0,b),m.fill(0,0,b);for(let e=0;e 0?e*e:0,m[i]=e<0?e*e:0}}mb(h,0,0,c,l,c,this.f,this.v,this.z),mb(m,z,z,s,p,c,this.f,this.v,this.z);for(let e=0;e0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:o}=this,i=t[e];for(;e>0;){const n=e-1>>1,r=t[n];if(o(i,r)>=0)break;t[e]=r,e=n}t[e]=i}_down(e){const{data:t,compare:o}=this,i=this.length>>1,n=t[e];for(;e=0)break;t[e]=r,e=i}t[e]=n}}function Wb(e,t){return e
t?1:0}function wb(e,t=1,o=!1){let i=1/0,n=1/0,a=-1/0,s=-1/0;const p=e[0];for(let e=0;e a)&&(a=t.x),(!e||t.y>s)&&(s=t.y)}const c=Math.min(a-i,s-n);let l=c/2;const b=new xb([],Lb);if(0===c)return new r(i,n);for(let t=i;td.d||!d.d)&&(d=i,o&&console.log("found best %d after %d probes",Math.round(1e4*i.d)/1e4,u)),i.max-d.d<=t||(l=i.h/2,b.push(new Rb(i.p.x-l,i.p.y-l,l,e)),b.push(new Rb(i.p.x+l,i.p.y-l,l,e)),b.push(new Rb(i.p.x-l,i.p.y+l,l,e)),b.push(new Rb(i.p.x+l,i.p.y+l,l,e)),u+=4)}return o&&(console.log(`num probes: ${u}`),console.log(`best distance: ${d.d}`)),d.p}function Lb(e,t){return t.max-e.max}function Rb(e,t,o,i){this.p=new r(e,t),this.h=o,this.d=function(e,t){let o=!1,i=1/0;for(let n=0;n e.y!=s.y>e.y&&e.x<(s.x-n.x)*(e.y-n.y)/(s.y-n.y)+n.x&&(o=!o),i=Math.min(i,ap(e,n,s))}}return(o?1:-1)*Math.sqrt(i)}(this.p,i),this.max=this.d+this.h*Math.SQRT2}const Tb=Number.POSITIVE_INFINITY,kb=Math.sqrt(2);function Bb(e,t){return t[1]!==Tb?function(e,t,o){let i=0,n=0;switch(t=Math.abs(t),o=Math.abs(o),e){case"top-right":case"top-left":case"top":n=o-7;break;case"bottom-right":case"bottom-left":case"bottom":n=7-o}switch(e){case"top-right":case"bottom-right":case"right":i=-t;break;case"top-left":case"bottom-left":case"left":i=t}return[i,n]}(e,t[0],t[1]):function(e,t){let o=0,i=0;t<0&&(t=0);const n=t/kb;switch(e){case"top-right":case"top-left":i=n-7;break;case"bottom-right":case"bottom-left":i=7-n;break;case"bottom":i=7-t;break;case"top":i=t-7}switch(e){case"top-right":case"bottom-right":o=-n;break;case"top-left":case"bottom-left":o=n;break;case"left":o=t;break;case"right":o=-t}return[o,i]}(e,t[0])}function Sb(e,t,o,i,n,r,a,s,p,c){e.createArrays(),e.tilePixelRatio=Rs/(512*e.overscaling),e.compareText={},e.iconsNeedLinear=!1;const l=e.layers[0].layout,b=e.layers[0]._unevaluatedLayout._values,d={};if("composite"===e.textSizeData.kind){const{minZoom:t,maxZoom:o}=e.textSizeData;d.compositeTextSizes=[b["text-size"].possiblyEvaluate(new Vr(t),s),b["text-size"].possiblyEvaluate(new Vr(o),s)]}if("composite"===e.iconSizeData.kind){const{minZoom:t,maxZoom:o}=e.iconSizeData;d.compositeIconSizes=[b["icon-size"].possiblyEvaluate(new Vr(t),s),b["icon-size"].possiblyEvaluate(new Vr(o),s)]}d.layoutTextSize=b["text-size"].possiblyEvaluate(new Vr(p+1),s),d.layoutIconSize=b["icon-size"].possiblyEvaluate(new Vr(p+1),s),d.textMaxSize=b["text-size"].possiblyEvaluate(new Vr(18),s);const u="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),M=l.get("text-size");for(const r of e.features){const p=l.get("text-font").evaluate(r,{},s).join(","),b=M.evaluate(r,{},s),z=d.layoutTextSize.evaluate(r,{},s),m=(d.layoutIconSize.evaluate(r,{},s),{horizontal:{},vertical:void 0}),h=r.text;let O,f=[0,0];if(h){const i=h.toString(),a=l.get("text-letter-spacing").evaluate(r,{},s)*al,c=l.get("text-line-height").evaluate(r,{},s)*al,d=wr(i)?a:0,M=l.get("text-anchor").evaluate(r,{},s),O=l.get("text-variable-anchor");if(!O){const e=l.get("text-radial-offset").evaluate(r,{},s);f=e?Bb(M,[e*al,Tb]):l.get("text-offset").evaluate(r,{},s).map((e=>e*al))}let A=u?"center":l.get("text-justify").evaluate(r,{},s);const _=l.get("symbol-placement"),g="point"===_,q="point"===_?l.get("text-max-width").evaluate(r,{},s)*al:0,y=r=>{e.allowVerticalPlacement&&Wr(i)&&(m.vertical=Vl(h,t,o,n,p,q,c,M,r,d,f,Fl.vertical,!0,_,z,b))};if(!u&&O){const e="auto"===A?O.map((e=>Xb(e))):[A];let i=!1;for(let r=0;r =0||!Wr(i)){const e=Vl(h,t,o,n,p,q,c,M,A,d,f,Fl.horizontal,!1,_,z,b);e&&(m.horizontal[A]=e)}y("point"===_?"left":A)}}let A=!1;if(r.icon&&r.icon.name){const t=i[r.icon.name];t&&(O=nb(n[r.icon.name],l.get("icon-offset").evaluate(r,{},s),l.get("icon-anchor").evaluate(r,{},s)),A=t.sdf,void 0===e.sdfIcons?e.sdfIcons=t.sdf:e.sdfIcons!==t.sdf&&ue("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(t.pixelRatio!==e.pixelRatio||0!==l.get("icon-rotate").constantOr(1))&&(e.iconsNeedLinear=!0))}const _=Nb(m.horizontal)||m.vertical;e.iconsInText||(e.iconsInText=!!_&&_.iconsInText),(_||O)&&Eb(e,r,m,O,i,d,z,0,f,A,a,s,c)}r&&e.generateCollisionDebugBuffers(p,e.collisionBoxArray)}function Xb(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Eb(e,t,o,i,n,r,a,s,p,c,l,b,d){let u=r.textMaxSize.evaluate(t,{},b);void 0===u&&(u=a);const M=e.layers[0].layout,z=M.get("icon-offset").evaluate(t,{},b),m=Nb(o.horizontal)||o.vertical,h=a/24,O=e.tilePixelRatio*u/24,f=e.tilePixelRatio*M.get("symbol-spacing"),A=M.get("text-padding")*e.tilePixelRatio,_=M.get("icon-padding")*e.tilePixelRatio,g=F(M.get("text-max-angle")),q="map"===M.get("text-rotation-alignment")&&"point"!==M.get("symbol-placement"),y="map"===M.get("icon-rotation-alignment")&&"point"!==M.get("symbol-placement"),v=M.get("symbol-placement"),x=f/2,W=M.get("icon-text-fit");let w;i&&"none"!==W&&(e.allowVerticalPlacement&&o.vertical&&(w=rb(i,o.vertical,W,M.get("icon-text-fit-padding"),z,h)),m&&(i=rb(i,m,W,M.get("icon-text-fit-padding"),z,h)));const L=(a,s,u)=>{if(s.x<0||s.x>=Rs||s.y<0||s.y>=Rs)return;const{x:M,y:m,z:h}=d.projectTilePoint(s.x,s.y,u),O=new ab(M,m,h,0,void 0);!function(e,t,o,i,n,r,a,s,p,c,l,b,d,u,M,z,m,h,O,f,A,_,g,q,y){const v=e.addToLineVertexArray(t,i);let x,W,w,L,R,T,k,B=0,S=0,X=0,E=0,D=-1,C=-1;const N={};let P=Qa(""),I=0,Y=0;if(void 0===p._unevaluatedLayout.getValue("text-radial-offset")?[I,Y]=p.layout.get("text-offset").evaluate(A,{},y).map((e=>e*al)):(I=p.layout.get("text-radial-offset").evaluate(A,{},y)*al,Y=Tb),e.allowVerticalPlacement&&n.vertical){const e=n.vertical;if(M)T=Ib(e),s&&(k=Ib(s));else{const i=p.layout.get("text-rotate").evaluate(A,{},y)+90;w=Pb(c,o,t,l,b,d,e,u,i,z),s&&(L=Pb(c,o,t,l,b,d,s,h,i))}}if(r){const i=p.layout.get("icon-rotate").evaluate(A,{},y),n="none"!==p.layout.get("icon-text-fit"),a=Ab(r,i,g,n),u=s?Ab(s,i,g,n):void 0;W=Pb(c,o,t,l,b,d,r,h,i),B=4*a.length;const M=e.iconSizeData;let z=null;"source"===M.kind?(z=[sl*p.layout.get("icon-size").evaluate(A,{},y)],z[0]>Db&&ue(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===M.kind&&(z=[sl*_.compositeIconSizes[0].evaluate(A,{},y),sl*_.compositeIconSizes[1].evaluate(A,{},y)],(z[0]>Db||z[1]>Db)&&ue(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,z,f,O,A,!1,o,t,v.lineStartIndex,v.lineLength,-1,q,y),D=e.icon.placedSymbolArray.length-1,u&&(S=4*u.length,e.addSymbols(e.icon,u,z,f,O,A,Fl.vertical,o,t,v.lineStartIndex,v.lineLength,-1,q,y),C=e.icon.placedSymbolArray.length-1)}for(const i in n.horizontal){const r=n.horizontal[i];x||(P=Qa(r.text),M?R=Ib(r):x=Pb(c,o,t,l,b,d,r,u,p.layout.get("text-rotate").evaluate(A,{},y),z));const s=1===r.positionedLines.length;if(X+=Cb(e,o,t,r,a,p,M,A,z,v,n.vertical?Fl.horizontal:Fl.horizontalOnly,s?Object.keys(n.horizontal):[i],N,D,_,q,y),s)break}n.vertical&&(E+=Cb(e,o,t,n.vertical,a,p,M,A,z,v,Fl.vertical,["vertical"],N,C,_,q,y));let j=-1;const F=(e,t)=>e?Math.max(e,t):t;j=F(R,j),j=F(T,j),j=F(k,j);const H=j>-1?1:0;e.glyphOffsetArray.length>=$b.MAX_GLYPHS&&ue("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==A.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,A.sortKey),e.symbolInstances.emplaceBack(o.x,o.y,o.z,t.x,t.y,N.right>=0?N.right:-1,N.center>=0?N.center:-1,N.left>=0?N.left:-1,N.vertical>=0?N.vertical:-1,D,C,P,void 0!==x?x:e.collisionBoxArray.length,void 0!==x?x+1:e.collisionBoxArray.length,void 0!==w?w:e.collisionBoxArray.length,void 0!==w?w+1:e.collisionBoxArray.length,void 0!==W?W:e.collisionBoxArray.length,void 0!==W?W+1:e.collisionBoxArray.length,L||e.collisionBoxArray.length,L?L+1:e.collisionBoxArray.length,l,X,E,B,S,H,0,I,Y,j)}(e,s,O,a,o,i,n,w,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,A,q,p,0,_,y,z,t,r,c,l,b)};if("line"===v)for(const n of Mb(t.geometry,0,0,Rs,Rs)){const t=db(n,f,g,o.vertical||m,i,24,O,e.overscaling,Rs);for(const o of t){const t=m;t&&Yb(e,t.text,x,o)||L(n,o,b)}}else if("line-center"===v){for(const e of t.geometry)if(e.length>1){const t=bb(e,g,o.vertical||m,i,24,O);t&&L(e,t,b)}}else if("Polygon"===t.type)for(const e of uc(t.geometry,0)){const t=wb(e,16);L(e[0],new ab(t.x,t.y,0,0,void 0),b)}else if("LineString"===t.type)for(const e of t.geometry)L(e,new ab(e[0].x,e[0].y,0,0,void 0),b);else if("Point"===t.type)for(const e of t.geometry)for(const t of e)L([t],new ab(t.x,t.y,0,0,void 0),b)}const Db=32640;function Cb(e,t,o,i,n,a,s,p,c,l,b,d,u,M,z,m,h){const O=function(e,t,o,i,n,a,s,p){const c=[];if(0===t.positionedLines.length)return c;const l=i.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,b=function(e){const t=e[0],o=e[1],i=t*o;return i>0?[t,-o]:i<0?[-t,o]:0===t?[o,t]:[o,-t]}(o);let d=Math.abs(t.top-t.bottom);for(const e of t.positionedLines)d-=e.lineOffset;const u=t.positionedLines.length,M=d/u;let z=t.top-o[1];for(let e=0;eDb&&ue(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===f.kind&&(A=[sl*z.compositeTextSizes[0].evaluate(p,{},h),sl*z.compositeTextSizes[1].evaluate(p,{},h)],(A[0]>Db||A[1]>Db)&&ue(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,O,A,c,s,p,b,t,o,l.lineStartIndex,l.lineLength,M,m,h);for(const t of d)u[t]=e.text.placedSymbolArray.length-1;return 4*O.length}function Nb(e){for(const t in e)return e[t];return null}function Pb(e,t,o,i,n,a,s,p,c,l){let b=s.top,d=s.bottom,u=s.left,M=s.right;const z=s.collisionPadding;if(z&&(u-=z[0],b-=z[1],M+=z[2],d+=z[3]),c){const e=new r(u,b),t=new r(M,b),o=new r(u,d),i=new r(M,d),n=F(c);let a=new r(0,0);l&&(a=new r(l[0],l[1])),e._rotateAround(n,a),t._rotateAround(n,a),o._rotateAround(n,a),i._rotateAround(n,a),u=Math.min(e.x,t.x,o.x,i.x),M=Math.max(e.x,t.x,o.x,i.x),b=Math.min(e.y,t.y,o.y,i.y),d=Math.max(e.y,t.y,o.y,i.y)}return e.emplaceBack(t.x,t.y,t.z,o.x,o.y,u,b,M,d,p,i,n,a),e.length-1}function Ib(e){e.collisionPadding&&(e.top-=e.collisionPadding[1],e.bottom+=e.collisionPadding[3]);const t=e.bottom-e.top;return t>0?Math.max(10,t):null}function Yb(e,t,o,i){const n=e.compareText;if(t in n){const e=n[t];for(let t=e.length-1;t>=0;t--)if(i.dist(e[t]) e.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=b([]),this.placementViewportMatrix=b([]);const t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=pl(this.zoom,t["text-size"]),this.iconSizeData=pl(this.zoom,t["icon-size"]);const o=this.layers[0].layout,i=o.get("symbol-sort-key"),n=o.get("symbol-z-order");this.canOverlap=o.get("text-allow-overlap")||o.get("icon-allow-overlap")||o.get("text-ignore-placement")||o.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==n&&void 0!==i.constantOr(1),this.sortFeaturesByY=("viewport-y"===n||"auto"===n&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=o.get("text-writing-mode").map((e=>Fl[e])),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Gb(new fs(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new Gb(new fs(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new ja,this.lineVertexArray=new Fa,this.symbolInstances=new Ya}calculateGlyphDependencies(e,t,o,i,n){for(let o=0;o 0)&&("constant"!==a.value.kind||a.value.value.length>0),l="constant"!==p.value.kind||!!p.value.value||Object.keys(p.parameters).length>0,b=r.get("symbol-sort-key");if(this.features=[],!c&&!l)return;const d=t.iconDependencies,u=t.glyphDependencies,M=t.availableImages,z=new Vr(this.zoom);for(const{feature:t,id:s,index:p,sourceLayerIndex:m}of e){const e=n._featureFilter.needGeometry,h=$s(t,e);if(!n._featureFilter.filter(z,h,o))continue;let O,f;if(e||(h.geometry=Zs(t,o,i)),c){const e=n.getValueAndResolveTokens("text-field",h,o,M),t=Zt.factory(e);Vb(t)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===Fr()||this.hasRTLText&&Ur.isParsed())&&(O=dl(t,n,h))}if(l){const e=n.getValueAndResolveTokens("icon-image",h,o,M);f=e instanceof $t?e:$t.fromString(e)}if(!O&&!f)continue;const A=this.sortFeaturesByKey?b.evaluate(h,{},o):void 0;if(this.features.push({id:s,text:O,icon:f,index:p,sourceLayerIndex:m,geometry:h.geometry,properties:t.properties,type:jb[t.type],sortKey:A}),f&&(d[f.name]=!0),O){const e=a.evaluate(h,{},o).join(","),t="map"===r.get("text-rotation-alignment")&&"point"!==r.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(Fl.vertical)>=0;for(const o of O.sections)if(o.image)d[o.image.name]=!0;else{const i=Wr(O.toString()),n=o.fontStack||e,r=u[n]=u[n]||{};this.calculateGlyphDependencies(o.text,r,t,this.allowVerticalPlacement,i)}}}"line"===r.get("symbol-placement")&&(this.features=function(e){const t={},o={},i=[];let n=0;function r(t){i.push(e[t]),n++}function a(e,t,n){const r=o[e];return delete o[e],o[t]=r,i[r].geometry[0].pop(),i[r].geometry[0]=i[r].geometry[0].concat(n[0]),r}function s(e,o,n){const r=t[o];return delete t[o],t[e]=r,i[r].geometry[0].shift(),i[r].geometry[0]=n[0].concat(i[r].geometry[0]),r}function p(e,t,o){const i=o?t[0][t[0].length-1]:t[0][0];return`${e}:${i.x}:${i.y}`}for(let c=0;c e.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,o,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,o,i),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,o,i))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){const o=this.lineVertexArray.length;if(void 0!==e.segment){let o=e.dist(t[e.segment+1]),i=e.dist(t[e.segment]);const n={};for(let i=e.segment+1;i =0;o--)n[o]={x:t[o].x,y:t[o].y,tileUnitDistanceFromAnchor:i},o>0&&(i+=t[o-1].dist(t[o]));for(let e=0;e =0?t.rightJustifiedTextSymbolIndex:t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.leftJustifiedTextSymbolIndex>=0?t.leftJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex>=0?t.verticalPlacedTextSymbolIndex:i),r=cl(this.textSizeData,e,n)/al;return this.tilePixelRatio*r}getSymbolInstanceIconSize(e,t,o){const i=this.icon.placedSymbolArray.get(o),n=cl(this.iconSizeData,e,i);return this.tilePixelRatio*n}_commitDebugCollisionVertexUpdate(e,t,o){e.emplaceBack(t,-o,-o),e.emplaceBack(t,o,-o),e.emplaceBack(t,o,o),e.emplaceBack(t,-o,o)}_updateTextDebugCollisionBoxes(e,t,o,i,n,r){for(let a=i;a 0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){const o=e.placedSymbolArray.get(t),i=o.vertexStartIndex+4*o.numGlyphs;for(let t=o.vertexStartIndex;ti[e]-i[t]||n[t]-n[e])),r}addToSortKeyRanges(e,t){const o=this.sortKeyRanges[this.sortKeyRanges.length-1];o&&o.sortKey===t?o.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const e of this.symbolInstanceIndexes){const t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(((e,t,o)=>{e>=0&&o.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)})),t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Gn("SymbolBucket",$b,{omit:["layers","collisionBoxArray","features","compareText"]}),$b.MAX_GLYPHS=65535,$b.addDynamicAttributes=Ub;const Kb=new sa({"symbol-placement":new oa(At.layout_symbol["symbol-placement"]),"symbol-spacing":new oa(At.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new oa(At.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new ia(At.layout_symbol["symbol-sort-key"]),"symbol-z-order":new oa(At.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new oa(At.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new oa(At.layout_symbol["icon-ignore-placement"]),"icon-optional":new oa(At.layout_symbol["icon-optional"]),"icon-rotation-alignment":new oa(At.layout_symbol["icon-rotation-alignment"]),"icon-size":new ia(At.layout_symbol["icon-size"]),"icon-text-fit":new oa(At.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new oa(At.layout_symbol["icon-text-fit-padding"]),"icon-image":new ia(At.layout_symbol["icon-image"]),"icon-rotate":new ia(At.layout_symbol["icon-rotate"]),"icon-padding":new oa(At.layout_symbol["icon-padding"]),"icon-keep-upright":new oa(At.layout_symbol["icon-keep-upright"]),"icon-offset":new ia(At.layout_symbol["icon-offset"]),"icon-anchor":new ia(At.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new oa(At.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new oa(At.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new oa(At.layout_symbol["text-rotation-alignment"]),"text-field":new ia(At.layout_symbol["text-field"]),"text-font":new ia(At.layout_symbol["text-font"]),"text-size":new ia(At.layout_symbol["text-size"]),"text-max-width":new ia(At.layout_symbol["text-max-width"]),"text-line-height":new ia(At.layout_symbol["text-line-height"]),"text-letter-spacing":new ia(At.layout_symbol["text-letter-spacing"]),"text-justify":new ia(At.layout_symbol["text-justify"]),"text-radial-offset":new ia(At.layout_symbol["text-radial-offset"]),"text-variable-anchor":new oa(At.layout_symbol["text-variable-anchor"]),"text-anchor":new ia(At.layout_symbol["text-anchor"]),"text-max-angle":new oa(At.layout_symbol["text-max-angle"]),"text-writing-mode":new oa(At.layout_symbol["text-writing-mode"]),"text-rotate":new ia(At.layout_symbol["text-rotate"]),"text-padding":new oa(At.layout_symbol["text-padding"]),"text-keep-upright":new oa(At.layout_symbol["text-keep-upright"]),"text-transform":new ia(At.layout_symbol["text-transform"]),"text-offset":new ia(At.layout_symbol["text-offset"]),"text-allow-overlap":new oa(At.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new oa(At.layout_symbol["text-ignore-placement"]),"text-optional":new oa(At.layout_symbol["text-optional"])});var Jb={paint:new sa({"icon-opacity":new ia(At.paint_symbol["icon-opacity"]),"icon-color":new ia(At.paint_symbol["icon-color"]),"icon-halo-color":new ia(At.paint_symbol["icon-halo-color"]),"icon-halo-width":new ia(At.paint_symbol["icon-halo-width"]),"icon-halo-blur":new ia(At.paint_symbol["icon-halo-blur"]),"icon-translate":new oa(At.paint_symbol["icon-translate"]),"icon-translate-anchor":new oa(At.paint_symbol["icon-translate-anchor"]),"text-opacity":new ia(At.paint_symbol["text-opacity"]),"text-color":new ia(At.paint_symbol["text-color"],{runtimeType:kt,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new ia(At.paint_symbol["text-halo-color"]),"text-halo-width":new ia(At.paint_symbol["text-halo-width"]),"text-halo-blur":new ia(At.paint_symbol["text-halo-blur"]),"text-translate":new oa(At.paint_symbol["text-translate"]),"text-translate-anchor":new oa(At.paint_symbol["text-translate-anchor"])}),layout:Kb};class Qb{constructor(e){this.type=e.property.overrides?e.property.overrides.runtimeType:wt,this.defaultValue=e}evaluate(e){if(e.formattedSection){const t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Gn("FormatSectionOverride",Qb,{omit:["defaultValue"]});class ed extends xs{constructor(e){super(e,Jb)}recalculate(e,t){super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const o=this.layout.get("text-writing-mode");if(o){const e=[];for(const t of o)e.indexOf(t)<0&&e.push(t);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides()}getValueAndResolveTokens(e,t,o,i){const n=this.layout.get(e).evaluate(t,{},o,i),r=this._unevaluatedLayout._values[e];return r.isDataDriven()||Hi(r.value)||!n?n:function(e,t){return t.replace(/{([^{}]+)}/g,((t,o)=>o in e?String(e[o]):""))}(t.properties,n)}createBucket(e){return new $b(e)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const e of Jb.paint.overridableProperties){if(!ed.hasPaintOverride(this.layout,e))continue;const t=this.paint.get(e),o=new Qb(t),i=new Fi(o,t.property.specification);let n=null;n="constant"===t.value.kind||"source"===t.value.kind?new Vi("source",i):new Gi("composite",i,t.value.zoomStops,t.value._interpolationType),this.paint._values[e]=new ea(t.property,n,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,o){return!(!this.layout||t.isDataDriven()||o.isDataDriven())&&ed.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){const o=e.get("text-field"),i=Jb.paint.properties[t];let n=!1;const r=e=>{for(const t of e)if(i.overrides&&i.overrides.hasOverride(t))return void(n=!0)};if("constant"===o.value.kind&&o.value.value instanceof Zt)r(o.value.value.sections);else if("source"===o.value.kind){const e=t=>{n||(t instanceof to&&Qt(t.value)===Et?r(t.value.sections):t instanceof ro?r(t.sections):t.eachChild(e))},t=o.value;t._styleExpression&&e(t._styleExpression.expression)}return n}getProgramConfiguration(e){return new Os(this,e)}}var td={paint:new sa({"background-color":new oa(At.paint_background["background-color"]),"background-pattern":new ra(At.paint_background["background-pattern"]),"background-opacity":new oa(At.paint_background["background-opacity"])})},od={paint:new sa({"raster-opacity":new oa(At.paint_raster["raster-opacity"]),"raster-hue-rotate":new oa(At.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new oa(At.paint_raster["raster-brightness-min"]),"raster-brightness-max":new oa(At.paint_raster["raster-brightness-max"]),"raster-saturation":new oa(At.paint_raster["raster-saturation"]),"raster-contrast":new oa(At.paint_raster["raster-contrast"]),"raster-resampling":new oa(At.paint_raster["raster-resampling"]),"raster-fade-duration":new oa(At.paint_raster["raster-fade-duration"])})};class id extends xs{constructor(e){super(e,{}),this.implementation=e}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){}serialize(){}onAdd(e){this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)}onRemove(e){this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)}}var nd={paint:new sa({"sky-type":new oa(At.paint_sky["sky-type"]),"sky-atmosphere-sun":new oa(At.paint_sky["sky-atmosphere-sun"]),"sky-atmosphere-sun-intensity":new oa(At.paint_sky["sky-atmosphere-sun-intensity"]),"sky-gradient-center":new oa(At.paint_sky["sky-gradient-center"]),"sky-gradient-radius":new oa(At.paint_sky["sky-gradient-radius"]),"sky-gradient":new aa(At.paint_sky["sky-gradient"]),"sky-atmosphere-halo-color":new oa(At.paint_sky["sky-atmosphere-halo-color"]),"sky-atmosphere-color":new oa(At.paint_sky["sky-atmosphere-color"]),"sky-opacity":new oa(At.paint_sky["sky-opacity"])})};function rd(e,t,o){const i=_(0,0,1),n=N(C());return function(e,t,o){o*=.5;var i=t[0],n=t[1],r=t[2],a=t[3],s=Math.sin(o),p=Math.cos(o);e[0]=i*p-r*s,e[1]=n*p+a*s,e[2]=r*p+i*s,e[3]=a*p-n*s}(n,n,o?-F(e)+Math.PI:F(e)),P(n,n,-F(t)),k(i,i,n),w(i,i)}const ad={circle:class extends xs{constructor(e){super(e,mp)}createBucket(e){return new Js(e)}queryRadius(e){const t=e;return bp("circle-radius",this,t)+bp("circle-stroke-width",this,t)+dp(this.paint.get("circle-translate"))}queryIntersectsFeature(e,t,o,i,n,r,a,s){const p=Mp(this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),r.angle,e.pixelToTileUnitsFactor),c=this.paint.get("circle-radius").evaluate(t,o)+this.paint.get("circle-stroke-width").evaluate(t,o);return fp(e,i,r,a,s,"map"===this.paint.get("circle-pitch-alignment"),"map"===this.paint.get("circle-pitch-scale"),p,c)}getProgramIds(){return["circle"]}getProgramConfiguration(e){return new Os(this,e)}},heatmap:class extends xs{createBucket(e){return new yp(e)}constructor(e){super(e,Rp),this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){"heatmap-color"===e&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Tp({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(e){return bp("heatmap-radius",this,e)}queryIntersectsFeature(e,t,o,i,n,a,s,p){const c=this.paint.get("heatmap-radius").evaluate(t,o);return fp(e,i,a,s,p,!0,!0,new r(0,0),c)}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}getProgramIds(){return["heatmap","heatmapTexture"]}getProgramConfiguration(e){return new Os(this,e)}},hillshade:class extends xs{constructor(e){super(e,kp)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}getProgramIds(){return["hillshade","hillshadePrepare"]}getProgramConfiguration(e){return new Os(this,e)}},fill:class extends xs{constructor(e){super(e,fc)}getProgramIds(){const e=this.paint.get("fill-pattern"),t=e&&e.constantOr(1),o=[t?"fillPattern":"fill"];return this.paint.get("fill-antialias")&&o.push(t&&!this.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline"),o}getProgramConfiguration(e){return new Os(this,e)}recalculate(e,t){super.recalculate(e,t);const o=this.paint._values["fill-outline-color"];"constant"===o.value.kind&&void 0===o.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(e){return new hc(e)}queryRadius(){return dp(this.paint.get("fill-translate"))}queryIntersectsFeature(e,t,o,i,n,r){return!e.queryGeometry.isAboveHorizon&&tp(up(e.tilespaceGeometry,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),r.angle,e.pixelToTileUnitsFactor),i)}isTileClipped(){return!0}},"fill-extrusion":class extends xs{constructor(e){super(e,Cc)}createBucket(e){return new Ec(e)}queryRadius(){return dp(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}getProgramIds(){return[this.paint.get("fill-extrusion-pattern").constantOr(1)?"fillExtrusionPattern":"fillExtrusion"]}getProgramConfiguration(e){return new Os(this,e)}queryIntersectsFeature(e,t,o,i,n,a,s,p,c){const l=Mp(this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),a.angle,e.pixelToTileUnitsFactor),b=this.paint.get("fill-extrusion-height").evaluate(t,o),d=this.paint.get("fill-extrusion-base").evaluate(t,o),u=[0,0],M=p&&a.elevation,z=a.elevation?a.elevation.exaggeration():1;if(M){const t=e.tile.getBucket(this).centroidVertexArray,o=c+1;if(o =3)for(let t=0;t 1&&(a=e[++r]);const p=Math.abs(s-a.left),c=Math.abs(s-a.right),l=Math.min(p,c);let b;const d=t/o*(i+1);if(a.isDash){const e=i-Math.abs(d);b=Math.sqrt(l*l+e*e)}else b=i-Math.sqrt(l*l+d*d);this.image.data[n+s]=Math.max(0,Math.min(255,b+128))}}}addRegularDash(e,t){for(let t=e.length-1;t>=0;--t){const o=e[t],i=e[t+1];o.zeroLength?e.splice(t,1):i&&i.isDash===o.isDash&&(i.left=o.left,e.splice(t,1))}const o=e[0],i=e[e.length-1];o.isDash===i.isDash&&(o.left=i.left-this.width,i.right=o.right+this.width);const n=this.width*this.nextRow;let r=0,a=e[r];for(let o=0;o 1&&(a=e[++r]);const i=Math.abs(o-a.left),s=Math.abs(o-a.right),p=Math.min(i,s);this.image.data[n+o]=Math.max(0,Math.min(255,(a.isDash?p:-p)+t+128))}}addDash(e,t){const o=this.getKey(e,t);if(this.positions[o])return this.positions[o];const i="round"===t,n=i?7:0,r=2*n+1;if(this.nextRow+r>this.height)return ue("LineAtlas out of space"),null;0===e.length&&e.push(1);let a=0;for(let t=0;t {this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){delete this._channel,this._callback=()=>{}}}const zd=s.performance;function md(e){const t=e?e.url.toString():void 0;return zd.getEntriesByName(t)}class hd{constructor(){this.tasks={},this.taskQueue=[],se(["process"],this),this.invoker=new Md(this.process),this.nextId=0}add(e,t){const o=this.nextId++,i=function({type:e,isSymbolTile:t,zoom:o}){return o=o||0,"message"===e?0:"maybePrepare"!==e||t?"parseTile"!==e||t?"parseTile"===e&&t?300-o:"maybePrepare"===e&&t?400-o:500:200-o:100-o}(t);if(0===i){me();try{e()}finally{}return{cancel:()=>{}}}return this.tasks[o]={fn:e,metadata:t,priority:i,id:o},this.taskQueue.push(o),this.invoker.trigger(),{cancel:()=>{delete this.tasks[o]}}}process(){me();try{if(this.taskQueue=this.taskQueue.filter((e=>!!this.tasks[e])),!this.taskQueue.length)return;const e=this.pick();if(null===e)return;const t=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),!t)return;t.fn()}finally{}}pick(){let e=null,t=1/0;for(let o=0;o 0;r--)i=1< this.canonical.z?new _d(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new _d(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t=!0){if(this.overscaledZ===e&&t)return this.key;if(e>this.canonical.z)return gd(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y);{const o=this.canonical.z-e;return gd(this.wrap*+t,e,e,this.canonical.x>>o,this.canonical.y>>o)}}isChildOf(e){if(e.wrap!==this.wrap)return!1;const t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ >t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new _d(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const t=this.canonical.z+1,o=2*this.canonical.x,i=2*this.canonical.y;return[new _d(t,this.wrap,t,o,i),new _d(t,this.wrap,t,o+1,i),new _d(t,this.wrap,t,o,i+1),new _d(t,this.wrap,t,o+1,i+1)]}isLessThan(e){return this.wrap e.wrap)&&(this.overscaledZ e.overscaledZ)&&(this.canonical.x e.canonical.x)&&this.canonical.y t[a])return null}else{const s=1/i[a];let p=(e[a]-o[a])*s,c=(t[a]-o[a])*s;if(p>c){const e=p;p=c,c=e}if(p>n&&(n=p),c r)return null}return n}function Xd(e,t,o,i,n,r,a,s,p,c,l){const b=i-e,d=n-t,u=r-o,M=a-e,z=s-t,m=p-o,h=l[1]*m-l[2]*z,O=l[2]*M-l[0]*m,f=l[0]*z-l[1]*M,A=b*h+d*O+u*f;if(Math.abs(A)<1e-15)return null;const _=1/A,g=c[0]-e,q=c[1]-t,y=c[2]-o,v=(g*h+q*O+y*f)*_;if(v<0||v>1)return null;const x=q*u-y*d,W=y*b-g*u,w=g*d-q*b,L=(l[0]*x+l[1]*W+l[2]*w)*_;return L<0||v+L>1?null:(M*x+z*W+m*w)*_}function Ed(e,t,o){return(e-t)/(o-t)}function Dd(e,t,o,i,n,r,a,s,p){const c=1< {const r=i?1:0,a=(e+1)*o-r,s=t*o,p=(t+1)*o-r;n[0]=e*o,n[1]=s,n[2]=a,n[3]=p};let a=new Bd(i);const s=[];for(let t=0;t=1;i/=2){const e=o[o.length-1];a=new Bd(i);for(let t=0;t0;){const{idx:s,t:u,nodex:M,nodey:z,depth:m}=d.pop();if(this.leaves[s]){Dd(M,z,m,e,t,o,i,l,b);const s=1< =e[2])return u}continue}let h=0;for(let d=0;d =p[c[o]]&&(c.splice(o,0,d),t=!0);t||(c[h]=d),h++}}for(let e=0;e =this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}_unpackMapbox(e,t,o){return(256*e*256+256*t+o)/10-1e4}_unpackTerrarium(e,t,o){return 256*e+t+o/256-32768}static pack(e,t){const o=[0,0,0,0],i=Yd.getUnpackVector(t);let n=Math.floor((e+i[3])/i[2]);return o[2]=n%256,n=Math.floor(n/256),o[1]=n%256,n=Math.floor(n/256),o[0]=n,o}getPixels(){return new Lp({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,o){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let i=t*this.dim,n=t*this.dim+this.dim,r=o*this.dim,a=o*this.dim+this.dim;switch(t){case-1:i=n-1;break;case 1:n=i+1}switch(o){case-1:r=a-1;break;case 1:a=r+1}const s=-t*this.dim,p=-o*this.dim;for(let t=r;t{this.remove(e,n)}),o)),this.data[i].push(n),this.order.push(i),this.order.length>this.max){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){const t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){const t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;const o=e.wrapped().key,i=void 0===t?0:this.data[o].indexOf(t),n=this.data[o][i];return this.data[o].splice(i,1),n.timeout&&clearTimeout(n.timeout),0===this.data[o].length&&delete this.data[o],this.onRemove(n.value),this.order.splice(this.order.indexOf(o),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){const t=[];for(const o in this.data)for(const i of this.data[o])e(i.value)||t.push(i);for(const e of t)this.remove(e.value.tileID,e)}}class Fd extends ft{constructor(e,t,o){super(),this.id=e,this._onlySymbols=o,t.on("data",(e=>{"source"===e.dataType&&"metadata"===e.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===e.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),t.on("error",(()=>{this._sourceErrored=!0})),this._source=t,this._tiles={},this._cache=new jd(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=null,this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new kd}onAdd(e){this.map=e,this._minTileCacheSize=e?e._minTileCacheSize:null,this._maxTileCacheSize=e?e._maxTileCacheSize:null}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const e in this._tiles){const t=this._tiles[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(e,t){return e.isSymbolTile=this._onlySymbols,this._source.loadTile(e,t)}_unloadTile(e){if(this._source.unloadTile)return this._source.unloadTile(e,(()=>{}))}_abortTile(e){if(this._source.abortTile)return this._source.abortTile(e,(()=>{}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const t in this._tiles){const o=this._tiles[t];o.upload(e),o.prepare(this.map.style.imageManager)}}getIds(){return ee(this._tiles).map((e=>e.tileID)).sort(Hd).map((e=>e.key))}getRenderableIds(e){const t=[];for(const o in this._tiles)this._isIdRenderable(+o,e)&&t.push(this._tiles[o]);return e?t.sort(((e,t)=>{const o=e.tileID,i=t.tileID,n=new r(o.canonical.x,o.canonical.y)._rotate(this.transform.angle),a=new r(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return o.overscaledZ-i.overscaledZ||a.y-n.y||a.x-n.x})).map((e=>e.tileID.key)):t.map((e=>e.tileID)).sort(Hd).map((e=>e.key))}hasRenderableParent(e){const t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(+e,"reloading")}}_reloadTile(e,t){const o=this._tiles[e];o&&("loading"!==o.state&&(o.state=t),this._loadTile(o,this._tileLoaded.bind(this,o,e,t)))}_tileLoaded(e,t,o,i){if(i)if(e.state="errored",404!==i.status)this._source.fire(new Ot(i,{tile:e}));else if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const e=this.map.painter.terrain;this.update(this.transform,e.getScaledDemTileSize(),!0),e.resetTileLookupCache(this.id)}else this.update(this.transform);else e.timeAdded=ye.now(),"expired"===o&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(t,e),"raster-dem"===this._source.type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new ht("data",{dataType:"source",tile:e,coord:e.tileID,sourceCacheId:this.id}))}_backfillDEM(e){const t=this.getRenderableIds();for(let i=0;i 1||(Math.abs(o)>1&&(1===Math.abs(o+n)?o+=n:1===Math.abs(o-n)&&(o-=n)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,o,i),e.neighboringTiles&&e.neighboringTiles[r]&&(e.neighboringTiles[r].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,o,i){for(const n in this._tiles){let r=this._tiles[n];if(i[n]||!r.hasData()||r.tileID.overscaledZ<=t||r.tileID.overscaledZ>o)continue;let a=r.tileID;for(;r&&r.tileID.overscaledZ>t+1;){const e=r.tileID.scaledTo(r.tileID.overscaledZ-1);r=this._tiles[e.key],r&&r.hasData()&&(a=e)}let s=a;for(;s.overscaledZ>t;)if(s=s.scaledTo(s.overscaledZ-1),e[s.key]){i[a.key]=a;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){const o=this._loadedParentTiles[e.key];return o&&o.tileID.overscaledZ>=t?o:null}for(let o=e.overscaledZ-1;o>=t;o--){const t=e.scaledTo(o),i=this._getLoadedTile(t);if(i)return i}}_getLoadedTile(e){const t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(this._source.reparseOverscaled?e.wrapped().key:e.canonical.key)}updateCacheSize(e,t){t=t||this._source.tileSize;const o=Math.ceil(e.width/t)+1,i=Math.ceil(e.height/t)+1,n=Math.floor(o*i*5),r="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,n):n,a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(a)}handleWrapJump(e){const t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){const e={};for(const o in this._tiles){const i=this._tiles[o];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),e[i.tileID.key]=i}this._tiles=e;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,t,o){if(this.transform=e,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!o)return;let i;this.updateCacheSize(e,t),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new _d(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(i=e.coveringTiles({tileSize:t||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!o,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(i=i.filter((e=>this._source.hasTile(e))))):i=[];const n=this._updateRetainedTiles(i);if(Ud(this._source.type)&&0!==i.length){const e={},t={},o=Object.keys(n);for(const i of o){const o=n[i],r=this._tiles[i];if(!r||r.fadeEndTime&&r.fadeEndTime<=ye.now())continue;const a=this.findLoadedParent(o,Math.max(o.overscaledZ-Fd.maxOverzooming,this._source.minzoom));a&&(this._addTile(a.tileID),e[a.tileID.key]=a.tileID),t[i]=o}const r=i[i.length-1].overscaledZ;for(const e in this._tiles){const o=this._tiles[e];if(n[e]||!o.hasData())continue;let i=o.tileID;for(;i.overscaledZ>r;){i=i.scaledTo(i.overscaledZ-1);const r=this._tiles[i.key];if(r&&r.hasData()&&t[i.key]){n[e]=o.tileID;break}}}for(const t in e)n[t]||(this._coveredTiles[t]=!0,n[t]=e[t])}for(const e in n)this._tiles[e].clearFadeHold();const r=function(e,t){const o=[];for(const i in e)i in t||o.push(i);return o}(this._tiles,n);for(const e of r){const t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(+e)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(+e)}_updateRetainedTiles(e){const t={};if(0===e.length)return t;const o={},i=e.reduce(((e,t)=>Math.min(e,t.overscaledZ)),1/0),n=e[0].overscaledZ,r=Math.max(n-Fd.maxOverzooming,this._source.minzoom),a=Math.max(n+Fd.maxUnderzooming,this._source.minzoom),s={};for(const o of e){const e=this._addTile(o);t[o.key]=o,e.hasData()||i =this._source.maxzoom){const e=i.children(this._source.maxzoom)[0],o=this.getTile(e);if(o&&o.hasData()){t[e.key]=e;continue}}else{const e=i.children(this._source.maxzoom);if(t[e[0].key]&&t[e[1].key]&&t[e[2].key]&&t[e[3].key])continue}let n=e.wasRequested();for(let a=i.overscaledZ-1;a>=r;--a){const r=i.scaledTo(a);if(o[r.key])break;if(o[r.key]=!0,e=this.getTile(r),!e&&n&&(e=this._addTile(r)),e&&(t[r.key]=r,n=e.wasRequested(),e.hasData()))break}}return t}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const t=[];let o,i=this._tiles[e].tileID;for(;i.overscaledZ>0;){if(i.key in this._loadedParentTiles){o=this._loadedParentTiles[i.key];break}t.push(i.key);const e=i.scaledTo(i.overscaledZ-1);if(o=this._getLoadedTile(e),o)break;i=e}for(const e of t)this._loadedParentTiles[e]=o}}_addTile(e){let t=this._tiles[e.key];if(t)return t;t=this._cache.getAndRemove(e),t&&(this._setTileReloadTimer(e.key,t),t.tileID=e,this._state.initializeTileState(t,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,t)));const o=Boolean(t);if(!o){const o=this.map?this.map.painter:null,i="raster"===this._source.type||"raster-dem"===this._source.type;t=new su(e,this._source.tileSize*e.overscaleFactor(),this.transform.tileZoom,o,i),this._loadTile(t,this._tileLoaded.bind(this,t,e.key,t.state))}return t?(t.uses++,this._tiles[e.key]=t,o||this._source.fire(new ht("dataloading",{tile:t,coord:t.tileID,dataType:"source"})),t):null}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const o=t.getExpiryTimeout();o&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),o))}_removeTile(e){const t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(+e);this._source._clear&&this._source._clear(),this._cache.reset()}tilesIn(e,t,o){const i=[],n=this.transform;if(!n)return i;for(const r in this._tiles){const a=this._tiles[r];if(o&&a.clearQueryDebugViz(),a.holdingForFade())continue;const s=e.containsTile(a,n,t);s&&i.push(s)}return i}getVisibleCoordinates(e){const t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));for(const e of t)e.projMatrix=this.transform.calculateProjMatrix(e.toUnwrapped());return t}hasTransition(){if(this._source.hasTransition())return!0;if(Ud(this._source.type))for(const e in this._tiles){const t=this._tiles[e];if(void 0!==t.fadeEndTime&&t.fadeEndTime>=ye.now())return!0}return!1}setFeatureState(e,t,o){this._state.updateState(e=e||"_geojsonTileLayer",t,o)}removeFeatureState(e,t,o){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,o)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,o){const i=this._tiles[e];i&&i.setDependencies(t,o)}reloadTilesForDependencies(e,t){for(const o in this._tiles)this._tiles[o].hasDependency(e,t)&&this._reloadTile(+o,"reloading");this._cache.filter((o=>!o.hasDependency(e,t)))}_preloadTiles(e,t){const o=new Map,i=Array.isArray(e)?e:[e],n=this.map.painter.terrain,r=this.usedForTerrain&&n?n.getScaledDemTileSize():this._source.tileSize;for(const e of i){const t=e.coveringTiles({tileSize:r,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const e of t)o.set(e.key,e);this.usedForTerrain&&e.updateElevation(!1)}const a=Array.from(o.values()),s="raster"===this._source.type||"raster-dem"===this._source.type;Q(a,((e,t)=>{const o=new su(e,this._source.tileSize*e.overscaleFactor(),this.transform.tileZoom,this.map.painter,s);this._loadTile(o,(e=>{"raster-dem"===this._source.type&&o.dem&&this._backfillDEM(o),t(e,o)}))}),t)}}function Hd(e,t){const o=Math.abs(2*e.wrap)-+(e.wrap<0),i=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||i-o||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function Ud(e){return"raster"===e||"image"===e||"video"===e}Fd.maxOverzooming=10,Fd.maxUnderzooming=3;class Vd{constructor(e,t,o){this._demTile=e,this._dem=this._demTile.dem,this._scale=t,this._offset=o}static create(e,t,o){const i=o||e.findDEMTileFor(t);if(!i||!i.dem)return;const n=i.dem,r=i.tileID,a=1< =0&&i[3]>=0&&s.insert(a,i[0],i[1],i[2],i[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new Tc.VectorTile(new Ol(this.rawTileData)).layers,this.sourceLayerCoder=new Rd(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const e in this.vtLayers)this.vtFeatures[e]=[]}return this.vtLayers}query(e,t,o,i){this.loadVTLayers();const n=e.params||{},r=sn(n.filter),a=e.tileResult,s=e.transform,p=a.bufferedTilespaceBounds,c=this.grid.query(p.min.x,p.min.y,p.max.x,p.max.y,((e,t,o,i)=>cp(a.bufferedTilespaceGeometry,e,t,o,i)));c.sort($d);let l=null;s.elevation&&c.length>0&&(l=Vd.create(s.elevation,this.tileID));const b={};let d;for(let s=0;s (M||(M=Zs(t,this.tileID.canonical,e.tileTransform)),o.queryIntersectsFeature(a,t,i,M,this.z,e.transform,e.pixelPosMatrix,l,n))))}return b}loadMatchingFeature(e,t,o,i,n,r,a,s,p){const{featureIndex:c,bucketIndex:l,sourceLayerIndex:b,layoutVertexArrayOffset:d}=t,u=this.bucketLayerIDs[l];if(i&&!function(e,t){for(let o=0;o =0)return!0;return!1}(i,u))return;const M=this.sourceLayerCoder.decode(b),z=this.vtLayers[M].feature(c);if(o.needGeometry){const e=$s(z,!0);if(!o.filter(new Vr(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!o.filter(new Vr(this.tileID.overscaledZ),z))return;const m=this.getId(z,M);for(let t=0;t {const a=t instanceof ta?t.get(r):null;return a&&a.evaluate?a.evaluate(o,i,n):a}))}function $d(e,t){return t-e}Gn("FeatureIndex",Gd,{omit:["rawTileData","sourceLayerCoder"]});var Kd=da([{name:"a_pos",type:"Int16",components:2}]);const Jd=32,Qd=33,eu=new Uint16Array(8184);for(let e=0;e<2046;e++){let t=e+2,o=0,i=0,n=0,r=0,a=0,s=0;for(1&t?n=r=a=Jd:o=i=s=Jd;(t>>=1)>1;){const e=o+n>>1,p=i+r>>1;1&t?(n=o,r=i,o=a,i=s):(o=n,i=r,n=a,r=s),a=e,s=p}const p=4*e;eu[p+0]=o,eu[p+1]=i,eu[p+2]=n,eu[p+3]=r}const tu=new Uint16Array(2178),ou=new Uint8Array(1089),iu=new Uint16Array(1089);function nu(e){return 0===e?-.03125:32===e?.03125:0}var ru=da([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);const au={type:2,extent:Rs,loadGeometry:()=>[[new r(0,0),new r(8193,0),new r(8193,8193),new r(0,8193),new r(0,0)]]};class su{constructor(e,t,o,i,n){this.tileID=e,this.uid=ie(),this.uses=0,this.tileSize=t,this.tileZoom=o,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=n,this.expiredRequestCount=0,this.state="loading",i&&i.transform&&(this.projection=i.transform.projection)}registerFadeDuration(e){const t=e+this.timeAdded;t t.getLayer(e))).filter(Boolean);if(0!==e.length){i.layers=e,i.stateDependentLayerIds&&(i.stateDependentLayers=i.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(const t of e)o[t.id]=i}}return o}(e.buckets,t.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const t=this.buckets[e];if(t instanceof $b){if(this.hasSymbolBuckets=!0,!o)break;t.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const t=this.buckets[e];if(t instanceof $b&&t.hasRTLText){this.hasRTLText=!0,Ur.isLoading()||Ur.isLoaded()||"deferred"!==Fr()||Hr();break}}this.queryPadding=0;for(const e in this.buckets){const o=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(e).queryRadius(o))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),e.lineAtlas&&(this.lineAtlas=e.lineAtlas)}else this.collisionBoxArray=new Ca}unloadVectorData(){if(this.hasData()){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugIndexBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this.globeGridBuffer&&(this.globeGridBuffer.destroy(),this.globeGridBuffer=null),this.globePoleBuffer&&(this.globePoleBuffer.destroy(),this.globePoleBuffer=null),this.latestFeatureIndex=null,this.state="unloaded"}}getBucket(e){return this.buckets[e.id]}upload(e){for(const t in this.buckets){const o=this.buckets[t];o.uploadPending()&&o.upload(e)}const t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new dd(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new dd(e,this.glyphAtlasImage,t.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new dd(e,this.lineAtlas.image,t.ALPHA),this.lineAtlas.uploaded=!0)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,o,i,n,r,a,s){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:i,pixelPosMatrix:a,transform:r,params:n,tileTransform:this.tileTransform},e,t,o):{}}querySourceFeatures(e,t){const o=this.latestFeatureIndex;if(!o||!o.rawTileData)return;const i=o.loadVTLayers(),n=t?t.sourceLayer:"",r=i._geojsonTileLayer||i[n];if(!r)return;const a=sn(t&&t.filter),{z:s,x:p,y:c}=this.tileID.canonical,l={z:s,x:p,y:c};for(let t=0;t e)o=!1;else if(t)if(this.expirationTime =0;e--){const t=4*e,o=eu[t+0],i=eu[t+1],n=eu[t+2],r=eu[t+3],a=o+n>>1,s=i+r>>1,p=a+s-i,c=s+o-a,l=i*Qd+o,b=r*Qd+n,d=s*Qd+a,u=Math.hypot((tu[2*l+0]+tu[2*b+0])/2-tu[2*d+0],(tu[2*l+1]+tu[2*b+1])/2-tu[2*d+1])>=16;if(ou[d]=ou[d]||(u?1:0),e<1022){const e=(i+c>>1)*Qd+(o+p>>1),t=(r+c>>1)*Qd+(n+p>>1);ou[d]=ou[d]||ou[e]||ou[t]}}const n=new za,r=new xa;let a=0;function s(e,t){const o=t*Qd+e;return 0===iu[o]&&(n.emplaceBack(tu[2*o+0],tu[2*o+1],e*Rs/Jd,t*Rs/Jd),iu[o]=++a),iu[o]-1}function p(e,t,o,i,n,a){const c=e+o>>1,l=t+i>>1;if(Math.abs(e-n)+Math.abs(t-a)>1&&ou[l*Qd+c])p(n,a,e,t,c,l),p(o,i,n,a,c,l);else{const p=s(e,t),c=s(o,i),l=s(n,a);r.emplaceBack(p,c,l)}}return p(0,0,Jd,Jd,Jd,0),p(Jd,Jd,0,0,0,Jd),{vertices:n,indices:r}}(this.tileID.canonical,t);i=e.vertices,n=e.indices}else{i=new za,n=new xa;for(const{x:e,y:t}of o)i.emplaceBack(e,t,0,0);const e=Xp(i.int16,void 0,4);for(let t=0;t e*(1-o)+t*o,[i,n]=hu(e),r=new Ta,a=function(e){const t=b(new Float64Array(16)),o=Au(e);var i,n;return M(t,t,[o,o,o]),u(t,t,((i=[])[0]=-(n=e.min)[0],i[1]=-n[1],i[2]=-n[2],i)),t}(mu(e));r.reserve(4096);for(let s=0;s<65;s++){const p=o(i[0],n[0],s/64),c=Ds(p),l=c*t-e.y,b=Math.sin(F(p)),d=Math.cos(F(p));for(let e=0;e<65;e++){const t=e/64,s=o(i[1],n[1],t),p=Ou(d,b,s);T(p,p,a);const u=Es(s);r.emplaceBack(p[0],p[1],p[2],u,c,t,l)}}return r}_createGridIndices(){const e=new xa,t=(t,o)=>{const i=65*o+t;e.emplaceBack(i+1,i,i+65),e.emplaceBack(i+65,i+65+1,i+1)};for(let e=0;e<64;e++)for(let o=0;o<64;o++)t(o,e);return e}getWirefameBuffer(e){if(!this.wireframeSegments){const t=this._createWireframeGrid();this.wireframeIndexBuffer=e.createIndexBuffer(t),this.wireframeSegments=Ls.simpleSegment(0,0,4096,t.length)}return[this.wireframeIndexBuffer,this.wireframeSegments]}_createWireframeGrid(){const e=new Ba,t=(t,o)=>{const i=65*o+t;e.emplaceBack(i,i+1),e.emplaceBack(i,i+65),e.emplaceBack(i,i+65+1)};for(let e=0;e<64;e++)for(let o=0;o<64;o++)t(o,e);return e}}function yu(e,t){if(!t.isReprojectedInTileSpace)return{scale:1< f&&(A(e,c,i,n,s,p),A(c,o,s,p,r,a))}A(b,d,i,r,n,r),A(d,u,n,r,n,a),A(u,M,n,a,i,a),A(M,b,i,a,i,r),z-=f,m-=f,h+=f,O+=f;const _=1/Math.max(h-z,O-m);return{scale:_,x:z*_,y:m*_,x2:h*_,y2:O*_,projection:t}}class vu{constructor(e){const t={},o=[];for(const i in e){const n=e[i],r=t[i]={};for(const e in n.glyphs){const t=n.glyphs[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const i=t.metrics.localGlyph?2:1,a={x:0,y:0,w:t.bitmap.width+2*i,h:t.bitmap.height+2*i};o.push(a),r[e]=a}}const{w:i,h:n}=Il(o),r=new wp({width:i||1,height:n||1});for(const o in e){const i=e[o];for(const e in i.glyphs){const n=i.glyphs[+e];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const a=t[o][e],s=n.metrics.localGlyph?2:1;wp.copy(n.bitmap,r,{x:0,y:0},{x:a.x+s,y:a.y+s},n.bitmap)}}this.image=r,this.positions=t}}Gn("GlyphAtlas",vu);class xu{constructor(e){this.tileID=new _d(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.tileZoom=e.tileZoom,this.uid=e.uid,this.zoom=e.zoom,this.canonical=e.tileID.canonical,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,this.enableTerrain=!!e.enableTerrain,this.isSymbolTile=e.isSymbolTile,this.tileTransform=yu(e.tileID.canonical,e.projection),this.projection=e.projection}parse(e,t,o,i,n){this.status="parsing",this.data=e,this.collisionBoxArray=new Ca;const r=new Rd(Object.keys(e.layers).sort()),a=new Gd(this.tileID,this.promoteId);a.bucketLayerIDs=[];const s={},p=new ud(256,256),c={featureIndex:a,iconDependencies:{},patternDependencies:{},glyphDependencies:{},lineAtlas:p,availableImages:o},l=t.familiesBySource[this.source];for(const t in l){const i=e.layers[t];if(!i)continue;let n=!1,p=!1;for(const e of l[t])"symbol"===e[0].type?n=!0:p=!0;if(!0===this.isSymbolTile&&!n)continue;if(!1===this.isSymbolTile&&!p)continue;1===i.version&&ue(`Vector tile source "${this.source}" layer "${t}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const b=r.encode(t),d=[];for(let e=0;e =t.maxzoom||"none"!==t.visibility&&(Wu(e,this.zoom,o),(s[t.id]=t.createBucket({index:a.bucketLayerIDs.length,layers:e,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source,enableTerrain:this.enableTerrain,availableImages:o})).populate(d,c,this.tileID.canonical,this.tileTransform),a.bucketLayerIDs.push(e.map((e=>e.id))))}}let b,d,u,M;p.trim();const z={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},m=ce(c.glyphDependencies,(e=>Object.keys(e).map(Number)));Object.keys(m).length?i.send("getGlyphs",{uid:this.uid,stacks:m},((e,t)=>{b||(b=e,d=t,f.call(this))}),void 0,!1,z):d={};const h=Object.keys(c.iconDependencies);h.length?i.send("getImages",{icons:h,source:this.source,tileID:this.tileID,type:"icons"},((e,t)=>{b||(b=e,u=t,f.call(this))}),void 0,!1,z):u={};const O=Object.keys(c.patternDependencies);function f(){if(b)return n(b);if(d&&u&&M){const e=new vu(d),t=new jl(u,M);for(const i in s){const n=s[i];n instanceof $b?(Wu(n.layers,this.zoom,o),Sb(n,d,e.positions,u,t.iconPositions,this.showCollisionBoxes,o,this.tileID.canonical,this.tileZoom,this.projection),n.projection=this.projection.name):n.hasPattern&&(n instanceof Zc||n instanceof hc||n instanceof Ec)&&(Wu(n.layers,this.zoom,o),n.addFeatures(c,this.tileID.canonical,t.patternPositions,o))}this.status="done",n(null,{buckets:ee(s).filter((e=>!e.isEmpty())),featureIndex:a,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,lineAtlas:p,imageAtlas:t,glyphMap:this.returnDependencies?d:null,iconMap:this.returnDependencies?u:null,glyphPositions:this.returnDependencies?e.positions:null})}}O.length?i.send("getImages",{icons:O,source:this.source,tileID:this.tileID,type:"patterns"},((e,t)=>{b||(b=e,M=t,f.call(this))}),void 0,!1,z):M={},f.call(this)}}function Wu(e,t,o){const i=new Vr(t);for(const t of e)t.recalculate(i,o)}class wu{constructor(e){this.entries={},this.scheduler=e}request(e,t,o,i){const n=this.entries[e]=this.entries[e]||{callbacks:[]};if(n.result){const[e,o]=n.result;return this.scheduler?this.scheduler.add((()=>{i(e,o)}),t):i(e,o),()=>{}}return n.callbacks.push(i),n.cancel||(n.cancel=o(((o,i)=>{n.result=[o,i];for(const e of n.callbacks)this.scheduler?this.scheduler.add((()=>{e(o,i)}),t):e(o,i);setTimeout((()=>delete this.entries[e]),3e3)}))),()=>{n.result||(n.callbacks=n.callbacks.filter((e=>e!==i)),n.callbacks.length||(n.cancel(),delete this.entries[e]))}}}function Lu(e,t,o){const i=JSON.stringify(e.request);return e.data&&(this.deduped.entries[i]={result:[null,e.data]}),this.deduped.request(i,{type:"parseTile",isSymbolTile:e.isSymbolTile,zoom:e.tileZoom},(t=>{const i=st(e.request,((e,i,n,r)=>{e?t(e):i&&t(null,{vectorTile:o?void 0:new Tc.VectorTile(new Ol(i)),rawData:i,cacheControl:n,expires:r})}));return()=>{i.cancel(),t()}}),t)}const Ru=b(new Float64Array(16));class Tu{constructor(e,t){this._tr=e,this._worldSize=t}createInversionMatrix(){return Ru}createTileMatrix(e){let t,o,i;const n=e.canonical,r=b(new Float64Array(16)),a=this._tr.projection;if(a.isReprojectedInTileSpace){const s=yu(n,a);t=1,o=s.x+e.wrap*s.scale,i=s.y,M(r,r,[t/s.scale,t/s.scale,this._tr.pixelsPerMeter/this._worldSize])}else t=this._worldSize/this._tr.zoomScale(n.z),o=(n.x+Math.pow(2,n.z)*e.wrap)*t,i=n.y*t;return u(r,r,[o,i,0]),M(r,r,[t/Rs,t/Rs,1]),r}pointCoordinate(e,t,o){const i=this._tr.horizonLineFromTop(!1),n=new r(e,Math.max(i,t));return this._tr.rayIntersectionCoordinate(this._tr.pointRayIntersection(n,o))}upVector(){return[0,0,1]}upVectorScale(){return 1}}var ku={name:"albers",range:[4,7],center:[-96,37.5],parallels:[29.5,45.5],zAxisUnit:"meters",conic:!0,isReprojectedInTileSpace:!0,unsupportedLayers:["custom"],initializeConstants(){if(this.constants&&I(this.parallels,this.constants.parallels))return;const e=Math.sin(F(this.parallels[0])),t=(e+Math.sin(F(this.parallels[1])))/2,o=1+e*(2*t-e),i=Math.sqrt(o)/t;this.constants={n:t,c:o,r0:i,parallels:this.parallels}},project(e,t){this.initializeConstants();const o=F(e-this.center[0]),i=F(t),{n,c:r,r0:a}=this.constants,s=Math.sqrt(r-2*n*Math.sin(i))/n;return{x:s*Math.sin(o*n),y:s*Math.cos(o*n)-a,z:0}},unproject(e,t){this.initializeConstants();const{n:o,c:i,r0:n}=this.constants,r=n+t;let a=Math.atan2(e,Math.abs(r))*Math.sign(r);r*o<0&&(a-=Math.PI*Math.sign(e)*Math.sign(r));const s=F(this.center[0])*o;a=J(a,-Math.PI-s,Math.PI-s);const p=H(a/o)+this.center[0],c=Math.asin($((i-(e*e+r*r)*o*o)/(2*o),-1,1)),l=$(H(c),-85.051129,Ys);return new Bs(p,l)},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)};const Bu=1.340264,Su=-.081106,Xu=893e-6,Eu=.003796,Du=Math.sqrt(3)/2;var Cu={name:"equalEarth",center:[0,0],range:[3.5,7],zAxisUnit:"meters",isReprojectedInTileSpace:!0,unsupportedLayers:["custom"],project(e,t){t=t/180*Math.PI,e=e/180*Math.PI;const o=Math.asin(Du*Math.sin(t)),i=o*o,n=i*i*i;return{x:.5*(e*Math.cos(o)/(Du*(Bu+3*Su*i+n*(7*Xu+9*Eu*i)))/Math.PI+.5),y:1-.5*(o*(Bu+Su*i+n*(Xu+Eu*i))/Math.PI+1),z:0}},unproject(e,t){e=(2*e-.5)*Math.PI;let o=t=(2*(1-t)-1)*Math.PI,i=o*o,n=i*i*i;for(let e,r,a,s=0;s<12&&(r=o*(Bu+Su*i+n*(Xu+Eu*i))-t,a=Bu+3*Su*i+n*(7*Xu+9*Eu*i),e=r/a,o=$(o-e,-Math.PI/3,Math.PI/3),i=o*o,n=i*i*i,!(Math.abs(e)<1e-12));++s);const r=Du*e*(Bu+3*Su*i+n*(7*Xu+9*Eu*i))/Math.cos(o),a=Math.asin(Math.sin(o)/Du),s=$(180*r/Math.PI,-180,180),p=$(180*a/Math.PI,-85.051129,Ys);return new Bs(s,p)},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)},Nu={name:"equirectangular",supportsWorldCopies:!0,center:[0,0],range:[3.5,7],zAxisUnit:"meters",wrap:!0,isReprojectedInTileSpace:!0,unsupportedLayers:["custom"],project:(e,t)=>({x:.5+e/360,y:.5-t/360,z:0}),unproject(e,t){const o=360*(e-.5),i=$(360*(.5-t),-85.051129,Ys);return new Bs(o,i)},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)};const Pu=Math.PI/2;function Iu(e){return Math.tan((Pu+e)/2)}var Yu={name:"lambertConformalConic",range:[3.5,7],zAxisUnit:"meters",center:[0,30],parallels:[30,30],conic:!0,isReprojectedInTileSpace:!0,unsupportedLayers:["custom"],initializeConstants(){if(this.constants&&I(this.parallels,this.constants.parallels))return;const e=F(this.parallels[0]),t=F(this.parallels[1]),o=Math.cos(e),i=e===t?Math.sin(e):Math.log(o/Math.cos(t))/Math.log(Iu(t)/Iu(e)),n=o*Math.pow(Iu(e),i)/i;this.constants={n:i,f:n,parallels:this.parallels}},project(e,t){this.initializeConstants(),t=F(t),e=F(e-this.center[0]);const o=1e-6,{n:i,f:n}=this.constants;n>0?t<-Pu+o&&(t=-Pu+o):t>Pu-o&&(t=Pu-o);const r=n/Math.pow(Iu(t),i),a=r*Math.sin(i*e),s=n-r*Math.cos(i*e);return{x:.5*(a/Math.PI+.5),y:1-.5*(s/Math.PI+.5),z:0}},unproject(e,t){this.initializeConstants(),e=(2*e-.5)*Math.PI,t=(2*(1-t)-.5)*Math.PI;const{n:o,f:i}=this.constants,n=i-t,r=Math.sign(n),a=Math.sign(o)*Math.sqrt(e*e+n*n);let s=Math.atan2(e,Math.abs(n))*r;n*o<0&&(s-=Math.PI*Math.sign(e)*r);const p=$(H(s/o)+this.center[0],-180,180),c=$(H(2*Math.atan(Math.pow(i/a,1/o))-Pu),-85.051129,Ys);return new Bs(p,c)},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)},ju={name:"mercator",wrap:!0,requiresDraping:!1,supportsWorldCopies:!0,supportsTerrain:!0,supportsFog:!0,supportsFreeCamera:!0,zAxisUnit:"meters",center:[0,0],project:(e,t)=>({x:Es(e),y:Ds(t),z:0}),unproject(e,t){const o=Ns(e),i=Ps(t);return new Bs(o,i)},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)};const Fu=F(Ys);var Hu={name:"naturalEarth",center:[0,0],range:[3.5,7],isReprojectedInTileSpace:!0,zAxisUnit:"meters",unsupportedLayers:["custom"],project(e,t){const o=(t=F(t))*t,i=o*o;return{x:.5*((e=F(e))*(.8707-.131979*o+i*(i*(.003971*o-.001529*i)-.013791))/Math.PI+.5),y:1-.5*(t*(1.007226+o*(.015085+i*(.028874*o-.044475-.005916*i)))/Math.PI+1),z:0}},unproject(e,t){e=(2*e-.5)*Math.PI;let o=t=(2*(1-t)-1)*Math.PI,i=25,n=0,r=o*o;do{r=o*o;const e=r*r;n=(o*(1.007226+r*(.015085+e*(.028874*r-.044475-.005916*e)))-t)/(1.007226+r*(.045255+e*(.259866*r-.311325-.005916*11*e))),o=$(o-n,-Fu,Fu)}while(Math.abs(n)>1e-6&&--i>0);r=o*o;const a=$(H(e/(.8707+r*(r*(r*r*r*(.003971-.001529*r)-.013791)-.131979))),-180,180),s=H(o);return new Bs(a,s)},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)};const Uu=F(Ys),Vu={albers:ku,equalEarth:Cu,equirectangular:Nu,lambertConformalConic:Yu,mercator:ju,naturalEarth:Hu,winkelTripel:{name:"winkelTripel",center:[0,0],range:[3.5,7],zAxisUnit:"meters",isReprojectedInTileSpace:!0,unsupportedLayers:["custom"],project(e,t){t=F(t),e=F(e);const o=Math.cos(t),i=2/Math.PI,n=Math.acos(o*Math.cos(e/2)),r=Math.sin(n)/n,a=.5*(e*i+2*o*Math.sin(e/2)/r)||0,s=.5*(t+Math.sin(t)/r)||0;return{x:.5*(a/Math.PI+.5),y:1-.5*(s/Math.PI+1),z:0}},unproject(e,t){let o=e=(2*e-.5)*Math.PI,i=t=(2*(1-t)-1)*Math.PI,n=25;const r=1e-6;let a=0,s=0;do{const n=Math.cos(i),r=Math.sin(i),p=2*r*n,c=r*r,l=n*n,b=Math.cos(o/2),d=Math.sin(o/2),u=2*b*d,M=d*d,z=1-l*b*b,m=z?1/z:0,h=z?Math.acos(n*b)*Math.sqrt(1/z):0,O=.5*(2*h*n*d+2*o/Math.PI)-e,f=.5*(h*r+i)-t,A=.5*m*(l*M+h*n*b*c)+1/Math.PI,_=m*(u*p/4-h*r*d),g=.125*m*(p*d-h*r*l*u),q=.5*m*(c*b+h*M*n)+.5,y=_*g-q*A;a=(f*_-O*q)/y,s=(O*g-f*A)/y,o=$(o-a,-Math.PI,Math.PI),i=$(i-s,-Uu,Uu)}while((Math.abs(a)>r||Math.abs(s)>r)&&--n>0);return new Bs(H(o),H(i))},projectTilePoint:(e,t)=>({x:e,y:t,z:0}),locationPoint:(e,t)=>e._coordinatePoint(e.locationCoordinate(t),!1),pixelsPerMeter:(e,t)=>Cs(1,e)*t,farthestPixelDistance(e){return bu(e,this.pixelsPerMeter(e.center.lat,e.worldSize))},createTileTransform:(e,t)=>new Tu(e,t)}};e.ARRAY_TYPE=c,e.AUTH_ERR_MSG=Se,e.Aabb=Op,e.Actor=class{constructor(e,t,o){this.target=e,this.parent=t,this.mapId=o,this.callbacks={},this.cancelCallbacks={},se(["receive"],this),this.target.addEventListener("message",this.receive,!1),this.globalScope=me()?e:s,this.scheduler=new hd}send(e,t,o,i,n=!1,r){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);o&&(o.metadata=r,this.callbacks[a]=o);const s=ge(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:e,hasCallback:!!o,targetMapId:i,mustQueue:n,sourceMapId:this.mapId,data:Kn(t,s)},s),{cancel:()=>{o&&delete this.callbacks[a],this.target.postMessage({id:a,type:" ",targetMapId:i,sourceMapId:this.mapId})}}}receive(e){const t=e.data,o=t.id;if(o&&(!t.targetMapId||this.mapId===t.targetMapId))if(" "===t.type){const e=this.cancelCallbacks[o];delete this.cancelCallbacks[o],e&&e.cancel()}else if(t.mustQueue||me()){const e=this.callbacks[o];this.cancelCallbacks[o]=this.scheduler.add((()=>this.processTask(o,t)),e&&e.metadata||{type:"message"})}else this.processTask(o,t)}processTask(e,t){if(" "===t.type){const o=this.callbacks[e];delete this.callbacks[e],o&&(t.error?o(Jn(t.error)):o(null,Jn(t.data)))}else{const o=ge(this.globalScope)?void 0:[],i=t.hasCallback?(t,i)=>{delete this.cancelCallbacks[e],this.target.postMessage({id:e,type:" ",sourceMapId:this.mapId,error:t?Kn(t):null,data:Kn(i,o)},o)}:e=>{},n=Jn(t.data);if(this.parent[t.type])this.parent[t.type](t.sourceMapId,n,i);else if(this.parent.getWorkerSource){const e=t.type.split(".");this.parent.getWorkerSource(t.sourceMapId,e[0],n.source)[e[1]](n,i)}else i(new Error(`Could not find function ${t.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1)}},e.CanonicalTileID=fd,e.Color=Ut,e.ColorMode=xd,e.CullFaceMode=Ld,e.DEMData=Yd,e.DataConstantProperty=oa,e.DedupedRequest=wu,e.DepthMode=qd,e.EXTENT=Rs,e.Elevation=class{getAtPointOrZero(e,t=0){return this.getAtPoint(e,t)||0}getAtPoint(e,t,o=!0){null==t&&(t=null);const i=this._source();if(!i)return t;if(e.y<0||e.y>1)return t;const n=i.getSource().maxzoom,r=1< {const i=this.getAtTileOffset(e,o.x,o.y),n=t.upVector(e.canonical,o.x,o.y);return x(n,n,i*t.upVectorScale(e.canonical)),n}}getForTilePoints(e,t,o,i){const n=Vd.create(this,e,i);return!!n&&(t.forEach((e=>{e[2]=this.exaggeration()*n.getElevationAt(e[0],e[1],o)})),!0)}getMinMaxForTile(e){const t=this.findDEMTileFor(e);if(!t||!t.dem)return null;const o=t.dem.tree,i=t.tileID,n=1< this._skuTokenExpiresAt}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}normalizeStyleURL(e,t){if(!Xe(e))return e;const o=Ce(e);return o.path=`/styles/v1${o.path}`,this._makeAPIURL(o,this._customAccessToken||t)}normalizeGlyphsURL(e,t){if(!Xe(e))return e;const o=Ce(e);return o.path=`/fonts/v1${o.path}`,this._makeAPIURL(o,this._customAccessToken||t)}normalizeSourceURL(e,t){if(!Xe(e))return e;const o=Ce(e);return o.path=`/v4/${o.authority}.json`,o.params.push("secure"),this._makeAPIURL(o,this._customAccessToken||t)}normalizeSpriteURL(e,t,o,i){const n=Ce(e);return Xe(e)?(n.path=`/styles/v1${n.path}/sprite${t}${o}`,this._makeAPIURL(n,this._customAccessToken||i)):(n.path+=`${t}${o}`,Ne(n))}normalizeTileURL(e,t,o){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!Xe(e))return e;const i=Ce(e);i.path=i.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${t||o&&"raster"!==i.authority&&512===o?"@2x":""}${We.supported?".webp":"$1"}`),"raster"===i.authority?i.path=`/${xe.RASTER_URL_PREFIX}${i.path}`:(i.path=i.path.replace(/^.+\/v4\//,"/"),i.path=`/${xe.TILE_URL_VERSION}${i.path}`);const n=this._customAccessToken||function(e){for(const t of e){const e=t.match(/^access_token=(.*)$/);if(e)return e[1]}return null}(i.params)||xe.ACCESS_TOKEN;return xe.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&i.params.push(`sku=${this._skuToken}`),this._makeAPIURL(i,n)}canonicalizeTileURL(e,t){const o=Ce(e);if(!o.path.match(/^(\/v4\/|\/raster\/v1\/)/)||!o.path.match(/\.[\w]+$/))return e;let i="mapbox://";o.path.match(/^\/raster\/v1\//)?i+=`raster/${o.path.replace(`/${xe.RASTER_URL_PREFIX}/`,"")}`:i+=`tiles/${o.path.replace(`/${xe.TILE_URL_VERSION}/`,"")}`;let n=o.params;return t&&(n=n.filter((e=>!e.match(/^access_token=/)))),n.length&&(i+=`?${n.join("&")}`),i}canonicalizeTileset(e,t){const o=!!t&&Xe(t),i=[];for(const t of e.tiles||[])Ee(t)?i.push(this.canonicalizeTileURL(t,o)):i.push(t);return i}_makeAPIURL(e,t){const o="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",i=Ce(xe.API_URL);if(e.protocol=i.protocol,e.authority=i.authority,"http"===e.protocol){const t=e.params.indexOf("secure");t>=0&&e.params.splice(t,1)}if("/"!==i.path&&(e.path=`${i.path}${e.path}`),!xe.REQUIRE_ACCESS_TOKEN)return Ne(e);if(t=t||xe.ACCESS_TOKEN,!this._silenceAuthErrors){if(!t)throw new Error(`An API access token is required to use Mapbox GL. ${o}`);if("s"===t[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${o}`)}return e.params=e.params.filter((e=>-1===e.indexOf("access_token"))),e.params.push(`access_token=${t||""}`),Ne(e)}},e.ResourceType=it,e.SegmentVector=Ls,e.SourceCache=Fd,e.StencilMode=vd,e.StructArrayLayout1ui2=Sa,e.StructArrayLayout2f1f2i16=ya,e.StructArrayLayout2i4=Ma,e.StructArrayLayout2ui4=Ba,e.StructArrayLayout3f12=ha,e.StructArrayLayout3ui6=xa,e.StructArrayLayout4i8=za,e.Texture=dd,e.Tile=su,e.Transitionable=$r,e.Uniform1f=as,e.Uniform1i=class extends rs{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},e.Uniform2f=class extends rs{constructor(e,t){super(e,t),this.current=[0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]||(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},e.Uniform3f=class extends rs{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]||(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},e.Uniform4f=ss,e.UniformColor=ps,e.UniformMatrix2f=class extends rs{constructor(e,t){super(e,t),this.current=bs}set(e){for(let t=0;t<4;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix2fv(this.location,!1,e);break}}},e.UniformMatrix3f=class extends rs{constructor(e,t){super(e,t),this.current=ls}set(e){for(let t=0;t<9;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix3fv(this.location,!1,e);break}}},e.UniformMatrix4f=class extends rs{constructor(e,t){super(e,t),this.current=cs}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0])return this.current=e,void this.gl.uniformMatrix4fv(this.location,!1,e);for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}},e.UnwrappedTileID=Ad,e.ValidationError=_t,e.VectorTileWorkerSource=class extends ft{constructor(e,t,o,i,n){super(),this.actor=e,this.layerIndex=t,this.availableImages=o,this.loadVectorData=n||Lu,this.loading={},this.loaded={},this.deduped=new wu(e.scheduler),this.isSpriteLoaded=i,this.scheduler=e.scheduler}loadTile(e,t){const o=e.uid,i=e&&e.request,n=i&&i.collectResourceTiming,r=this.loading[o]=new xu(e);r.abort=this.loadVectorData(e,((a,s)=>{const p=!this.loading[o];if(delete this.loading[o],p||a||!s)return r.status="done",p||(this.loaded[o]=r),t(a);const c=s.rawData,l={};s.expires&&(l.expires=s.expires),s.cacheControl&&(l.cacheControl=s.cacheControl),r.vectorTile=s.vectorTile||new Tc.VectorTile(new Ol(c));const b=()=>{r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,o)=>{if(e||!o)return t(e);const r={};if(n){const e=md(i);e.length>0&&(r.resourceTiming=JSON.parse(JSON.stringify(e)))}t(null,te({rawTileData:c.slice(0)},o,l,r))}))};this.isSpriteLoaded?b():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(b,{type:"parseTile",isSymbolTile:e.isSymbolTile,zoom:e.tileZoom}):b()})),this.loaded=this.loaded||{},this.loaded[o]=r}))}reloadTile(e,t){const o=this.loaded,i=e.uid,n=this;if(o&&o[i]){const r=o[i];r.showCollisionBoxes=e.showCollisionBoxes,r.enableTerrain=!!e.enableTerrain,r.projection=e.projection;const a=(e,o)=>{const i=r.reloadCallback;i&&(delete r.reloadCallback,r.parse(r.vectorTile,n.layerIndex,this.availableImages,n.actor,i)),t(e,o)};"parsing"===r.status?r.reloadCallback=a:"done"===r.status&&(r.vectorTile?r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a())}}abortTile(e,t){const o=e.uid,i=this.loading[o];i&&(i.abort&&i.abort(),delete this.loading[o]),t()}removeTile(e,t){const o=this.loaded,i=e.uid;o&&o[i]&&delete o[i],t()}},e.WritingMode=Fl,e.ZoomHistory=Qn,e.add=g,e.addDynamicAttributes=Ub,e.adjoint=function(e,t){var o=t[0],i=t[1],n=t[2],r=t[3],a=t[4],s=t[5],p=t[6],c=t[7],l=t[8];return e[0]=a*l-s*c,e[1]=n*c-i*l,e[2]=i*s-n*a,e[3]=s*p-r*l,e[4]=o*l-n*p,e[5]=n*r-o*s,e[6]=r*c-a*p,e[7]=i*p-o*c,e[8]=o*a-i*r,e},e.asyncAll=Q,e.bezier=G,e.bindAll=se,e.boundsAttributes=ru,e.bufferConvexPolygon=function(e,t){const o=[];for(let i=0;i Qe&&(e.getActor().send("enforceCacheSizeLimit",Je),ot=0)},e.calculateGlobeMatrix=gu,e.calculateGlobeMercatorMatrix=function(e){const t=e.worldSize,o=$(e.center.lat,-85.051129,Ys),i=new r(Es(e.center.lng)*t,Ds(o)*t),n=Cs(1,e.center.lat)*t,a=e.pixelsPerMeter,s=t/(n/e.pixelsPerMeter),p=b(new Float64Array(16));return u(p,p,[i.x,i.y,0]),M(p,p,[s,s,a]),p},e.clamp=$,e.clearTileCache=function(e){const t=s.caches.delete(Ze);e&&t.catch(e).then((()=>e()))},e.clipLine=Mb,e.clone=function(e){var t=new c(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.clone$1=be,e.collisionCircleLayout=rl,e.config=xe,e.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},e.create=function(){var e=new c(16);return c!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.create$1=l,e.createExpression=Ui,e.createLayout=da,e.createStyleLayer=function(e){return"custom"===e.type?new id(e):new ad[e.type](e)},e.cross=R,e.degToRad=F,e.div=function(e,t,o){return e[0]=t[0]/o[0],e[1]=t[1]/o[1],e[2]=t[2]/o[2],e},e.dot=L,e.ease=Z,e.easeCubicInOut=V,e.emitValidationErrors=Yn,e.endsWith=pe,e.enforceCacheSizeLimit=function(e){et(),$e&&$e.then((t=>{t.keys().then((o=>{for(let i=0;i r&&(i+=(e[n]-r)*(e[n]-r)),t[n] {}}},e.globeBuffersForTileMesh=function(e,t,o,i){const n=e.context,r=e.transform;let a=t.globeGridBuffer,s=t.globePoleBuffer;if(!a){const e=qu.createGridVertices(o.canonical);a=t.globeGridBuffer=n.createVertexBuffer(e,lu,!1)}if(!s){const e=qu.createPoleTriangleVertices(i,r.tileSize*i,0===o.canonical.y);s=t.globePoleBuffer=n.createVertexBuffer(e,lu,!1)}return[a,s]},e.globeDenormalizeECEF=_u,e.globeMatrixForTile=function(e,t){const o=_u(mu(e)),i=((n=new Float64Array(16))[0]=(r=t)[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],n);var n,r;return h(i,i,o),i},e.globePoleMatrixForTile=function(e,t,o){const i=b(new Float64Array(16)),n=Math.pow(2,e.z),r=(e.x-n/2)/n*Math.PI*2,a=o.point,s=o.worldSize/(o.tileSize*n);return u(i,i,[a.x,a.y,-o.worldSize/Math.PI/2]),M(i,i,[s,s,s]),z(i,i,F(-o._center.lat)),m(i,i,F(-o._center.lng)),m(i,i,r),t&&M(i,i,[1,-1,1]),i},e.globeTileBounds=mu,e.globeToMercatorTransition=function(e){return K(5,6,e)},e.identity=b,e.identity$1=N,e.invert=function(e,t){var o=t[0],i=t[1],n=t[2],r=t[3],a=t[4],s=t[5],p=t[6],c=t[7],l=t[8],b=t[9],d=t[10],u=t[11],M=t[12],z=t[13],m=t[14],h=t[15],O=o*s-i*a,f=o*p-n*a,A=o*c-r*a,_=i*p-n*s,g=i*c-r*s,q=n*c-r*p,y=l*z-b*M,v=l*m-d*M,x=l*h-u*M,W=b*m-d*z,w=b*h-u*z,L=d*h-u*m,R=O*L-f*w+A*W+_*x-g*v+q*y;return R?(e[0]=(s*L-p*w+c*W)*(R=1/R),e[1]=(n*w-i*L-r*W)*R,e[2]=(z*q-m*g+h*_)*R,e[3]=(d*g-b*q-u*_)*R,e[4]=(p*x-a*L-c*v)*R,e[5]=(o*L-n*x+r*v)*R,e[6]=(m*A-M*q-h*f)*R,e[7]=(l*q-d*A+u*f)*R,e[8]=(a*w-s*x+c*y)*R,e[9]=(i*x-o*w-r*y)*R,e[10]=(M*g-z*A+h*O)*R,e[11]=(b*A-l*g-u*O)*R,e[12]=(s*v-a*W-p*y)*R,e[13]=(o*W-i*v+n*y)*R,e[14]=(z*f-M*_-m*O)*R,e[15]=(l*_-b*f+d*O)*R,e):null},e.isMapAuthenticated=function(e){return Ge.has(e)},e.isMapboxURL=Xe,e.latFromMercatorY=Ps,e.len=E,e.length=A,e.length$1=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},e.loadVectorTile=Lu,e.makeRequest=at,e.mercatorXfromLng=Es,e.mercatorYfromLat=Ds,e.mercatorZfromAltitude=Cs,e.mul=h,e.mul$1=X,e.multiply=function(e,t,o){var i=t[0],n=t[1],r=t[2],a=t[3],s=t[4],p=t[5],c=t[6],l=t[7],b=t[8],d=o[0],u=o[1],M=o[2],z=o[3],m=o[4],h=o[5],O=o[6],f=o[7],A=o[8];return e[0]=d*i+u*a+M*c,e[1]=d*n+u*s+M*l,e[2]=d*r+u*p+M*b,e[3]=z*i+m*a+h*c,e[4]=z*n+m*s+h*l,e[5]=z*r+m*p+h*b,e[6]=O*i+f*a+A*c,e[7]=O*n+f*s+A*l,e[8]=O*r+f*p+A*b,e},e.multiply$1=d,e.multiply$2=y,e.nextPowerOfTwo=re,e.normalize=w,e.normalize$1=function(e,t){var o=t[0],i=t[1],n=t[2],r=t[3],a=o*o+i*i+n*n+r*r;return a>0&&(a=1/Math.sqrt(a)),e[0]=o*a,e[1]=i*a,e[2]=n*a,e[3]=r*a,e},e.number=No,e.ortho=function(e,t,o,i,n,r,a){var s=1/(t-o),p=1/(i-n),c=1/(r-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*p,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+o)*s,e[13]=(n+i)*p,e[14]=(a+r)*c,e[15]=1,e},e.pbf=Ol,e.perspective=function(e,t,o,i,n){var r,a=1/Math.tan(t/2);return e[0]=a/o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(e[10]=(n+i)*(r=1/(i-n)),e[14]=2*n*i*r):(e[10]=-1,e[14]=-2*i),e},e.pick=function(e,t){const o={};for(let i=0;i this._layers[e.id])),o=t[0];if("none"===o.visibility)continue;const i=o.source||"";let n=this.familiesBySource[i];n||(n=this.familiesBySource[i]={});const r=o.sourceLayer||"_geojsonTileLayer";let a=n[r];a||(a=n[r]=[]),a.push(t)}}}const{ImageBitmap:n}=e.window;class r{loadTile(t,o){const{uid:i,encoding:r,rawImageData:a,padding:s,buildQuadTree:p}=t,c=n&&a instanceof n?this.getImageData(a,s):a;o(null,new e.DEMData(i,c,r,s<1,p))}getImageData(t,o){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);const i=this.offscreenCanvasContext.getImageData(-o,-o,t.width+2*o,t.height+2*o);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:i.width,height:i.height},i.data)}}var a=function e(t,o){var i,n=t&&t.type;if("FeatureCollection"===n)for(i=0;i =Math.abs(s)?o-p+s:s-p+o,o=p}o+i>=0!=!!t&&e.reverse()}const c=e.vectorTile.VectorTileFeature.prototype.toGeoJSON;class l{constructor(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))}loadGeometry(){if(1===this._feature.type){const t=[];for(const o of this._feature.geometry)t.push([new e.pointGeometry(o[0],o[1])]);return t}{const t=[];for(const o of this._feature.geometry){const i=[];for(const t of o)i.push(new e.pointGeometry(t[0],t[1]));t.push(i)}return t}}toGeoJSON(e,t,o){return c.call(this,e,t,o)}}class b{constructor(t){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=e.EXTENT,this.length=t.length,this._features=t}feature(e){return new l(this._features[e])}}var d=e.vectorTile.VectorTileFeature,u=M;function M(e,t){this.options=t||{},this.features=e,this.length=e.length}function z(e,t){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}M.prototype.feature=function(e){return new z(this.features[e],this.options.extent)},z.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var o=0;o >31}function y(e,t){for(var o=e.loadGeometry(),i=e.type,n=0,r=0,a=o.length,s=0;s>1;W(e,t,a,i,n,r%2),x(e,t,o,i,a-1,r+1),x(e,t,o,a+1,n,r+1)}function W(e,t,o,i,n,r){for(;n>i;){if(n-i>600){const a=n-i+1,s=o-i+1,p=Math.log(a),c=.5*Math.exp(2*p/3),l=.5*Math.sqrt(p*c*(a-c)/a)*(s-a/2<0?-1:1);W(e,t,o,Math.max(i,Math.floor(o-s*c/a+l)),Math.min(n,Math.floor(o+(a-s)*c/a+l)),r)}const a=t[2*o+r];let s=i,p=n;for(w(e,t,i,o),t[2*n+r]>a&&w(e,t,i,n);s a;)p--}t[2*i+r]===a?w(e,t,i,p):(p++,w(e,t,p,n)),p<=o&&(i=p+1),o<=p&&(n=p-1)}}function w(e,t,o,i){L(e,o,i),L(t,2*o,2*i),L(t,2*o+1,2*i+1)}function L(e,t,o){const i=e[t];e[t]=e[o],e[o]=i}function R(e,t,o,i){const n=e-o,r=t-i;return n*n+r*r}m.fromVectorTileJs=O,m.fromGeojsonVt=function(e,t){t=t||{};var o={};for(var i in e)o[i]=new u(e[i].features,t),o[i].name=i,o[i].version=t.version,o[i].extent=t.extent;return O({layers:o})},m.GeoJSONWrapper=h;const T=e=>e[0],k=e=>e[1];class B{constructor(e,t=T,o=k,i=64,n=Float64Array){this.nodeSize=i,this.points=e;const r=e.length<65536?Uint16Array:Uint32Array,a=this.ids=new r(e.length),s=this.coords=new n(2*e.length);for(let i=0;i
=o&&c<=n&&l>=i&&l<=r&&p.push(e[a]);continue}const M=Math.floor((u+d)/2);c=t[2*M],l=t[2*M+1],c>=o&&c<=n&&l>=i&&l<=r&&p.push(e[M]);const z=(b+1)%2;(0===b?o<=c:i<=l)&&(s.push(u),s.push(M-1),s.push(z)),(0===b?n>=c:r>=l)&&(s.push(M+1),s.push(d),s.push(z))}return p}(this.ids,this.coords,e,t,o,i,this.nodeSize)}within(e,t,o){return function(e,t,o,i,n,r){const a=[0,e.length-1,0],s=[],p=n*n;for(;a.length;){const c=a.pop(),l=a.pop(),b=a.pop();if(l-b<=r){for(let n=b;n<=l;n++)R(t[2*n],t[2*n+1],o,i)<=p&&s.push(e[n]);continue}const d=Math.floor((b+l)/2),u=t[2*d],M=t[2*d+1];R(u,M,o,i)<=p&&s.push(e[d]);const z=(c+1)%2;(0===c?o-n<=u:i-n<=M)&&(a.push(b),a.push(d-1),a.push(z)),(0===c?o+n>=u:i+n>=M)&&(a.push(d+1),a.push(l),a.push(z))}return s}(this.ids,this.coords,e,t,o,this.nodeSize)}}const S={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},X=Math.fround||(E=new Float32Array(1),e=>(E[0]=+e,E[0]));var E;class D{constructor(e){this.options=H(Object.create(S),e),this.trees=new Array(this.options.maxZoom+1)}load(e){const{log:t,minZoom:o,maxZoom:i,nodeSize:n}=this.options;t&&console.time("total time");const r=`prepare ${e.length} points`;t&&console.time(r),this.points=e;let a=[];for(let t=0;t =o;e--){const o=+Date.now();a=this._cluster(a,e),this.trees[e]=new B(a,U,V,n,Float32Array),t&&console.log("z%d: %d clusters in %dms",e,a.length,+Date.now()-o)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let n=180===e[2]?180:((e[2]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,n=180;else if(o>n){const e=this.getClusters([o,i,180,r],t),a=this.getClusters([-180,i,n,r],t);return e.concat(a)}const a=this.trees[this._limitZoom(t)],s=a.range(Y(o),j(r),Y(n),j(i)),p=[];for(const e of s){const t=a.points[e];p.push(t.numPoints?P(t):this.points[t.index])}return p}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),i="No cluster with the specified id.",n=this.trees[o];if(!n)throw new Error(i);const r=n.points[t];if(!r)throw new Error(i);const a=this.options.radius/(this.options.extent*Math.pow(2,o-1)),s=n.within(r.x,r.y,a),p=[];for(const t of s){const o=n.points[t];o.parentId===e&&p.push(o.numPoints?P(o):this.points[o.index])}if(0===p.length)throw new Error(i);return p}getLeaves(e,t,o){const i=[];return this._appendLeaves(i,e,t=t||10,o=o||0,0),i}getTile(e,t,o){const i=this.trees[this._limitZoom(e)],n=Math.pow(2,e),{extent:r,radius:a}=this.options,s=a/r,p=(o-s)/n,c=(o+1+s)/n,l={features:[]};return this._addTileFeatures(i.range((t-s)/n,p,(t+1+s)/n,c),i.points,t,o,n,l),0===t&&this._addTileFeatures(i.range(1-s/n,p,1,c),i.points,n,o,n,l),t===n-1&&this._addTileFeatures(i.range(0,p,s/n,c),i.points,-1,o,n,l),l.features.length?l:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id}return t}_appendLeaves(e,t,o,i,n){const r=this.getChildren(t);for(const t of r){const r=t.properties;if(r&&r.cluster?n+r.point_count<=i?n+=r.point_count:n=this._appendLeaves(e,r.cluster_id,o,i,n):nt&&(b+=o.numPoints||1)}if(b>l&&b>=a){let e=n.x*l,a=n.y*l,s=r&&l>1?this._map(n,!0):null;const d=(i<<5)+(t+1)+this.points.length;for(const o of c){const i=p.points[o];if(i.zoom<=t)continue;i.zoom=t;const c=i.numPoints||1;e+=i.x*c,a+=i.y*c,i.parentId=d,r&&(s||(s=this._map(n,!0)),r(s,this._map(i)))}n.parentId=d,o.push(C(e/b,a/b,d,b,s))}else if(o.push(n),b>1)for(const e of c){const i=p.points[e];i.zoom<=t||(i.zoom=t,o.push(i))}}return o}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t){if(e.numPoints)return t?H({},e.properties):e.properties;const o=this.points[e.index].properties,i=this.options.map(o);return t&&i===o?H({},i):i}}function C(e,t,o,i,n){return{x:X(e),y:X(t),zoom:1/0,id:o,parentId:-1,numPoints:i,properties:n}}function N(e,t){const[o,i]=e.geometry.coordinates;return{x:X(Y(o)),y:X(j(i)),zoom:1/0,index:t,parentId:-1}}function P(e){return{type:"Feature",id:e.id,properties:I(e),geometry:{type:"Point",coordinates:[(t=e.x,360*(t-.5)),F(e.y)]}};var t}function I(e){const t=e.numPoints,o=t>=1e4?`${Math.round(t/1e3)}k`:t>=1e3?Math.round(t/100)/10+"k":t;return H(H({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:o})}function Y(e){return e/360+.5}function j(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function F(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function H(e,t){for(const o in t)e[o]=t[o];return e}function U(e){return e.x}function V(e){return e.y}function G(e,t,o,i){for(var n,r=i,a=o-t>>1,s=o-t,p=e[t],c=e[t+1],l=e[o],b=e[o+1],d=t+3;d r)n=d,r=u;else if(u===r){var M=Math.abs(d-a);M i&&(n-t>3&&G(e,t,n,i),e[n+2]=r,o-n>3&&G(e,n,o,i))}function Z(e,t,o,i,n,r){var a=n-o,s=r-i;if(0!==a||0!==s){var p=((e-o)*a+(t-i)*s)/(a*a+s*s);p>1?(o=n,i=r):p>0&&(o+=a*p,i+=s*p)}return(a=e-o)*a+(s=t-i)*s}function $(e,t,o,i){var n={id:void 0===e?null:e,type:t,geometry:o,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,o=e.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)K(e,t);else if("Polygon"===o||"MultiLineString"===o)for(var i=0;i0&&(a+=i?(n*c-p*r)/2:Math.sqrt(Math.pow(p-n,2)+Math.pow(c-r,2))),n=p,r=c}var l=t.length-3;t[2]=1,G(t,0,l,o),t[l+2]=1,t.size=Math.abs(a),t.start=0,t.end=t.size}function te(e,t,o,i){for(var n=0;n 1?1:o}function ne(e,t,o,i,n,r,a,s){if(i/=t,r>=(o/=t)&&a=i)return null;for(var p=[],c=0;c =o&&M=i)){var z=[];if("Point"===d||"MultiPoint"===d)re(b,z,o,i,n);else if("LineString"===d)ae(b,z,o,i,n,!1,s.lineMetrics);else if("MultiLineString"===d)pe(b,z,o,i,n,!1);else if("Polygon"===d)pe(b,z,o,i,n,!0);else if("MultiPolygon"===d)for(var m=0;m =o&&a<=i&&(t.push(e[r]),t.push(e[r+1]),t.push(e[r+2]))}}function ae(e,t,o,i,n,r,a){for(var s,p,c=se(e),l=0===n?le:be,b=e.start,d=0;d o&&(p=l(c,u,M,m,h,o),a&&(c.start=b+s*p)):O>i?f=o&&(p=l(c,u,M,m,h,o),A=!0),f>i&&O<=i&&(p=l(c,u,M,m,h,i),A=!0),!r&&A&&(a&&(c.end=b+s*p),t.push(c),c=se(e)),a&&(b+=s)}var _=e.length-3;u=e[_],M=e[_+1],z=e[_+2],(O=0===n?u:M)>=o&&O<=i&&ce(c,u,M,z),_=c.length-3,r&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&ce(c,c[0],c[1],c[2]),c.length&&t.push(c)}function se(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function pe(e,t,o,i,n,r){for(var a=0;a a.maxX&&(a.maxX=l),b>a.maxY&&(a.maxY=b)}return a}function he(e,t,o,i){var n=t.geometry,r=t.type,a=[];if("Point"===r||"MultiPoint"===r)for(var s=0;s 0&&t.size<(n?a:i))o.numPoints+=t.length/3;else{for(var s=[],p=0;p a)&&(o.numSimplified++,s.push(t[p]),s.push(t[p+1])),o.numPoints++;n&&function(e,t){for(var o=0,i=0,n=e.length,r=n-2;i 0===t)for(i=0,n=e.length;i 24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var i=function(e,t){var o=[];if("FeatureCollection"===e.type)for(var i=0;i 1&&console.time("creation"),d=this.tiles[b]=me(e,t,o,i,p),this.tileCoords.push({z:t,x:o,y:i}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,o,i,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd("creation"));var u="z"+t;this.stats[u]=(this.stats[u]||0)+1,this.total++}if(d.source=e,n){if(t===p.maxZoom||t===n)continue;var M=1< 1&&console.time("clipping");var z,m,h,O,f,A,_=.5*p.buffer/p.extent,g=.5-_,q=.5+_,y=1+_;z=m=h=O=null,f=ne(e,l,o-_,o+q,0,d.minX,d.maxX,p),A=ne(e,l,o+g,o+y,0,d.minX,d.maxX,p),e=null,f&&(z=ne(f,l,i-_,i+q,1,d.minY,d.maxY,p),m=ne(f,l,i+g,i+y,1,d.minY,d.maxY,p),f=null),A&&(h=ne(A,l,i-_,i+q,1,d.minY,d.maxY,p),O=ne(A,l,i+g,i+y,1,d.minY,d.maxY,p),A=null),c>1&&console.timeEnd("clipping"),s.push(z||[],t+1,2*o,2*i),s.push(m||[],t+1,2*o,2*i+1),s.push(h||[],t+1,2*o+1,2*i),s.push(O||[],t+1,2*o+1,2*i+1)}}},fe.prototype.getTile=function(e,t,o){var i=this.options,n=i.extent,r=i.debug;if(e<0||e>24)return null;var a=1< 1&&console.log("drilling down to z%d-%d-%d",e,t,o);for(var p,c=e,l=t,b=o;!p&&c>0;)c--,l=Math.floor(l/2),b=Math.floor(b/2),p=this.tiles[Ae(c,l,b)];return p&&p.source?(r>1&&console.log("found parent tile z%d-%d-%d",c,l,b),r>1&&console.time("drilling down"),this.splitTile(p.source,c,l,b,e,t,o),r>1&&console.timeEnd("drilling down"),this.tiles[s]?Me(this.tiles[s],n):null):null};class ge extends e.VectorTileWorkerSource{constructor(e,t,o,i,n){super(e,t,o,i,_e),n&&(this.loadGeoJSON=n)}loadData(t,o){const i=t&&t.request,n=i&&i.collectResourceTiming;this.loadGeoJSON(t,((r,s)=>{if(r||!s)return o(r);if("object"!=typeof s)return o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{a(s,!0);try{if(t.filter){const o=e.createExpression(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(", "));const i=s.features.filter((e=>o.value.evaluate({zoom:0},e)));s={type:"FeatureCollection",features:i}}this._geoJSONIndex=t.cluster?new D(function({superclusterOptions:t,clusterProperties:o}){if(!o||!t)return t;const i={},n={},r={accumulated:null,zoom:0},a={properties:null},s=Object.keys(o);for(const t of s){const[r,a]=o[t],s=e.createExpression(a),p=e.createExpression("string"==typeof r?[r,["accumulated"],["get",t]]:r);i[t]=s.value,n[t]=p.value}return t.map=e=>{a.properties=e;const t={};for(const e of s)t[e]=i[e].evaluate(r,a);return t},t.reduce=(e,t)=>{a.properties=t;for(const t of s)r.accumulated=e[t],e[t]=n[t].evaluate(r,a)},t}(t)).load(s.features):function(e,t){return new fe(e,t)}(s,t.geojsonVtOptions)}catch(r){return o(r)}this.loaded={};const p={};if(n){const o=e.getPerformanceMeasurement(i);o&&(p.resourceTiming={},p.resourceTiming[t.source]=JSON.parse(JSON.stringify(o)))}o(null,p)}}))}reloadTile(e,t){const o=this.loaded;return o&&o[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,o){if(t.request)e.getJSON(t.request,o);else{if("string"!=typeof t.data)return o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));try{return o(null,JSON.parse(t.data))}catch(e){return o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId))}catch(e){t(e)}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId))}catch(e){t(e)}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset))}catch(e){t(e)}}}class qe{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=e.getProjection({name:"mercator"}),this.workerSourceTypes={vector:e.VectorTileWorkerSource,geojson:ge},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.workerSourceTypes[e]=t},this.self.registerRTLTextPlugin=t=>{if(e.plugin.isParsed())throw new Error("RTL text plugin already registered.");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText}}clearCaches(e,t,o){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],o()}checkIfReady(e,t,o){o()}setReferrer(e,t){this.referrer=t}spriteLoaded(t,o){this.isSpriteLoaded[t]=o;for(const i in this.workerSources[t]){const n=this.workerSources[t][i];for(const t in n)n[t]instanceof e.VectorTileWorkerSource&&(n[t].isSpriteLoaded=o,n[t].fire(new e.Event("isSpriteLoaded")))}}setImages(e,t,o){this.availableImages[e]=t;for(const o in this.workerSources[e]){const i=this.workerSources[e][o];for(const e in i)i[e].availableImages=t}o()}enableTerrain(e,t,o){this.terrain=t,o()}setProjection(t,o){this.projections[t]=e.getProjection(o)}setLayers(e,t,o){this.getLayerIndex(e).replace(t),o()}updateLayers(e,t,o){this.getLayerIndex(e).update(t.layers,t.removedIds),o()}loadTile(t,o,i){const n=this.enableTerrain?e.extend({enableTerrain:this.terrain},o):o;n.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,o.type,o.source).loadTile(n,i)}loadDEMTile(t,o,i){const n=this.enableTerrain?e.extend({buildQuadTree:this.terrain},o):o;this.getDEMWorkerSource(t,o.source).loadTile(n,i)}reloadTile(t,o,i){const n=this.enableTerrain?e.extend({enableTerrain:this.terrain},o):o;n.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,o.type,o.source).reloadTile(n,i)}abortTile(e,t,o){this.getWorkerSource(e,t.type,t.source).abortTile(t,o)}removeTile(e,t,o){this.getWorkerSource(e,t.type,t.source).removeTile(t,o)}removeSource(e,t,o){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,o):o()}loadWorkerSource(e,t,o){try{this.self.importScripts(t.url),o()}catch(e){o(e.toString())}}syncRTLPluginState(t,o,i){try{e.plugin.setState(o);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const o=e.plugin.isParsed();i(o?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),o)}}catch(e){i(e.toString())}}getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t}getWorkerSource(e,t,o){return this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),this.workerSources[e][t][o]||(this.workerSources[e][t][o]=new this.workerSourceTypes[t]({send:(t,o,i,n,r,a)=>{this.actor.send(t,o,i,e,r,a)},scheduler:this.actor.scheduler},this.getLayerIndex(e),this.getAvailableImages(e),this.isSpriteLoaded[e])),this.workerSources[e][t][o]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new r),this.demWorkerSources[e][t]}enforceCacheSizeLimit(t,o){e.enforceCacheSizeLimit(o)}getWorkerPerformanceMetrics(e,t,o){o(void 0,void 0)}}return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new qe(self)),qe})),n(["./shared"],(function(e){var t=o;function o(e){return!function(e){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 e,t,o=new Blob([""],{type:"text/javascript"}),i=URL.createObjectURL(o);try{t=new Worker(i),e=!0}catch(t){e=!1}return t&&t.terminate(),URL.revokeObjectURL(i),e}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var e=document.createElement("canvas");e.width=e.height=1;var t=e.getContext("2d");if(!t)return!1;var o=t.getImageData(0,0,1,1);return o&&o.width===e.width}()?(void 0===i[t=e&&e.failIfMajorPerformanceCaveat]&&(i[t]=function(e){var t,i=function(e){var t=document.createElement("canvas"),i=Object.create(o.webGLContextAttributes);return i.failIfMajorPerformanceCaveat=e,t.getContext("webgl",i)||t.getContext("experimental-webgl",i)}(e);if(!i)return!1;try{t=i.createShader(i.VERTEX_SHADER)}catch(e){return!1}return!(!t||i.isContextLost())&&(i.shaderSource(t,"void main() {}"),i.compileShader(t),!0===i.getShaderParameter(t,i.COMPILE_STATUS))}(t)),i[t]?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 t}(e)}var i={};function n(e,t){var o=t[0],i=t[1],n=t[2],r=t[3],a=o*r-n*i;return a?(e[0]=r*(a=1/a),e[1]=-i*a,e[2]=-n*a,e[3]=o*a,e):null}function r(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let o=0;o {e.window.removeEventListener("click",l,!0)}),0)},a.mousePos=function(e,t){const o=e.getBoundingClientRect();return b(e,o,t)},a.touchPos=function(e,t){const o=e.getBoundingClientRect(),i=[];for(let n=0;n =0?0:t.button};class u extends e.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:e,callback:t}of this.requestors)this._notify(e,t);this.requestors=[]}}getImage(e){return this.images[e]}addImage(e,t){this._validate(e,t)&&(this.images[e]=t)}_validate(t,o){let i=!0;return this._validateStretch(o.stretchX,o.data&&o.data.width)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "stretchX" value`))),i=!1),this._validateStretch(o.stretchY,o.data&&o.data.height)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "stretchY" value`))),i=!1),this._validateContent(o.content,o)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "content" value`))),i=!1),i}_validateStretch(e,t){if(!e)return!0;let o=0;for(const i of e){if(i[0] {this.ready=!0}))}broadcast(t,o,i){e.asyncAll(this.actors,((e,i)=>{e.send(t,o,i)}),i=i||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((e=>{e.remove()})),this.actors=[],this.workerPool.release(this.id)}}function x(t,o,i){return o*(e.EXTENT/(t.tileSize*Math.pow(2,i-t.tileID.overscaledZ)))}v.Actor=e.Actor;class W{constructor(e,t,o){this.context=e;const i=e.gl;this.buffer=i.createBuffer(),this.dynamicDraw=Boolean(o),this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){const t=this.context.gl;this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const w={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class L{constructor(e,t,o,i){this.length=t.length,this.attributes=o,this.itemSize=t.bytesPerElement,this.dynamicDraw=i,this.context=e;const n=e.gl;this.buffer=n.createBuffer(),e.bindVertexBuffer.set(this.buffer),n.bufferData(n.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){const t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let o=0;o i.pointCoordinate3D(e))),this.cameraGeometry=this.bufferedCameraGeometry(0)}static createFromScreenPoints(t,o){let i,n;if(t instanceof e.pointGeometry||"number"==typeof t[0]){const r=e.pointGeometry.convert(t);i=[e.pointGeometry.convert(t)],n=o.isPointAboveHorizon(r)}else{const r=e.pointGeometry.convert(t[0]),a=e.pointGeometry.convert(t[1]);i=[r,a],n=e.polygonizeBounds(r,a).every((e=>o.isPointAboveHorizon(e)))}return new Me(i,o.getCameraPoint(),n,o)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(t){return e.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],t)}bufferedCameraGeometry(t){const o=this.screenBounds[0],i=1===this.screenBounds.length?this.screenBounds[0].add(new e.pointGeometry(1,1)):this.screenBounds[1],n=e.polygonizeBounds(o,i,0,!1);return this.cameraPoint.y>i.y&&(this.cameraPoint.x>o.x&&this.cameraPoint.x