@phila/phila-ui-map-core 0.0.3-beta.11 → 0.0.3-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";const vue=require("vue"),maplibregl=require("maplibre-gl"),useMapControl=require("./useMapControl-DRyRMqub.cjs"),utils=require("./index-CNj5iS7C.cjs"),_hoisted_1$g=["data-layer-id"],_sfc_main$q=vue.defineComponent({__name:"RasterLayer",props:{id:{},source:{},paint:{default:()=>({})},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},setup(De){const O=De,M=vue.inject("map"),V=vue.inject("isLoaded"),ue=vue.ref(!1);let $=!0,me=JSON.stringify(O.source);const fe=ye=>{if(!M?.value)return;typeof O.source=="object"&&(M.value.getSource(O.id)||M.value.addSource(O.id,O.source));const re={id:O.id,type:"raster",source:typeof O.source=="object"?O.id:O.source,paint:O.paint||{}};if(O.minzoom!==void 0&&(re.minzoom=O.minzoom),O.maxzoom!==void 0&&(re.maxzoom=O.maxzoom),!M.value.getLayer(O.id)){const ce=O.beforeId;let pe;ce&&M.value.getLayer(ce)&&(pe=ce),M.value.addLayer(re,pe),ue.value=!0}},he=()=>{if(M?.value)try{M.value.getLayer?.(O.id)&&(M.value.removeLayer(O.id),ue.value=!1),typeof O.source=="object"&&M.value.getSource?.(O.id)&&M.value.removeSource(O.id)}catch{}};return vue.watch(()=>V?.value,ye=>{try{if(!$||!ye||!M?.value)return;fe()}catch{}},{immediate:!0}),vue.watch(()=>O.paint,ye=>{try{if(!$||!M?.value?.getLayer?.(O.id)||!ye)return;Object.keys(ye).forEach(re=>{!$||!M?.value||M.value.setPaintProperty(O.id,re,ye[re])})}catch{}},{deep:!0}),vue.watch(()=>O.source,ye=>{try{if(!$||!M?.value)return;const re=JSON.stringify(ye);if(re===me)return;me=re,he(),fe()}catch{}},{deep:!0}),vue.onBeforeUnmount(()=>{$=!1}),vue.onUnmounted(()=>{he()}),(ye,re)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":O.id,"data-layer-type":"raster"},null,8,_hoisted_1$g))}}),_hoisted_1$f=["data-layer-id"],_sfc_main$p=vue.defineComponent({__name:"BasemapCeiling",props:{id:{}},setup(De){const O=De,M=vue.inject("map"),V=vue.inject("isLoaded"),ue=vue.ref(!1);let $=!0;const me=()=>{if(M?.value&&!M.value.getLayer(O.id)){const he={id:O.id,type:"custom",render(){}};M.value.addLayer(he),ue.value=!0}},fe=()=>{if(M?.value)try{M.value.getLayer?.(O.id)&&(M.value.removeLayer(O.id),ue.value=!1)}catch{}};return vue.watch(()=>V?.value,he=>{try{if(!$||!he||!M?.value)return;me()}catch{}},{immediate:!0}),vue.onBeforeUnmount(()=>{$=!1}),vue.onUnmounted(()=>{fe()}),(he,ye)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":O.id,"data-layer-type":"custom"},null,8,_hoisted_1$f))}});function _arrayLikeToArray$2(De,O){(O==null||O>De.length)&&(O=De.length);for(var M=0,V=Array(O);M<O;M++)V[M]=De[M];return V}function _arrayWithHoles(De){if(Array.isArray(De))return De}function _arrayWithoutHoles$2(De){if(Array.isArray(De))return _arrayLikeToArray$2(De)}function _classCallCheck(De,O){if(!(De instanceof O))throw new TypeError("Cannot call a class as a function")}function _defineProperties(De,O){for(var M=0;M<O.length;M++){var V=O[M];V.enumerable=V.enumerable||!1,V.configurable=!0,"value"in V&&(V.writable=!0),Object.defineProperty(De,_toPropertyKey$2(V.key),V)}}function _createClass(De,O,M){return O&&_defineProperties(De.prototype,O),Object.defineProperty(De,"prototype",{writable:!1}),De}function _createForOfIteratorHelper(De,O){var M=typeof Symbol<"u"&&De[Symbol.iterator]||De["@@iterator"];if(!M){if(Array.isArray(De)||(M=_unsupportedIterableToArray$2(De))||O){M&&(De=M);var V=0,ue=function(){};return{s:ue,n:function(){return V>=De.length?{done:!0}:{done:!1,value:De[V++]}},e:function(he){throw he},f:ue}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1
+ "use strict";const vue=require("vue"),maplibregl=require("maplibre-gl"),useMapControl=require("./useMapControl-DRyRMqub.cjs"),utils=require("./index-CNj5iS7C.cjs"),_hoisted_1$g=["data-layer-id"],_sfc_main$r=vue.defineComponent({__name:"RasterLayer",props:{id:{},source:{},paint:{default:()=>({})},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},setup(De){const O=De,M=vue.inject("map"),V=vue.inject("isLoaded"),ue=vue.ref(!1);let $=!0,me=JSON.stringify(O.source);const fe=ye=>{if(!M?.value)return;typeof O.source=="object"&&(M.value.getSource(O.id)||M.value.addSource(O.id,O.source));const re={id:O.id,type:"raster",source:typeof O.source=="object"?O.id:O.source,paint:O.paint||{}};if(O.minzoom!==void 0&&(re.minzoom=O.minzoom),O.maxzoom!==void 0&&(re.maxzoom=O.maxzoom),!M.value.getLayer(O.id)){const ce=O.beforeId;let pe;ce&&M.value.getLayer(ce)&&(pe=ce),M.value.addLayer(re,pe),ue.value=!0}},he=()=>{if(M?.value)try{M.value.getLayer?.(O.id)&&(M.value.removeLayer(O.id),ue.value=!1),typeof O.source=="object"&&M.value.getSource?.(O.id)&&M.value.removeSource(O.id)}catch{}};return vue.watch(()=>V?.value,ye=>{try{if(!$||!ye||!M?.value)return;fe()}catch{}},{immediate:!0}),vue.watch(()=>O.paint,ye=>{try{if(!$||!M?.value?.getLayer?.(O.id)||!ye)return;Object.keys(ye).forEach(re=>{!$||!M?.value||M.value.setPaintProperty(O.id,re,ye[re])})}catch{}},{deep:!0}),vue.watch(()=>O.source,ye=>{try{if(!$||!M?.value)return;const re=JSON.stringify(ye);if(re===me)return;me=re,he(),fe()}catch{}},{deep:!0}),vue.onBeforeUnmount(()=>{$=!1}),vue.onUnmounted(()=>{he()}),(ye,re)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":O.id,"data-layer-type":"raster"},null,8,_hoisted_1$g))}}),_hoisted_1$f=["data-layer-id"],_sfc_main$q=vue.defineComponent({__name:"BasemapCeiling",props:{id:{}},setup(De){const O=De,M=vue.inject("map"),V=vue.inject("isLoaded"),ue=vue.ref(!1);let $=!0;const me=()=>{if(M?.value&&!M.value.getLayer(O.id)){const he={id:O.id,type:"custom",render(){}};M.value.addLayer(he),ue.value=!0}},fe=()=>{if(M?.value)try{M.value.getLayer?.(O.id)&&(M.value.removeLayer(O.id),ue.value=!1)}catch{}};return vue.watch(()=>V?.value,he=>{try{if(!$||!he||!M?.value)return;me()}catch{}},{immediate:!0}),vue.onBeforeUnmount(()=>{$=!1}),vue.onUnmounted(()=>{fe()}),(he,ye)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":O.id,"data-layer-type":"custom"},null,8,_hoisted_1$f))}});function _arrayLikeToArray$2(De,O){(O==null||O>De.length)&&(O=De.length);for(var M=0,V=Array(O);M<O;M++)V[M]=De[M];return V}function _arrayWithHoles(De){if(Array.isArray(De))return De}function _arrayWithoutHoles$2(De){if(Array.isArray(De))return _arrayLikeToArray$2(De)}function _classCallCheck(De,O){if(!(De instanceof O))throw new TypeError("Cannot call a class as a function")}function _defineProperties(De,O){for(var M=0;M<O.length;M++){var V=O[M];V.enumerable=V.enumerable||!1,V.configurable=!0,"value"in V&&(V.writable=!0),Object.defineProperty(De,_toPropertyKey$2(V.key),V)}}function _createClass(De,O,M){return O&&_defineProperties(De.prototype,O),Object.defineProperty(De,"prototype",{writable:!1}),De}function _createForOfIteratorHelper(De,O){var M=typeof Symbol<"u"&&De[Symbol.iterator]||De["@@iterator"];if(!M){if(Array.isArray(De)||(M=_unsupportedIterableToArray$2(De))||O){M&&(De=M);var V=0,ue=function(){};return{s:ue,n:function(){return V>=De.length?{done:!0}:{done:!1,value:De[V++]}},e:function(he){throw he},f:ue}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var $,me=!0,fe=!1;return{s:function(){M=M.call(De)},n:function(){var he=M.next();return me=he.done,he},e:function(he){fe=!0,$=he},f:function(){try{me||M.return==null||M.return()}finally{if(fe)throw $}}}}function _defineProperty$2(De,O,M){return(O=_toPropertyKey$2(O))in De?Object.defineProperty(De,O,{value:M,enumerable:!0,configurable:!0,writable:!0}):De[O]=M,De}function _iterableToArray$2(De){if(typeof Symbol<"u"&&De[Symbol.iterator]!=null||De["@@iterator"]!=null)return Array.from(De)}function _iterableToArrayLimit(De,O){var M=De==null?null:typeof Symbol<"u"&&De[Symbol.iterator]||De["@@iterator"];if(M!=null){var V,ue,$,me,fe=[],he=!0,ye=!1;try{if($=(M=M.call(De)).next,O===0){if(Object(M)!==M)return;he=!1}else for(;!(he=(V=$.call(M)).done)&&(fe.push(V.value),fe.length!==O);he=!0);}catch(re){ye=!0,ue=re}finally{try{if(!he&&M.return!=null&&(me=M.return(),Object(me)!==me))return}finally{if(ye)throw ue}}return fe}}function _nonIterableRest(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _nonIterableSpread$2(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ownKeys$2(De,O){var M=Object.keys(De);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(De);O&&(V=V.filter(function(ue){return Object.getOwnPropertyDescriptor(De,ue).enumerable})),M.push.apply(M,V)}return M}function _objectSpread2$2(De){for(var O=1;O<arguments.length;O++){var M=arguments[O]!=null?arguments[O]:{};O%2?ownKeys$2(Object(M),!0).forEach(function(V){_defineProperty$2(De,V,M[V])}):Object.getOwnPropertyDescriptors?Object.defineProperties(De,Object.getOwnPropertyDescriptors(M)):ownKeys$2(Object(M)).forEach(function(V){Object.defineProperty(De,V,Object.getOwnPropertyDescriptor(M,V))})}return De}function _slicedToArray(De,O){return _arrayWithHoles(De)||_iterableToArrayLimit(De,O)||_unsupportedIterableToArray$2(De,O)||_nonIterableRest()}function _toConsumableArray$2(De){return _arrayWithoutHoles$2(De)||_iterableToArray$2(De)||_unsupportedIterableToArray$2(De)||_nonIterableSpread$2()}function _toPrimitive$2(De,O){if(typeof De!="object"||!De)return De;var M=De[Symbol.toPrimitive];if(M!==void 0){var V=M.call(De,O);if(typeof V!="object")return V;throw new TypeError("@@toPrimitive must return a primitive value.")}return(O==="string"?String:Number)(De)}function _toPropertyKey$2(De){var O=_toPrimitive$2(De,"string");return typeof O=="symbol"?O:O+""}function _typeof$2(De){"@babel/helpers - typeof";return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},_typeof$2(De)}function _unsupportedIterableToArray$2(De,O){if(De){if(typeof De=="string")return _arrayLikeToArray$2(De,O);var M={}.toString.call(De).slice(8,-1);return M==="Object"&&De.constructor&&(M=De.constructor.name),M==="Map"||M==="Set"?Array.from(De):M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M)?_arrayLikeToArray$2(De,O):void 0}}var noop=function(){},_WINDOW={},_DOCUMENT={},_MUTATION_OBSERVER=null,_PERFORMANCE={mark:noop,measure:noop};try{typeof window<"u"&&(_WINDOW=window),typeof document<"u"&&(_DOCUMENT=document),typeof MutationObserver<"u"&&(_MUTATION_OBSERVER=MutationObserver),typeof performance<"u"&&(_PERFORMANCE=performance)}catch{}var _ref=_WINDOW.navigator||{},_ref$userAgent=_ref.userAgent,userAgent=_ref$userAgent===void 0?"":_ref$userAgent,WINDOW=_WINDOW,DOCUMENT=_DOCUMENT,MUTATION_OBSERVER=_MUTATION_OBSERVER,PERFORMANCE=_PERFORMANCE;WINDOW.document;var IS_DOM=!!DOCUMENT.documentElement&&!!DOCUMENT.head&&typeof DOCUMENT.addEventListener=="function"&&typeof DOCUMENT.createElement=="function",IS_IE=~userAgent.indexOf("MSIE")||~userAgent.indexOf("Trident/"),_dt,E=/fa(k|kd|s|r|l|t|d|dr|dl|dt|b|slr|slpr|wsb|tl|ns|nds|es|jr|jfr|jdr|usb|ufsb|udsb|cr|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,_=/Font ?Awesome ?([567 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit|Notdog Duo|Notdog|Chisel|Etch|Thumbprint|Jelly Fill|Jelly Duo|Jelly|Utility|Utility Fill|Utility Duo|Slab Press|Slab|Whiteboard)?.*/i,q$1={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"},slab:{"fa-regular":"regular",faslr:"regular"},"slab-press":{"fa-regular":"regular",faslpr:"regular"},thumbprint:{"fa-light":"light",fatl:"light"},whiteboard:{"fa-semibold":"semibold",fawsb:"semibold"},notdog:{"fa-solid":"solid",fans:"solid"},"notdog-duo":{"fa-solid":"solid",fands:"solid"},etch:{"fa-solid":"solid",faes:"solid"},jelly:{"fa-regular":"regular",fajr:"regular"},"jelly-fill":{"fa-regular":"regular",fajfr:"regular"},"jelly-duo":{"fa-regular":"regular",fajdr:"regular"},chisel:{"fa-regular":"regular",facr:"regular"},utility:{"fa-semibold":"semibold",fausb:"semibold"},"utility-duo":{"fa-semibold":"semibold",faudsb:"semibold"},"utility-fill":{"fa-semibold":"semibold",faufsb:"semibold"}},H$1={GROUP:"duotone-group",PRIMARY:"primary",SECONDARY:"secondary"},Q$1=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-thumbprint","fa-whiteboard","fa-notdog","fa-notdog-duo","fa-chisel","fa-etch","fa-jelly","fa-jelly-fill","fa-jelly-duo","fa-slab","fa-slab-press","fa-utility","fa-utility-duo","fa-utility-fill"],i="classic",t="duotone",d="sharp",l="sharp-duotone",f="chisel",n="etch",h="jelly",o="jelly-duo",u="jelly-fill",g="notdog",s="notdog-duo",y="slab",m="slab-press",e="thumbprint",p="utility",a="utility-duo",w$1="utility-fill",x="whiteboard",b="Classic",c="Duotone",I="Sharp",F$2="Sharp Duotone",v="Chisel",S="Etch",A="Jelly",P$1="Jelly Duo",j="Jelly Fill",B="Notdog",N="Notdog Duo",k="Slab",D="Slab Press",T="Thumbprint",C="Utility",W$1="Utility Duo",K="Utility Fill",R="Whiteboard",rt=[i,t,d,l,f,n,h,o,u,g,s,y,m,e,p,a,w$1,x];_dt={},_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_dt,i,b),t,c),d,I),l,F$2),f,v),n,S),h,A),o,P$1),u,j),g,B),_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_dt,s,N),y,k),m,D),e,T),p,C),a,W$1),w$1,K),x,R);var gt={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"},slab:{400:"faslr"},"slab-press":{400:"faslpr"},whiteboard:{600:"fawsb"},thumbprint:{300:"fatl"},notdog:{900:"fans"},"notdog-duo":{900:"fands"},etch:{900:"faes"},chisel:{400:"facr"},jelly:{400:"fajr"},"jelly-fill":{400:"fajfr"},"jelly-duo":{400:"fajdr"},utility:{600:"fausb"},"utility-duo":{600:"faudsb"},"utility-fill":{600:"faufsb"}},Ct={"Font Awesome 7 Free":{900:"fas",400:"far"},"Font Awesome 7 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 7 Brands":{400:"fab",normal:"fab"},"Font Awesome 7 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 7 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 7 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"},"Font Awesome 7 Jelly":{400:"fajr",normal:"fajr"},"Font Awesome 7 Jelly Fill":{400:"fajfr",normal:"fajfr"},"Font Awesome 7 Jelly Duo":{400:"fajdr",normal:"fajdr"},"Font Awesome 7 Slab":{400:"faslr",normal:"faslr"},"Font Awesome 7 Slab Press":{400:"faslpr",normal:"faslpr"},"Font Awesome 7 Thumbprint":{300:"fatl",normal:"fatl"},"Font Awesome 7 Notdog":{900:"fans",normal:"fans"},"Font Awesome 7 Notdog Duo":{900:"fands",normal:"fands"},"Font Awesome 7 Etch":{900:"faes",normal:"faes"},"Font Awesome 7 Chisel":{400:"facr",normal:"facr"},"Font Awesome 7 Whiteboard":{600:"fawsb",normal:"fawsb"},"Font Awesome 7 Utility":{600:"fausb",normal:"fausb"},"Font Awesome 7 Utility Duo":{600:"faudsb",normal:"faudsb"},"Font Awesome 7 Utility Fill":{600:"faufsb",normal:"faufsb"}},Ut=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["chisel",{defaultShortPrefixId:"facr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["etch",{defaultShortPrefixId:"faes",defaultStyleId:"solid",styleIds:["solid"],futureStyleIds:[],defaultFontWeight:900}],["jelly",{defaultShortPrefixId:"fajr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["jelly-duo",{defaultShortPrefixId:"fajdr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["jelly-fill",{defaultShortPrefixId:"fajfr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["notdog",{defaultShortPrefixId:"fans",defaultStyleId:"solid",styleIds:["solid"],futureStyleIds:[],defaultFontWeight:900}],["notdog-duo",{defaultShortPrefixId:"fands",defaultStyleId:"solid",styleIds:["solid"],futureStyleIds:[],defaultFontWeight:900}],["slab",{defaultShortPrefixId:"faslr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["slab-press",{defaultShortPrefixId:"faslpr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["thumbprint",{defaultShortPrefixId:"fatl",defaultStyleId:"light",styleIds:["light"],futureStyleIds:[],defaultFontWeight:300}],["utility",{defaultShortPrefixId:"fausb",defaultStyleId:"semibold",styleIds:["semibold"],futureStyleIds:[],defaultFontWeight:600}],["utility-duo",{defaultShortPrefixId:"faudsb",defaultStyleId:"semibold",styleIds:["semibold"],futureStyleIds:[],defaultFontWeight:600}],["utility-fill",{defaultShortPrefixId:"faufsb",defaultStyleId:"semibold",styleIds:["semibold"],futureStyleIds:[],defaultFontWeight:600}],["whiteboard",{defaultShortPrefixId:"fawsb",defaultStyleId:"semibold",styleIds:["semibold"],futureStyleIds:[],defaultFontWeight:600}]]),_t={chisel:{regular:"facr"},classic:{brands:"fab",light:"fal",regular:"far",solid:"fas",thin:"fat"},duotone:{light:"fadl",regular:"fadr",solid:"fad",thin:"fadt"},etch:{solid:"faes"},jelly:{regular:"fajr"},"jelly-duo":{regular:"fajdr"},"jelly-fill":{regular:"fajfr"},notdog:{solid:"fans"},"notdog-duo":{solid:"fands"},sharp:{light:"fasl",regular:"fasr",solid:"fass",thin:"fast"},"sharp-duotone":{light:"fasdl",regular:"fasdr",solid:"fasds",thin:"fasdt"},slab:{regular:"faslr"},"slab-press":{regular:"faslpr"},thumbprint:{light:"fatl"},utility:{semibold:"fausb"},"utility-duo":{semibold:"faudsb"},"utility-fill":{semibold:"faufsb"},whiteboard:{semibold:"fawsb"}},Yt=["fak","fa-kit","fakd","fa-kit-duotone"],qt={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},Ht=["kit"],L="kit",r="kit-duotone",U="Kit",J$1="Kit Duotone";_defineProperty$2(_defineProperty$2({},L,U),r,J$1);var ol$1={kit:{"fa-kit":"fak"}},dl={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},fl={kit:{fak:"fa-kit"}},ul={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},_ml,l$1={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},f$1=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-thumbprint","fa-whiteboard","fa-notdog","fa-notdog-duo","fa-chisel","fa-etch","fa-jelly","fa-jelly-fill","fa-jelly-duo","fa-slab","fa-slab-press","fa-utility","fa-utility-duo","fa-utility-fill"],n$1="classic",o$1="duotone",u$1="sharp",s$1="sharp-duotone",h$1="chisel",g$1="etch",y$1="jelly",e$1="jelly-duo",m$1="jelly-fill",p$1="notdog",a$1="notdog-duo",w$1$1="slab",b$1="slab-press",r$1="thumbprint",c$1="utility",i$1="utility-duo",x$1="utility-fill",I$1="whiteboard",F$1$1="Classic",v$1="Duotone",S$1="Sharp",A$1="Sharp Duotone",P$1$1="Chisel",j$1="Etch",B$1="Jelly",N$1="Jelly Duo",k$1="Jelly Fill",D$1="Notdog",C$1="Notdog Duo",T$1="Slab",L$1="Slab Press",W$1$1="Thumbprint",R$1="Utility",K$1="Utility Duo",U$1="Utility Fill",J$1$1="Whiteboard";_ml={},_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_ml,n$1,F$1$1),o$1,v$1),u$1,S$1),s$1,A$1),h$1,P$1$1),g$1,j$1),y$1,B$1),e$1,N$1),m$1,k$1),p$1,D$1),_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2(_ml,a$1,C$1),w$1$1,T$1),b$1,L$1),r$1,W$1$1),c$1,R$1),i$1,K$1),x$1,U$1),I$1,J$1$1);var E$1="kit",d$1="kit-duotone",_$1="Kit",M$1="Kit Duotone";_defineProperty$2(_defineProperty$2({},E$1,_$1),d$1,M$1);var $t$1={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"},slab:{"fa-regular":"faslr"},"slab-press":{"fa-regular":"faslpr"},whiteboard:{"fa-semibold":"fawsb"},thumbprint:{"fa-light":"fatl"},notdog:{"fa-solid":"fans"},"notdog-duo":{"fa-solid":"fands"},etch:{"fa-solid":"faes"},jelly:{"fa-regular":"fajr"},"jelly-fill":{"fa-regular":"fajfr"},"jelly-duo":{"fa-regular":"fajdr"},chisel:{"fa-regular":"facr"},utility:{"fa-semibold":"fausb"},"utility-duo":{"fa-semibold":"faudsb"},"utility-fill":{"fa-semibold":"faufsb"}},z={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"],slab:["faslr"],"slab-press":["faslpr"],whiteboard:["fawsb"],thumbprint:["fatl"],notdog:["fans"],"notdog-duo":["fands"],etch:["faes"],jelly:["fajr"],"jelly-fill":["fajfr"],"jelly-duo":["fajdr"],chisel:["facr"],utility:["fausb"],"utility-duo":["faudsb"],"utility-fill":["faufsb"]},Ht$1={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"},slab:{faslr:"fa-regular"},"slab-press":{faslpr:"fa-regular"},whiteboard:{fawsb:"fa-semibold"},thumbprint:{fatl:"fa-light"},notdog:{fans:"fa-solid"},"notdog-duo":{fands:"fa-solid"},etch:{faes:"fa-solid"},jelly:{fajr:"fa-regular"},"jelly-fill":{fajfr:"fa-regular"},"jelly-duo":{fajdr:"fa-regular"},chisel:{facr:"fa-regular"},utility:{fausb:"fa-semibold"},"utility-duo":{faudsb:"fa-semibold"},"utility-fill":{faufsb:"fa-semibold"}},Y$1=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands","fa-semibold"],Zt$1=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","faslr","faslpr","fawsb","fatl","fans","fands","faes","fajr","fajfr","fajdr","facr","fausb","faudsb","faufsb"].concat(f$1,Y$1),G$1=["solid","regular","light","thin","duotone","brands","semibold"],O$1=[1,2,3,4,5,6,7,8,9,10],V$1=O$1.concat([11,12,13,14,15,16,17,18,19,20]),$$1=["aw","fw","pull-left","pull-right"],to=[].concat(_toConsumableArray$2(Object.keys(z)),G$1,$$1,["2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","inverse","layers","layers-bottom-left","layers-bottom-right","layers-counter","layers-text","layers-top-left","layers-top-right","li","pull-end","pull-start","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul","width-auto","width-fixed",l$1.GROUP,l$1.SWAP_OPACITY,l$1.PRIMARY,l$1.SECONDARY]).concat(O$1.map(function(De){return"".concat(De,"x")})).concat(V$1.map(function(De){return"w-".concat(De)})),ro={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}},NAMESPACE_IDENTIFIER="___FONT_AWESOME___",UNITS_IN_GRID=16,DEFAULT_CSS_PREFIX="fa",DEFAULT_REPLACEMENT_CLASS="svg-inline--fa",DATA_FA_I2SVG="data-fa-i2svg",DATA_FA_PSEUDO_ELEMENT="data-fa-pseudo-element",DATA_FA_PSEUDO_ELEMENT_PENDING="data-fa-pseudo-element-pending",DATA_PREFIX="data-prefix",DATA_ICON="data-icon",HTML_CLASS_I2SVG_BASE_CLASS="fontawesome-i2svg",MUTATION_APPROACH_ASYNC="async",TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS=["HTML","HEAD","STYLE","SCRIPT"],PSEUDO_ELEMENTS=["::before","::after",":before",":after"],PRODUCTION$2=(function(){try{return process.env.NODE_ENV==="production"}catch{return!1}})();function familyProxy(De){return new Proxy(De,{get:function(M,V){return V in M?M[V]:M[i]}})}var _PREFIX_TO_STYLE=_objectSpread2$2({},q$1);_PREFIX_TO_STYLE[i]=_objectSpread2$2(_objectSpread2$2(_objectSpread2$2(_objectSpread2$2({},{"fa-duotone":"duotone"}),q$1[i]),qt.kit),qt["kit-duotone"]);var PREFIX_TO_STYLE=familyProxy(_PREFIX_TO_STYLE),_STYLE_TO_PREFIX=_objectSpread2$2({},_t);_STYLE_TO_PREFIX[i]=_objectSpread2$2(_objectSpread2$2(_objectSpread2$2(_objectSpread2$2({},{duotone:"fad"}),_STYLE_TO_PREFIX[i]),ul.kit),ul["kit-duotone"]);var STYLE_TO_PREFIX=familyProxy(_STYLE_TO_PREFIX),_PREFIX_TO_LONG_STYLE=_objectSpread2$2({},Ht$1);_PREFIX_TO_LONG_STYLE[i]=_objectSpread2$2(_objectSpread2$2({},_PREFIX_TO_LONG_STYLE[i]),fl.kit);var PREFIX_TO_LONG_STYLE=familyProxy(_PREFIX_TO_LONG_STYLE),_LONG_STYLE_TO_PREFIX=_objectSpread2$2({},$t$1);_LONG_STYLE_TO_PREFIX[i]=_objectSpread2$2(_objectSpread2$2({},_LONG_STYLE_TO_PREFIX[i]),ol$1.kit);familyProxy(_LONG_STYLE_TO_PREFIX);var ICON_SELECTION_SYNTAX_PATTERN=E,LAYERS_TEXT_CLASSNAME="fa-layers-text",FONT_FAMILY_PATTERN=_,_FONT_WEIGHT_TO_PREFIX=_objectSpread2$2({},gt);familyProxy(_FONT_WEIGHT_TO_PREFIX);var ATTRIBUTES_WATCHED_FOR_MUTATION=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],DUOTONE_CLASSES=H$1,RESERVED_CLASSES=[].concat(_toConsumableArray$2(Ht),_toConsumableArray$2(to)),initial=WINDOW.FontAwesomeConfig||{};function getAttrConfig(De){var O=DOCUMENT.querySelector("script["+De+"]");if(O)return O.getAttribute(De)}function coerce(De){return De===""?!0:De==="false"?!1:De==="true"?!0:De}if(DOCUMENT&&typeof DOCUMENT.querySelector=="function"){var attrs=[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-search-pseudo-elements","searchPseudoElements"],["data-search-pseudo-elements-warnings","searchPseudoElementsWarnings"],["data-search-pseudo-elements-full-scan","searchPseudoElementsFullScan"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]];attrs.forEach(function(De){var O=_slicedToArray(De,2),M=O[0],V=O[1],ue=coerce(getAttrConfig(M));ue!=null&&(initial[V]=ue)})}var _default={styleDefault:"solid",familyDefault:i,cssPrefix:DEFAULT_CSS_PREFIX,replacementClass:DEFAULT_REPLACEMENT_CLASS,autoReplaceSvg:!0,autoAddCss:!0,searchPseudoElements:!1,searchPseudoElementsWarnings:!0,searchPseudoElementsFullScan:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};initial.familyPrefix&&(initial.cssPrefix=initial.familyPrefix);var _config=_objectSpread2$2(_objectSpread2$2({},_default),initial);_config.autoReplaceSvg||(_config.observeMutations=!1);var config={};Object.keys(_default).forEach(function(De){Object.defineProperty(config,De,{enumerable:!0,set:function(M){_config[De]=M,_onChangeCb.forEach(function(V){return V(config)})},get:function(){return _config[De]}})});Object.defineProperty(config,"familyPrefix",{enumerable:!0,set:function(O){_config.cssPrefix=O,_onChangeCb.forEach(function(M){return M(config)})},get:function(){return _config.cssPrefix}});WINDOW.FontAwesomeConfig=config;var _onChangeCb=[];function onChange(De){return _onChangeCb.push(De),function(){_onChangeCb.splice(_onChangeCb.indexOf(De),1)}}var d$2=UNITS_IN_GRID,meaninglessTransform={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function insertCss(De){if(!(!De||!IS_DOM)){var O=DOCUMENT.createElement("style");O.setAttribute("type","text/css"),O.innerHTML=De;for(var M=DOCUMENT.head.childNodes,V=null,ue=M.length-1;ue>-1;ue--){var $=M[ue],me=($.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(me)>-1&&(V=$)}return DOCUMENT.head.insertBefore(O,V),De}}var idPool="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function nextUniqueId(){for(var De=12,O="";De-- >0;)O+=idPool[Math.random()*62|0];return O}function toArray(De){for(var O=[],M=(De||[]).length>>>0;M--;)O[M]=De[M];return O}function classArray(De){return De.classList?toArray(De.classList):(De.getAttribute("class")||"").split(" ").filter(function(O){return O})}function htmlEscape(De){return"".concat(De).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function joinAttributes(De){return Object.keys(De||{}).reduce(function(O,M){return O+"".concat(M,'="').concat(htmlEscape(De[M]),'" ')},"").trim()}function joinStyles(De){return Object.keys(De||{}).reduce(function(O,M){return O+"".concat(M,": ").concat(De[M].trim(),";")},"")}function transformIsMeaningful(De){return De.size!==meaninglessTransform.size||De.x!==meaninglessTransform.x||De.y!==meaninglessTransform.y||De.rotate!==meaninglessTransform.rotate||De.flipX||De.flipY}function transformForSvg(De){var O=De.transform,M=De.containerWidth,V=De.iconWidth,ue={transform:"translate(".concat(M/2," 256)")},$="translate(".concat(O.x*32,", ").concat(O.y*32,") "),me="scale(".concat(O.size/16*(O.flipX?-1:1),", ").concat(O.size/16*(O.flipY?-1:1),") "),fe="rotate(".concat(O.rotate," 0 0)"),he={transform:"".concat($," ").concat(me," ").concat(fe)},ye={transform:"translate(".concat(V/2*-1," -256)")};return{outer:ue,inner:he,path:ye}}function transformForCss(De){var O=De.transform,M=De.width,V=M===void 0?UNITS_IN_GRID:M,ue=De.height,$=ue===void 0?UNITS_IN_GRID:ue,me="";return IS_IE?me+="translate(".concat(O.x/d$2-V/2,"em, ").concat(O.y/d$2-$/2,"em) "):me+="translate(calc(-50% + ".concat(O.x/d$2,"em), calc(-50% + ").concat(O.y/d$2,"em)) "),me+="scale(".concat(O.size/d$2*(O.flipX?-1:1),", ").concat(O.size/d$2*(O.flipY?-1:1),") "),me+="rotate(".concat(O.rotate,"deg) "),me}var baseStyles=`:root, :host {
@@ -554,11 +554,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
554
554
  }`;function css(){var De=DEFAULT_CSS_PREFIX,O=DEFAULT_REPLACEMENT_CLASS,M=config.cssPrefix,V=config.replacementClass,ue=baseStyles;if(M!==De||V!==O){var $=new RegExp("\\.".concat(De,"\\-"),"g"),me=new RegExp("\\--".concat(De,"\\-"),"g"),fe=new RegExp("\\.".concat(O),"g");ue=ue.replace($,".".concat(M,"-")).replace(me,"--".concat(M,"-")).replace(fe,".".concat(V))}return ue}var _cssInserted=!1;function ensureCss(){config.autoAddCss&&!_cssInserted&&(insertCss(css()),_cssInserted=!0)}var InjectCSS={mixout:function(){return{dom:{css,insertCss:ensureCss}}},hooks:function(){return{beforeDOMElementCreation:function(){ensureCss()},beforeI2svg:function(){ensureCss()}}}},w$2=WINDOW||{};w$2[NAMESPACE_IDENTIFIER]||(w$2[NAMESPACE_IDENTIFIER]={});w$2[NAMESPACE_IDENTIFIER].styles||(w$2[NAMESPACE_IDENTIFIER].styles={});w$2[NAMESPACE_IDENTIFIER].hooks||(w$2[NAMESPACE_IDENTIFIER].hooks={});w$2[NAMESPACE_IDENTIFIER].shims||(w$2[NAMESPACE_IDENTIFIER].shims=[]);var namespace=w$2[NAMESPACE_IDENTIFIER],functions=[],_listener=function(){DOCUMENT.removeEventListener("DOMContentLoaded",_listener),loaded=1,functions.map(function(O){return O()})},loaded=!1;IS_DOM&&(loaded=(DOCUMENT.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(DOCUMENT.readyState),loaded||DOCUMENT.addEventListener("DOMContentLoaded",_listener));function domready(De){IS_DOM&&(loaded?setTimeout(De,0):functions.push(De))}function toHtml(De){var O=De.tag,M=De.attributes,V=M===void 0?{}:M,ue=De.children,$=ue===void 0?[]:ue;return typeof De=="string"?htmlEscape(De):"<".concat(O," ").concat(joinAttributes(V),">").concat($.map(toHtml).join(""),"</").concat(O,">")}function iconFromMapping(De,O,M){if(De&&De[O]&&De[O][M])return{prefix:O,iconName:M,icon:De[O][M]}}var reduce=function(O,M,V,ue){var $=Object.keys(O),me=$.length,fe=M,he,ye,re;for(V===void 0?(he=1,re=O[$[0]]):(he=0,re=V);he<me;he++)ye=$[he],re=fe(re,O[ye],ye,O);return re};function toHex(De){return _toConsumableArray$2(De).length!==1?null:De.codePointAt(0).toString(16)}function normalizeIcons(De){return Object.keys(De).reduce(function(O,M){var V=De[M],ue=!!V.icon;return ue?O[V.iconName]=V.icon:O[M]=V,O},{})}function defineIcons(De,O){var M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},V=M.skipHooks,ue=V===void 0?!1:V,$=normalizeIcons(O);typeof namespace.hooks.addPack=="function"&&!ue?namespace.hooks.addPack(De,normalizeIcons(O)):namespace.styles[De]=_objectSpread2$2(_objectSpread2$2({},namespace.styles[De]||{}),$),De==="fas"&&defineIcons("fa",O)}var styles=namespace.styles,shims=namespace.shims,FAMILY_NAMES=Object.keys(PREFIX_TO_LONG_STYLE),PREFIXES_FOR_FAMILY=FAMILY_NAMES.reduce(function(De,O){return De[O]=Object.keys(PREFIX_TO_LONG_STYLE[O]),De},{}),_defaultUsablePrefix=null,_byUnicode={},_byLigature={},_byOldName={},_byOldUnicode={},_byAlias={};function isReserved(De){return~RESERVED_CLASSES.indexOf(De)}function getIconName(De,O){var M=O.split("-"),V=M[0],ue=M.slice(1).join("-");return V===De&&ue!==""&&!isReserved(ue)?ue:null}var build=function(){var O=function($){return reduce(styles,function(me,fe,he){return me[he]=reduce(fe,$,{}),me},{})};_byUnicode=O(function(ue,$,me){if($[3]&&(ue[$[3]]=me),$[2]){var fe=$[2].filter(function(he){return typeof he=="number"});fe.forEach(function(he){ue[he.toString(16)]=me})}return ue}),_byLigature=O(function(ue,$,me){if(ue[me]=me,$[2]){var fe=$[2].filter(function(he){return typeof he=="string"});fe.forEach(function(he){ue[he]=me})}return ue}),_byAlias=O(function(ue,$,me){var fe=$[2];return ue[me]=me,fe.forEach(function(he){ue[he]=me}),ue});var M="far"in styles||config.autoFetchSvg,V=reduce(shims,function(ue,$){var me=$[0],fe=$[1],he=$[2];return fe==="far"&&!M&&(fe="fas"),typeof me=="string"&&(ue.names[me]={prefix:fe,iconName:he}),typeof me=="number"&&(ue.unicodes[me.toString(16)]={prefix:fe,iconName:he}),ue},{names:{},unicodes:{}});_byOldName=V.names,_byOldUnicode=V.unicodes,_defaultUsablePrefix=getCanonicalPrefix(config.styleDefault,{family:config.familyDefault})};onChange(function(De){_defaultUsablePrefix=getCanonicalPrefix(De.styleDefault,{family:config.familyDefault})});build();function byUnicode(De,O){return(_byUnicode[De]||{})[O]}function byLigature(De,O){return(_byLigature[De]||{})[O]}function byAlias(De,O){return(_byAlias[De]||{})[O]}function byOldName(De){return _byOldName[De]||{prefix:null,iconName:null}}function byOldUnicode(De){var O=_byOldUnicode[De],M=byUnicode("fas",De);return O||(M?{prefix:"fas",iconName:M}:null)||{prefix:null,iconName:null}}function getDefaultUsablePrefix(){return _defaultUsablePrefix}var emptyCanonicalIcon=function(){return{prefix:null,iconName:null,rest:[]}};function getFamilyId(De){var O=i,M=FAMILY_NAMES.reduce(function(V,ue){return V[ue]="".concat(config.cssPrefix,"-").concat(ue),V},{});return rt.forEach(function(V){(De.includes(M[V])||De.some(function(ue){return PREFIXES_FOR_FAMILY[V].includes(ue)}))&&(O=V)}),O}function getCanonicalPrefix(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=O.family,V=M===void 0?i:M,ue=PREFIX_TO_STYLE[V][De];if(V===t&&!De)return"fad";var $=STYLE_TO_PREFIX[V][De]||STYLE_TO_PREFIX[V][ue],me=De in namespace.styles?De:null,fe=$||me||null;return fe}function moveNonFaClassesToRest(De){var O=[],M=null;return De.forEach(function(V){var ue=getIconName(config.cssPrefix,V);ue?M=ue:V&&O.push(V)}),{iconName:M,rest:O}}function sortedUniqueValues(De){return De.sort().filter(function(O,M,V){return V.indexOf(O)===M})}var _faCombinedClasses=Zt$1.concat(Yt);function getCanonicalIcon(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=O.skipLookups,V=M===void 0?!1:M,ue=null,$=sortedUniqueValues(De.filter(function(ge){return _faCombinedClasses.includes(ge)})),me=sortedUniqueValues(De.filter(function(ge){return!_faCombinedClasses.includes(ge)})),fe=$.filter(function(ge){return ue=ge,!Q$1.includes(ge)}),he=_slicedToArray(fe,1),ye=he[0],re=ye===void 0?null:ye,ce=getFamilyId($),pe=_objectSpread2$2(_objectSpread2$2({},moveNonFaClassesToRest(me)),{},{prefix:getCanonicalPrefix(re,{family:ce})});return _objectSpread2$2(_objectSpread2$2(_objectSpread2$2({},pe),getDefaultCanonicalPrefix({values:De,family:ce,styles,config,canonical:pe,givenPrefix:ue})),applyShimAndAlias(V,ue,pe))}function applyShimAndAlias(De,O,M){var V=M.prefix,ue=M.iconName;if(De||!V||!ue)return{prefix:V,iconName:ue};var $=O==="fa"?byOldName(ue):{},me=byAlias(V,ue);return ue=$.iconName||me||ue,V=$.prefix||V,V==="far"&&!styles.far&&styles.fas&&!config.autoFetchSvg&&(V="fas"),{prefix:V,iconName:ue}}var newCanonicalFamilies=rt.filter(function(De){return De!==i||De!==t}),newCanonicalStyles=Object.keys(Ht$1).filter(function(De){return De!==i}).map(function(De){return Object.keys(Ht$1[De])}).flat();function getDefaultCanonicalPrefix(De){var O=De.values,M=De.family,V=De.canonical,ue=De.givenPrefix,$=ue===void 0?"":ue,me=De.styles,fe=me===void 0?{}:me,he=De.config,ye=he===void 0?{}:he,re=M===t,ce=O.includes("fa-duotone")||O.includes("fad"),pe=ye.familyDefault==="duotone",ge=V.prefix==="fad"||V.prefix==="fa-duotone";if(!re&&(ce||pe||ge)&&(V.prefix="fad"),(O.includes("fa-brands")||O.includes("fab"))&&(V.prefix="fab"),!V.prefix&&newCanonicalFamilies.includes(M)){var _e=Object.keys(fe).find(function(Se){return newCanonicalStyles.includes(Se)});if(_e||ye.autoFetchSvg){var we=Ut.get(M).defaultShortPrefixId;V.prefix=we,V.iconName=byAlias(V.prefix,V.iconName)||V.iconName}}return(V.prefix==="fa"||$==="fa")&&(V.prefix=getDefaultUsablePrefix()||"fas"),V}var Library=(function(){function De(){_classCallCheck(this,De),this.definitions={}}return _createClass(De,[{key:"add",value:function(){for(var M=this,V=arguments.length,ue=new Array(V),$=0;$<V;$++)ue[$]=arguments[$];var me=ue.reduce(this._pullDefinitions,{});Object.keys(me).forEach(function(fe){M.definitions[fe]=_objectSpread2$2(_objectSpread2$2({},M.definitions[fe]||{}),me[fe]),defineIcons(fe,me[fe]);var he=PREFIX_TO_LONG_STYLE[i][fe];he&&defineIcons(he,me[fe]),build()})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(M,V){var ue=V.prefix&&V.iconName&&V.icon?{0:V}:V;return Object.keys(ue).map(function($){var me=ue[$],fe=me.prefix,he=me.iconName,ye=me.icon,re=ye[2];M[fe]||(M[fe]={}),re.length>0&&re.forEach(function(ce){typeof ce=="string"&&(M[fe][ce]=ye)}),M[fe][he]=ye}),M}}])})(),_plugins=[],_hooks={},providers={},defaultProviderKeys=Object.keys(providers);function registerPlugins(De,O){var M=O.mixoutsTo;return _plugins=De,_hooks={},Object.keys(providers).forEach(function(V){defaultProviderKeys.indexOf(V)===-1&&delete providers[V]}),_plugins.forEach(function(V){var ue=V.mixout?V.mixout():{};if(Object.keys(ue).forEach(function(me){typeof ue[me]=="function"&&(M[me]=ue[me]),_typeof$2(ue[me])==="object"&&Object.keys(ue[me]).forEach(function(fe){M[me]||(M[me]={}),M[me][fe]=ue[me][fe]})}),V.hooks){var $=V.hooks();Object.keys($).forEach(function(me){_hooks[me]||(_hooks[me]=[]),_hooks[me].push($[me])})}V.provides&&V.provides(providers)}),M}function chainHooks(De,O){for(var M=arguments.length,V=new Array(M>2?M-2:0),ue=2;ue<M;ue++)V[ue-2]=arguments[ue];var $=_hooks[De]||[];return $.forEach(function(me){O=me.apply(null,[O].concat(V))}),O}function callHooks(De){for(var O=arguments.length,M=new Array(O>1?O-1:0),V=1;V<O;V++)M[V-1]=arguments[V];var ue=_hooks[De]||[];ue.forEach(function($){$.apply(null,M)})}function callProvided(){var De=arguments[0],O=Array.prototype.slice.call(arguments,1);return providers[De]?providers[De].apply(null,O):void 0}function findIconDefinition(De){De.prefix==="fa"&&(De.prefix="fas");var O=De.iconName,M=De.prefix||getDefaultUsablePrefix();if(O)return O=byAlias(M,O)||O,iconFromMapping(library.definitions,M,O)||iconFromMapping(namespace.styles,M,O)}var library=new Library,noAuto=function(){config.autoReplaceSvg=!1,config.observeMutations=!1,callHooks("noAuto")},dom={i2svg:function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return IS_DOM?(callHooks("beforeI2svg",O),callProvided("pseudoElements2svg",O),callProvided("i2svg",O)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=O.autoReplaceSvgRoot;config.autoReplaceSvg===!1&&(config.autoReplaceSvg=!0),config.observeMutations=!0,domready(function(){autoReplace({autoReplaceSvgRoot:M}),callHooks("watch",O)})}},parse={icon:function(O){if(O===null)return null;if(_typeof$2(O)==="object"&&O.prefix&&O.iconName)return{prefix:O.prefix,iconName:byAlias(O.prefix,O.iconName)||O.iconName};if(Array.isArray(O)&&O.length===2){var M=O[1].indexOf("fa-")===0?O[1].slice(3):O[1],V=getCanonicalPrefix(O[0]);return{prefix:V,iconName:byAlias(V,M)||M}}if(typeof O=="string"&&(O.indexOf("".concat(config.cssPrefix,"-"))>-1||O.match(ICON_SELECTION_SYNTAX_PATTERN))){var ue=getCanonicalIcon(O.split(" "),{skipLookups:!0});return{prefix:ue.prefix||getDefaultUsablePrefix(),iconName:byAlias(ue.prefix,ue.iconName)||ue.iconName}}if(typeof O=="string"){var $=getDefaultUsablePrefix();return{prefix:$,iconName:byAlias($,O)||O}}}},api={noAuto,config,dom,parse,library,findIconDefinition,toHtml},autoReplace=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=O.autoReplaceSvgRoot,V=M===void 0?DOCUMENT:M;(Object.keys(namespace.styles).length>0||config.autoFetchSvg)&&IS_DOM&&config.autoReplaceSvg&&api.dom.i2svg({node:V})};function domVariants(De,O){return Object.defineProperty(De,"abstract",{get:O}),Object.defineProperty(De,"html",{get:function(){return De.abstract.map(function(V){return toHtml(V)})}}),Object.defineProperty(De,"node",{get:function(){if(IS_DOM){var V=DOCUMENT.createElement("div");return V.innerHTML=De.html,V.children}}}),De}function asIcon(De){var O=De.children,M=De.main,V=De.mask,ue=De.attributes,$=De.styles,me=De.transform;if(transformIsMeaningful(me)&&M.found&&!V.found){var fe=M.width,he=M.height,ye={x:fe/he/2,y:.5};ue.style=joinStyles(_objectSpread2$2(_objectSpread2$2({},$),{},{"transform-origin":"".concat(ye.x+me.x/16,"em ").concat(ye.y+me.y/16,"em")}))}return[{tag:"svg",attributes:ue,children:O}]}function asSymbol(De){var O=De.prefix,M=De.iconName,V=De.children,ue=De.attributes,$=De.symbol,me=$===!0?"".concat(O,"-").concat(config.cssPrefix,"-").concat(M):$;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:_objectSpread2$2(_objectSpread2$2({},ue),{},{id:me}),children:V}]}]}function isLabeled(De){var O=["aria-label","aria-labelledby","title","role"];return O.some(function(M){return M in De})}function makeInlineSvgAbstract(De){var O=De.icons,M=O.main,V=O.mask,ue=De.prefix,$=De.iconName,me=De.transform,fe=De.symbol,he=De.maskId,ye=De.extra,re=De.watchable,ce=re===void 0?!1:re,pe=V.found?V:M,ge=pe.width,_e=pe.height,we=[config.replacementClass,$?"".concat(config.cssPrefix,"-").concat($):""].filter(function(Pe){return ye.classes.indexOf(Pe)===-1}).filter(function(Pe){return Pe!==""||!!Pe}).concat(ye.classes).join(" "),Se={children:[],attributes:_objectSpread2$2(_objectSpread2$2({},ye.attributes),{},{"data-prefix":ue,"data-icon":$,class:we,role:ye.attributes.role||"img",viewBox:"0 0 ".concat(ge," ").concat(_e)})};!isLabeled(ye.attributes)&&!ye.attributes["aria-hidden"]&&(Se.attributes["aria-hidden"]="true"),ce&&(Se.attributes[DATA_FA_I2SVG]="");var xe=_objectSpread2$2(_objectSpread2$2({},Se),{},{prefix:ue,iconName:$,main:M,mask:V,maskId:he,transform:me,symbol:fe,styles:_objectSpread2$2({},ye.styles)}),je=V.found&&M.found?callProvided("generateAbstractMask",xe)||{children:[],attributes:{}}:callProvided("generateAbstractIcon",xe)||{children:[],attributes:{}},Me=je.children,Ae=je.attributes;return xe.children=Me,xe.attributes=Ae,fe?asSymbol(xe):asIcon(xe)}function makeLayersTextAbstract(De){var O=De.content,M=De.width,V=De.height,ue=De.transform,$=De.extra,me=De.watchable,fe=me===void 0?!1:me,he=_objectSpread2$2(_objectSpread2$2({},$.attributes),{},{class:$.classes.join(" ")});fe&&(he[DATA_FA_I2SVG]="");var ye=_objectSpread2$2({},$.styles);transformIsMeaningful(ue)&&(ye.transform=transformForCss({transform:ue,width:M,height:V}),ye["-webkit-transform"]=ye.transform);var re=joinStyles(ye);re.length>0&&(he.style=re);var ce=[];return ce.push({tag:"span",attributes:he,children:[O]}),ce}function makeLayersCounterAbstract(De){var O=De.content,M=De.extra,V=_objectSpread2$2(_objectSpread2$2({},M.attributes),{},{class:M.classes.join(" ")}),ue=joinStyles(M.styles);ue.length>0&&(V.style=ue);var $=[];return $.push({tag:"span",attributes:V,children:[O]}),$}var styles$1=namespace.styles;function asFoundIcon(De){var O=De[0],M=De[1],V=De.slice(4),ue=_slicedToArray(V,1),$=ue[0],me=null;return Array.isArray($)?me={tag:"g",attributes:{class:"".concat(config.cssPrefix,"-").concat(DUOTONE_CLASSES.GROUP)},children:[{tag:"path",attributes:{class:"".concat(config.cssPrefix,"-").concat(DUOTONE_CLASSES.SECONDARY),fill:"currentColor",d:$[0]}},{tag:"path",attributes:{class:"".concat(config.cssPrefix,"-").concat(DUOTONE_CLASSES.PRIMARY),fill:"currentColor",d:$[1]}}]}:me={tag:"path",attributes:{fill:"currentColor",d:$}},{found:!0,width:O,height:M,icon:me}}var missingIconResolutionMixin={found:!1,width:512,height:512};function maybeNotifyMissing(De,O){!PRODUCTION$2&&config.showMissingIcons}function findIcon(De,O){var M=O;return O==="fa"&&config.styleDefault!==null&&(O=getDefaultUsablePrefix()),new Promise(function(V,ue){if(M==="fa"){var $=byOldName(De)||{};De=$.iconName||De,O=$.prefix||O}if(De&&O&&styles$1[O]&&styles$1[O][De]){var me=styles$1[O][De];return V(asFoundIcon(me))}maybeNotifyMissing(De,O),V(_objectSpread2$2(_objectSpread2$2({},missingIconResolutionMixin),{},{icon:config.showMissingIcons&&De?callProvided("missingIconAbstract")||{}:{}}))})}var noop$1=function(){},p$2=config.measurePerformance&&PERFORMANCE&&PERFORMANCE.mark&&PERFORMANCE.measure?PERFORMANCE:{mark:noop$1,measure:noop$1},preamble='FA "7.1.0"',begin=function(O){return p$2.mark("".concat(preamble," ").concat(O," begins")),function(){return end(O)}},end=function(O){p$2.mark("".concat(preamble," ").concat(O," ends")),p$2.measure("".concat(preamble," ").concat(O),"".concat(preamble," ").concat(O," begins"),"".concat(preamble," ").concat(O," ends"))},perf={begin,end},noop$2=function(){};function isWatched(De){var O=De.getAttribute?De.getAttribute(DATA_FA_I2SVG):null;return typeof O=="string"}function hasPrefixAndIcon(De){var O=De.getAttribute?De.getAttribute(DATA_PREFIX):null,M=De.getAttribute?De.getAttribute(DATA_ICON):null;return O&&M}function hasBeenReplaced(De){return De&&De.classList&&De.classList.contains&&De.classList.contains(config.replacementClass)}function getMutator(){if(config.autoReplaceSvg===!0)return mutators.replace;var De=mutators[config.autoReplaceSvg];return De||mutators.replace}function createElementNS(De){return DOCUMENT.createElementNS("http://www.w3.org/2000/svg",De)}function createElement(De){return DOCUMENT.createElement(De)}function convertSVG(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=O.ceFn,V=M===void 0?De.tag==="svg"?createElementNS:createElement:M;if(typeof De=="string")return DOCUMENT.createTextNode(De);var ue=V(De.tag);Object.keys(De.attributes||[]).forEach(function(me){ue.setAttribute(me,De.attributes[me])});var $=De.children||[];return $.forEach(function(me){ue.appendChild(convertSVG(me,{ceFn:V}))}),ue}function nodeAsComment(De){var O=" ".concat(De.outerHTML," ");return O="".concat(O,"Font Awesome fontawesome.com "),O}var mutators={replace:function(O){var M=O[0];if(M.parentNode)if(O[1].forEach(function(ue){M.parentNode.insertBefore(convertSVG(ue),M)}),M.getAttribute(DATA_FA_I2SVG)===null&&config.keepOriginalSource){var V=DOCUMENT.createComment(nodeAsComment(M));M.parentNode.replaceChild(V,M)}else M.remove()},nest:function(O){var M=O[0],V=O[1];if(~classArray(M).indexOf(config.replacementClass))return mutators.replace(O);var ue=new RegExp("".concat(config.cssPrefix,"-.*"));if(delete V[0].attributes.id,V[0].attributes.class){var $=V[0].attributes.class.split(" ").reduce(function(fe,he){return he===config.replacementClass||he.match(ue)?fe.toSvg.push(he):fe.toNode.push(he),fe},{toNode:[],toSvg:[]});V[0].attributes.class=$.toSvg.join(" "),$.toNode.length===0?M.removeAttribute("class"):M.setAttribute("class",$.toNode.join(" "))}var me=V.map(function(fe){return toHtml(fe)}).join(`
555
555
  `);M.setAttribute(DATA_FA_I2SVG,""),M.innerHTML=me}};function performOperationSync(De){De()}function perform(De,O){var M=typeof O=="function"?O:noop$2;if(De.length===0)M();else{var V=performOperationSync;config.mutateApproach===MUTATION_APPROACH_ASYNC&&(V=WINDOW.requestAnimationFrame||performOperationSync),V(function(){var ue=getMutator(),$=perf.begin("mutate");De.map(ue),$(),M()})}}var disabled=!1;function disableObservation(){disabled=!0}function enableObservation(){disabled=!1}var mo=null;function observe(De){if(MUTATION_OBSERVER&&config.observeMutations){var O=De.treeCallback,M=O===void 0?noop$2:O,V=De.nodeCallback,ue=V===void 0?noop$2:V,$=De.pseudoElementsCallback,me=$===void 0?noop$2:$,fe=De.observeMutationsRoot,he=fe===void 0?DOCUMENT:fe;mo=new MUTATION_OBSERVER(function(ye){if(!disabled){var re=getDefaultUsablePrefix();toArray(ye).forEach(function(ce){if(ce.type==="childList"&&ce.addedNodes.length>0&&!isWatched(ce.addedNodes[0])&&(config.searchPseudoElements&&me(ce.target),M(ce.target)),ce.type==="attributes"&&ce.target.parentNode&&config.searchPseudoElements&&me([ce.target],!0),ce.type==="attributes"&&isWatched(ce.target)&&~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(ce.attributeName))if(ce.attributeName==="class"&&hasPrefixAndIcon(ce.target)){var pe=getCanonicalIcon(classArray(ce.target)),ge=pe.prefix,_e=pe.iconName;ce.target.setAttribute(DATA_PREFIX,ge||re),_e&&ce.target.setAttribute(DATA_ICON,_e)}else hasBeenReplaced(ce.target)&&ue(ce.target)})}}),IS_DOM&&mo.observe(he,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function disconnect(){mo&&mo.disconnect()}function styleParser(De){var O=De.getAttribute("style"),M=[];return O&&(M=O.split(";").reduce(function(V,ue){var $=ue.split(":"),me=$[0],fe=$.slice(1);return me&&fe.length>0&&(V[me]=fe.join(":").trim()),V},{})),M}function classParser(De){var O=De.getAttribute("data-prefix"),M=De.getAttribute("data-icon"),V=De.innerText!==void 0?De.innerText.trim():"",ue=getCanonicalIcon(classArray(De));return ue.prefix||(ue.prefix=getDefaultUsablePrefix()),O&&M&&(ue.prefix=O,ue.iconName=M),ue.iconName&&ue.prefix||(ue.prefix&&V.length>0&&(ue.iconName=byLigature(ue.prefix,De.innerText)||byUnicode(ue.prefix,toHex(De.innerText))),!ue.iconName&&config.autoFetchSvg&&De.firstChild&&De.firstChild.nodeType===Node.TEXT_NODE&&(ue.iconName=De.firstChild.data)),ue}function attributesParser(De){var O=toArray(De.attributes).reduce(function(M,V){return M.name!=="class"&&M.name!=="style"&&(M[V.name]=V.value),M},{});return O}function blankMeta(){return{iconName:null,prefix:null,transform:meaninglessTransform,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function parseMeta(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},M=classParser(De),V=M.iconName,ue=M.prefix,$=M.rest,me=attributesParser(De),fe=chainHooks("parseNodeAttributes",{},De),he=O.styleParser?styleParser(De):[];return _objectSpread2$2({iconName:V,prefix:ue,transform:meaninglessTransform,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:$,styles:he,attributes:me}},fe)}var styles$2=namespace.styles;function generateMutation(De){var O=config.autoReplaceSvg==="nest"?parseMeta(De,{styleParser:!1}):parseMeta(De);return~O.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)?callProvided("generateLayersText",De,O):callProvided("generateSvgReplacementMutation",De,O)}function getKnownPrefixes(){return[].concat(_toConsumableArray$2(Yt),_toConsumableArray$2(Zt$1))}function onTree(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!IS_DOM)return Promise.resolve();var M=DOCUMENT.documentElement.classList,V=function(ce){return M.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS,"-").concat(ce))},ue=function(ce){return M.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS,"-").concat(ce))},$=config.autoFetchSvg?getKnownPrefixes():Q$1.concat(Object.keys(styles$2));$.includes("fa")||$.push("fa");var me=[".".concat(LAYERS_TEXT_CLASSNAME,":not([").concat(DATA_FA_I2SVG,"])")].concat($.map(function(re){return".".concat(re,":not([").concat(DATA_FA_I2SVG,"])")})).join(", ");if(me.length===0)return Promise.resolve();var fe=[];try{fe=toArray(De.querySelectorAll(me))}catch{}if(fe.length>0)V("pending"),ue("complete");else return Promise.resolve();var he=perf.begin("onTree"),ye=fe.reduce(function(re,ce){try{var pe=generateMutation(ce);pe&&re.push(pe)}catch(ge){PRODUCTION$2||ge.name}return re},[]);return new Promise(function(re,ce){Promise.all(ye).then(function(pe){perform(pe,function(){V("active"),V("complete"),ue("pending"),typeof O=="function"&&O(),he(),re()})}).catch(function(pe){he(),ce(pe)})})}function onNode(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;generateMutation(De).then(function(M){M&&perform([M],O)})}function resolveIcons(De){return function(O){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},V=(O||{}).icon?O:findIconDefinition(O||{}),ue=M.mask;return ue&&(ue=(ue||{}).icon?ue:findIconDefinition(ue||{})),De(V,_objectSpread2$2(_objectSpread2$2({},M),{},{mask:ue}))}}var render=function(O){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},V=M.transform,ue=V===void 0?meaninglessTransform:V,$=M.symbol,me=$===void 0?!1:$,fe=M.mask,he=fe===void 0?null:fe,ye=M.maskId,re=ye===void 0?null:ye,ce=M.classes,pe=ce===void 0?[]:ce,ge=M.attributes,_e=ge===void 0?{}:ge,we=M.styles,Se=we===void 0?{}:we;if(O){var xe=O.prefix,je=O.iconName,Me=O.icon;return domVariants(_objectSpread2$2({type:"icon"},O),function(){return callHooks("beforeDOMElementCreation",{iconDefinition:O,params:M}),makeInlineSvgAbstract({icons:{main:asFoundIcon(Me),mask:he?asFoundIcon(he.icon):{found:!1,width:null,height:null,icon:{}}},prefix:xe,iconName:je,transform:_objectSpread2$2(_objectSpread2$2({},meaninglessTransform),ue),symbol:me,maskId:re,extra:{attributes:_e,styles:Se,classes:pe}})})}},ReplaceElements={mixout:function(){return{icon:resolveIcons(render)}},hooks:function(){return{mutationObserverCallbacks:function(M){return M.treeCallback=onTree,M.nodeCallback=onNode,M}}},provides:function(O){O.i2svg=function(M){var V=M.node,ue=V===void 0?DOCUMENT:V,$=M.callback,me=$===void 0?function(){}:$;return onTree(ue,me)},O.generateSvgReplacementMutation=function(M,V){var ue=V.iconName,$=V.prefix,me=V.transform,fe=V.symbol,he=V.mask,ye=V.maskId,re=V.extra;return new Promise(function(ce,pe){Promise.all([findIcon(ue,$),he.iconName?findIcon(he.iconName,he.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(ge){var _e=_slicedToArray(ge,2),we=_e[0],Se=_e[1];ce([M,makeInlineSvgAbstract({icons:{main:we,mask:Se},prefix:$,iconName:ue,transform:me,symbol:fe,maskId:ye,extra:re,watchable:!0})])}).catch(pe)})},O.generateAbstractIcon=function(M){var V=M.children,ue=M.attributes,$=M.main,me=M.transform,fe=M.styles,he=joinStyles(fe);he.length>0&&(ue.style=he);var ye;return transformIsMeaningful(me)&&(ye=callProvided("generateAbstractTransformGrouping",{main:$,transform:me,containerWidth:$.width,iconWidth:$.width})),V.push(ye||$.icon),{children:V,attributes:ue}}}},Layers={mixout:function(){return{layer:function(M){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ue=V.classes,$=ue===void 0?[]:ue;return domVariants({type:"layer"},function(){callHooks("beforeDOMElementCreation",{assembler:M,params:V});var me=[];return M(function(fe){Array.isArray(fe)?fe.map(function(he){me=me.concat(he.abstract)}):me=me.concat(fe.abstract)}),[{tag:"span",attributes:{class:["".concat(config.cssPrefix,"-layers")].concat(_toConsumableArray$2($)).join(" ")},children:me}]})}}}},LayersCounter={mixout:function(){return{counter:function(M){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};V.title;var ue=V.classes,$=ue===void 0?[]:ue,me=V.attributes,fe=me===void 0?{}:me,he=V.styles,ye=he===void 0?{}:he;return domVariants({type:"counter",content:M},function(){return callHooks("beforeDOMElementCreation",{content:M,params:V}),makeLayersCounterAbstract({content:M.toString(),extra:{attributes:fe,styles:ye,classes:["".concat(config.cssPrefix,"-layers-counter")].concat(_toConsumableArray$2($))}})})}}}},LayersText={mixout:function(){return{text:function(M){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ue=V.transform,$=ue===void 0?meaninglessTransform:ue,me=V.classes,fe=me===void 0?[]:me,he=V.attributes,ye=he===void 0?{}:he,re=V.styles,ce=re===void 0?{}:re;return domVariants({type:"text",content:M},function(){return callHooks("beforeDOMElementCreation",{content:M,params:V}),makeLayersTextAbstract({content:M,transform:_objectSpread2$2(_objectSpread2$2({},meaninglessTransform),$),extra:{attributes:ye,styles:ce,classes:["".concat(config.cssPrefix,"-layers-text")].concat(_toConsumableArray$2(fe))}})})}}},provides:function(O){O.generateLayersText=function(M,V){var ue=V.transform,$=V.extra,me=null,fe=null;if(IS_IE){var he=parseInt(getComputedStyle(M).fontSize,10),ye=M.getBoundingClientRect();me=ye.width/he,fe=ye.height/he}return Promise.resolve([M,makeLayersTextAbstract({content:M.innerHTML,width:me,height:fe,transform:ue,extra:$,watchable:!0})])}}},CLEAN_CONTENT_PATTERN=new RegExp('"',"ug"),SECONDARY_UNICODE_RANGE=[1105920,1112319],_FONT_FAMILY_WEIGHT_TO_PREFIX=_objectSpread2$2(_objectSpread2$2(_objectSpread2$2(_objectSpread2$2({},{FontAwesome:{normal:"fas",400:"fas"}}),Ct),ro),dl),FONT_FAMILY_WEIGHT_TO_PREFIX=Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce(function(De,O){return De[O.toLowerCase()]=_FONT_FAMILY_WEIGHT_TO_PREFIX[O],De},{}),FONT_FAMILY_WEIGHT_FALLBACK=Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce(function(De,O){var M=FONT_FAMILY_WEIGHT_TO_PREFIX[O];return De[O]=M[900]||_toConsumableArray$2(Object.entries(M))[0][1],De},{});function hexValueFromContent(De){var O=De.replace(CLEAN_CONTENT_PATTERN,"");return toHex(_toConsumableArray$2(O)[0]||"")}function isSecondaryLayer(De){var O=De.getPropertyValue("font-feature-settings").includes("ss01"),M=De.getPropertyValue("content"),V=M.replace(CLEAN_CONTENT_PATTERN,""),ue=V.codePointAt(0),$=ue>=SECONDARY_UNICODE_RANGE[0]&&ue<=SECONDARY_UNICODE_RANGE[1],me=V.length===2?V[0]===V[1]:!1;return $||me||O}function getPrefix(De,O){var M=De.replace(/^['"]|['"]$/g,"").toLowerCase(),V=parseInt(O),ue=isNaN(V)?"normal":V;return(FONT_FAMILY_WEIGHT_TO_PREFIX[M]||{})[ue]||FONT_FAMILY_WEIGHT_FALLBACK[M]}function replaceForPosition(De,O){var M="".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(O.replace(":","-"));return new Promise(function(V,ue){if(De.getAttribute(M)!==null)return V();var $=toArray(De.children),me=$.filter(function(Le){return Le.getAttribute(DATA_FA_PSEUDO_ELEMENT)===O})[0],fe=WINDOW.getComputedStyle(De,O),he=fe.getPropertyValue("font-family"),ye=he.match(FONT_FAMILY_PATTERN),re=fe.getPropertyValue("font-weight"),ce=fe.getPropertyValue("content");if(me&&!ye)return De.removeChild(me),V();if(ye&&ce!=="none"&&ce!==""){var pe=fe.getPropertyValue("content"),ge=getPrefix(he,re),_e=hexValueFromContent(pe),we=ye[0].startsWith("FontAwesome"),Se=isSecondaryLayer(fe),xe=byUnicode(ge,_e),je=xe;if(we){var Me=byOldUnicode(_e);Me.iconName&&Me.prefix&&(xe=Me.iconName,ge=Me.prefix)}if(xe&&!Se&&(!me||me.getAttribute(DATA_PREFIX)!==ge||me.getAttribute(DATA_ICON)!==je)){De.setAttribute(M,je),me&&De.removeChild(me);var Ae=blankMeta(),Pe=Ae.extra;Pe.attributes[DATA_FA_PSEUDO_ELEMENT]=O,findIcon(xe,ge).then(function(Le){var Oe=makeInlineSvgAbstract(_objectSpread2$2(_objectSpread2$2({},Ae),{},{icons:{main:Le,mask:emptyCanonicalIcon()},prefix:ge,iconName:je,extra:Pe,watchable:!0})),Ne=DOCUMENT.createElementNS("http://www.w3.org/2000/svg","svg");O==="::before"?De.insertBefore(Ne,De.firstChild):De.appendChild(Ne),Ne.outerHTML=Oe.map(function(Ue){return toHtml(Ue)}).join(`
556
556
  `),De.removeAttribute(M),V()}).catch(ue)}else V()}else V()})}function replace(De){return Promise.all([replaceForPosition(De,"::before"),replaceForPosition(De,"::after")])}function processable(De){return De.parentNode!==document.head&&!~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(De.tagName.toUpperCase())&&!De.getAttribute(DATA_FA_PSEUDO_ELEMENT)&&(!De.parentNode||De.parentNode.tagName!=="svg")}var hasPseudoElement=function(O){return!!O&&PSEUDO_ELEMENTS.some(function(M){return O.includes(M)})},parseCSSRuleForPseudos=function(O){if(!O)return[];var M=new Set,V=O.split(/,(?![^()]*\))/).map(function(he){return he.trim()});V=V.flatMap(function(he){return he.includes("(")?he:he.split(",").map(function(ye){return ye.trim()})});var ue=_createForOfIteratorHelper(V),$;try{for(ue.s();!($=ue.n()).done;){var me=$.value;if(hasPseudoElement(me)){var fe=PSEUDO_ELEMENTS.reduce(function(he,ye){return he.replace(ye,"")},me);fe!==""&&fe!=="*"&&M.add(fe)}}}catch(he){ue.e(he)}finally{ue.f()}return M};function searchPseudoElements(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(IS_DOM){var M;if(O)M=De;else if(config.searchPseudoElementsFullScan)M=De.querySelectorAll("*");else{var V=new Set,ue=_createForOfIteratorHelper(document.styleSheets),$;try{for(ue.s();!($=ue.n()).done;){var me=$.value;try{var fe=_createForOfIteratorHelper(me.cssRules),he;try{for(fe.s();!(he=fe.n()).done;){var ye=he.value,re=parseCSSRuleForPseudos(ye.selectorText),ce=_createForOfIteratorHelper(re),pe;try{for(ce.s();!(pe=ce.n()).done;){var ge=pe.value;V.add(ge)}}catch(we){ce.e(we)}finally{ce.f()}}}catch(we){fe.e(we)}finally{fe.f()}}catch{config.searchPseudoElementsWarnings}}}catch(we){ue.e(we)}finally{ue.f()}if(!V.size)return;var _e=Array.from(V).join(", ");try{M=De.querySelectorAll(_e)}catch{}}return new Promise(function(we,Se){var xe=toArray(M).filter(processable).map(replace),je=perf.begin("searchPseudoElements");disableObservation(),Promise.all(xe).then(function(){je(),enableObservation(),we()}).catch(function(){je(),enableObservation(),Se()})})}}var PseudoElements={hooks:function(){return{mutationObserverCallbacks:function(M){return M.pseudoElementsCallback=searchPseudoElements,M}}},provides:function(O){O.pseudoElements2svg=function(M){var V=M.node,ue=V===void 0?DOCUMENT:V;config.searchPseudoElements&&searchPseudoElements(ue)}}},_unwatched=!1,MutationObserver$1={mixout:function(){return{dom:{unwatch:function(){disableObservation(),_unwatched=!0}}}},hooks:function(){return{bootstrap:function(){observe(chainHooks("mutationObserverCallbacks",{}))},noAuto:function(){disconnect()},watch:function(M){var V=M.observeMutationsRoot;_unwatched?enableObservation():observe(chainHooks("mutationObserverCallbacks",{observeMutationsRoot:V}))}}}},parseTransformString=function(O){var M={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return O.toLowerCase().split(" ").reduce(function(V,ue){var $=ue.toLowerCase().split("-"),me=$[0],fe=$.slice(1).join("-");if(me&&fe==="h")return V.flipX=!0,V;if(me&&fe==="v")return V.flipY=!0,V;if(fe=parseFloat(fe),isNaN(fe))return V;switch(me){case"grow":V.size=V.size+fe;break;case"shrink":V.size=V.size-fe;break;case"left":V.x=V.x-fe;break;case"right":V.x=V.x+fe;break;case"up":V.y=V.y-fe;break;case"down":V.y=V.y+fe;break;case"rotate":V.rotate=V.rotate+fe;break}return V},M)},PowerTransforms={mixout:function(){return{parse:{transform:function(M){return parseTransformString(M)}}}},hooks:function(){return{parseNodeAttributes:function(M,V){var ue=V.getAttribute("data-fa-transform");return ue&&(M.transform=parseTransformString(ue)),M}}},provides:function(O){O.generateAbstractTransformGrouping=function(M){var V=M.main,ue=M.transform,$=M.containerWidth,me=M.iconWidth,fe={transform:"translate(".concat($/2," 256)")},he="translate(".concat(ue.x*32,", ").concat(ue.y*32,") "),ye="scale(".concat(ue.size/16*(ue.flipX?-1:1),", ").concat(ue.size/16*(ue.flipY?-1:1),") "),re="rotate(".concat(ue.rotate," 0 0)"),ce={transform:"".concat(he," ").concat(ye," ").concat(re)},pe={transform:"translate(".concat(me/2*-1," -256)")},ge={outer:fe,inner:ce,path:pe};return{tag:"g",attributes:_objectSpread2$2({},ge.outer),children:[{tag:"g",attributes:_objectSpread2$2({},ge.inner),children:[{tag:V.icon.tag,children:V.icon.children,attributes:_objectSpread2$2(_objectSpread2$2({},V.icon.attributes),ge.path)}]}]}}}},ALL_SPACE={x:0,y:0,width:"100%",height:"100%"};function fillBlack(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return De.attributes&&(De.attributes.fill||O)&&(De.attributes.fill="black"),De}function deGroup(De){return De.tag==="g"?De.children:[De]}var Masks={hooks:function(){return{parseNodeAttributes:function(M,V){var ue=V.getAttribute("data-fa-mask"),$=ue?getCanonicalIcon(ue.split(" ").map(function(me){return me.trim()})):emptyCanonicalIcon();return $.prefix||($.prefix=getDefaultUsablePrefix()),M.mask=$,M.maskId=V.getAttribute("data-fa-mask-id"),M}}},provides:function(O){O.generateAbstractMask=function(M){var V=M.children,ue=M.attributes,$=M.main,me=M.mask,fe=M.maskId,he=M.transform,ye=$.width,re=$.icon,ce=me.width,pe=me.icon,ge=transformForSvg({transform:he,containerWidth:ce,iconWidth:ye}),_e={tag:"rect",attributes:_objectSpread2$2(_objectSpread2$2({},ALL_SPACE),{},{fill:"white"})},we=re.children?{children:re.children.map(fillBlack)}:{},Se={tag:"g",attributes:_objectSpread2$2({},ge.inner),children:[fillBlack(_objectSpread2$2({tag:re.tag,attributes:_objectSpread2$2(_objectSpread2$2({},re.attributes),ge.path)},we))]},xe={tag:"g",attributes:_objectSpread2$2({},ge.outer),children:[Se]},je="mask-".concat(fe||nextUniqueId()),Me="clip-".concat(fe||nextUniqueId()),Ae={tag:"mask",attributes:_objectSpread2$2(_objectSpread2$2({},ALL_SPACE),{},{id:je,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[_e,xe]},Pe={tag:"defs",children:[{tag:"clipPath",attributes:{id:Me},children:deGroup(pe)},Ae]};return V.push(Pe,{tag:"rect",attributes:_objectSpread2$2({fill:"currentColor","clip-path":"url(#".concat(Me,")"),mask:"url(#".concat(je,")")},ALL_SPACE)}),{children:V,attributes:ue}}}},MissingIconIndicator={provides:function(O){var M=!1;WINDOW.matchMedia&&(M=WINDOW.matchMedia("(prefers-reduced-motion: reduce)").matches),O.missingIconAbstract=function(){var V=[],ue={fill:"currentColor"},$={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};V.push({tag:"path",attributes:_objectSpread2$2(_objectSpread2$2({},ue),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var me=_objectSpread2$2(_objectSpread2$2({},$),{},{attributeName:"opacity"}),fe={tag:"circle",attributes:_objectSpread2$2(_objectSpread2$2({},ue),{},{cx:"256",cy:"364",r:"28"}),children:[]};return M||fe.children.push({tag:"animate",attributes:_objectSpread2$2(_objectSpread2$2({},$),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:_objectSpread2$2(_objectSpread2$2({},me),{},{values:"1;0;1;1;0;1;"})}),V.push(fe),V.push({tag:"path",attributes:_objectSpread2$2(_objectSpread2$2({},ue),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:M?[]:[{tag:"animate",attributes:_objectSpread2$2(_objectSpread2$2({},me),{},{values:"1;0;0;0;0;1;"})}]}),M||V.push({tag:"path",attributes:_objectSpread2$2(_objectSpread2$2({},ue),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:_objectSpread2$2(_objectSpread2$2({},me),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:V}}}},SvgSymbols={hooks:function(){return{parseNodeAttributes:function(M,V){var ue=V.getAttribute("data-fa-symbol"),$=ue===null?!1:ue===""?!0:ue;return M.symbol=$,M}}}},plugins=[InjectCSS,ReplaceElements,Layers,LayersCounter,LayersText,PseudoElements,MutationObserver$1,PowerTransforms,Masks,MissingIconIndicator,SvgSymbols];registerPlugins(plugins,{mixoutsTo:api});api.noAuto;var config$1=api.config;api.library;api.dom;var parse$1=api.parse;api.findIconDefinition;api.toHtml;var icon=api.icon;api.layer;var text=api.text;api.counter;function _arrayLikeToArray$1(De,O){(O==null||O>De.length)&&(O=De.length);for(var M=0,V=Array(O);M<O;M++)V[M]=De[M];return V}function _arrayWithoutHoles$1(De){if(Array.isArray(De))return _arrayLikeToArray$1(De)}function _defineProperty$1(De,O,M){return(O=_toPropertyKey$1(O))in De?Object.defineProperty(De,O,{value:M,enumerable:!0,configurable:!0,writable:!0}):De[O]=M,De}function _iterableToArray$1(De){if(typeof Symbol<"u"&&De[Symbol.iterator]!=null||De["@@iterator"]!=null)return Array.from(De)}function _nonIterableSpread$1(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
557
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ownKeys$1(De,O){var M=Object.keys(De);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(De);O&&(V=V.filter(function(ue){return Object.getOwnPropertyDescriptor(De,ue).enumerable})),M.push.apply(M,V)}return M}function _objectSpread2$1(De){for(var O=1;O<arguments.length;O++){var M=arguments[O]!=null?arguments[O]:{};O%2?ownKeys$1(Object(M),!0).forEach(function(V){_defineProperty$1(De,V,M[V])}):Object.getOwnPropertyDescriptors?Object.defineProperties(De,Object.getOwnPropertyDescriptors(M)):ownKeys$1(Object(M)).forEach(function(V){Object.defineProperty(De,V,Object.getOwnPropertyDescriptor(M,V))})}return De}function _objectWithoutProperties$1(De,O){if(De==null)return{};var M,V,ue=_objectWithoutPropertiesLoose$1(De,O);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(De);for(V=0;V<$.length;V++)M=$[V],O.indexOf(M)===-1&&{}.propertyIsEnumerable.call(De,M)&&(ue[M]=De[M])}return ue}function _objectWithoutPropertiesLoose$1(De,O){if(De==null)return{};var M={};for(var V in De)if({}.hasOwnProperty.call(De,V)){if(O.indexOf(V)!==-1)continue;M[V]=De[V]}return M}function _toConsumableArray$1(De){return _arrayWithoutHoles$1(De)||_iterableToArray$1(De)||_unsupportedIterableToArray$1(De)||_nonIterableSpread$1()}function _toPrimitive$1(De,O){if(typeof De!="object"||!De)return De;var M=De[Symbol.toPrimitive];if(M!==void 0){var V=M.call(De,O);if(typeof V!="object")return V;throw new TypeError("@@toPrimitive must return a primitive value.")}return(O==="string"?String:Number)(De)}function _toPropertyKey$1(De){var O=_toPrimitive$1(De,"string");return typeof O=="symbol"?O:O+""}function _typeof$1(De){"@babel/helpers - typeof";return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},_typeof$1(De)}function _unsupportedIterableToArray$1(De,O){if(De){if(typeof De=="string")return _arrayLikeToArray$1(De,O);var M={}.toString.call(De).slice(8,-1);return M==="Object"&&De.constructor&&(M=De.constructor.name),M==="Map"||M==="Set"?Array.from(De):M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M)?_arrayLikeToArray$1(De,O):void 0}}function objectWithKey$1(De,O){return Array.isArray(O)&&O.length>0||!Array.isArray(O)&&O?_defineProperty$1({},De,O):{}}function classList$1(De){var O,M=(O={"fa-spin":De.spin,"fa-pulse":De.pulse,"fa-fw":De.fixedWidth,"fa-border":De.border,"fa-li":De.listItem,"fa-inverse":De.inverse,"fa-flip":De.flip===!0,"fa-flip-horizontal":De.flip==="horizontal"||De.flip==="both","fa-flip-vertical":De.flip==="vertical"||De.flip==="both"},_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(O,"fa-".concat(De.size),De.size!==null),"fa-rotate-".concat(De.rotation),De.rotation!==null),"fa-rotate-by",De.rotateBy),"fa-pull-".concat(De.pull),De.pull!==null),"fa-swap-opacity",De.swapOpacity),"fa-bounce",De.bounce),"fa-shake",De.shake),"fa-beat",De.beat),"fa-fade",De.fade),"fa-beat-fade",De.beatFade),_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(O,"fa-flash",De.flash),"fa-spin-pulse",De.spinPulse),"fa-spin-reverse",De.spinReverse),"fa-width-auto",De.widthAuto));return Object.keys(M).map(function(V){return M[V]?V:null}).filter(function(V){return V})}var commonjsGlobal$2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},humps$1$1={exports:{}};(function(De){(function(O){var M=function(xe,je,Me){if(!ye(je)||ce(je)||pe(je)||ge(je)||he(je))return je;var Ae,Pe=0,Le=0;if(re(je))for(Ae=[],Le=je.length;Pe<Le;Pe++)Ae.push(M(xe,je[Pe],Me));else{Ae={};for(var Oe in je)Object.prototype.hasOwnProperty.call(je,Oe)&&(Ae[xe(Oe,Me)]=M(xe,je[Oe],Me))}return Ae},V=function(xe,je){je=je||{};var Me=je.separator||"_",Ae=je.split||/(?=[A-Z])/;return xe.split(Ae).join(Me)},ue=function(xe){return _e(xe)?xe:(xe=xe.replace(/[\-_\s]+(.)?/g,function(je,Me){return Me?Me.toUpperCase():""}),xe.substr(0,1).toLowerCase()+xe.substr(1))},$=function(xe){var je=ue(xe);return je.substr(0,1).toUpperCase()+je.substr(1)},me=function(xe,je){return V(xe,je).toLowerCase()},fe=Object.prototype.toString,he=function(xe){return typeof xe=="function"},ye=function(xe){return xe===Object(xe)},re=function(xe){return fe.call(xe)=="[object Array]"},ce=function(xe){return fe.call(xe)=="[object Date]"},pe=function(xe){return fe.call(xe)=="[object RegExp]"},ge=function(xe){return fe.call(xe)=="[object Boolean]"},_e=function(xe){return xe=xe-0,xe===xe},we=function(xe,je){var Me=je&&"process"in je?je.process:je;return typeof Me!="function"?xe:function(Ae,Pe){return Me(Ae,xe,Pe)}},Se={camelize:ue,decamelize:me,pascalize:$,depascalize:me,camelizeKeys:function(xe,je){return M(we(ue,je),xe)},decamelizeKeys:function(xe,je){return M(we(me,je),xe,je)},pascalizeKeys:function(xe,je){return M(we($,je),xe)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};De.exports?De.exports=Se:O.humps=Se})(commonjsGlobal$2)})(humps$1$1);var humps$2=humps$1$1.exports,_excluded$1=["class","style"];function styleToObject$1(De){return De.split(";").map(function(O){return O.trim()}).filter(function(O){return O}).reduce(function(O,M){var V=M.indexOf(":"),ue=humps$2.camelize(M.slice(0,V)),$=M.slice(V+1).trim();return O[ue]=$,O},{})}function classToObject$1(De){return De.split(/\s+/).reduce(function(O,M){return O[M]=!0,O},{})}function convert$1(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof De=="string")return De;var V=(De.children||[]).map(function(he){return convert$1(he)}),ue=Object.keys(De.attributes||{}).reduce(function(he,ye){var re=De.attributes[ye];switch(ye){case"class":he.class=classToObject$1(re);break;case"style":he.style=styleToObject$1(re);break;default:he.attrs[ye]=re}return he},{attrs:{},class:{},style:{}});M.class;var $=M.style,me=$===void 0?{}:$,fe=_objectWithoutProperties$1(M,_excluded$1);return vue.h(De.tag,_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},O),{},{class:ue.class,style:_objectSpread2$1(_objectSpread2$1({},ue.style),me)},ue.attrs),fe),V)}var PRODUCTION$1=!1;try{PRODUCTION$1=process.env.NODE_ENV==="production"}catch{}function log$1(){if(!PRODUCTION$1&&console&&typeof console.error=="function"){var De;(De=console).error.apply(De,arguments)}}function normalizeIconArgs$1(De){if(De&&_typeof$1(De)==="object"&&De.prefix&&De.iconName&&De.icon)return De;if(parse$1.icon)return parse$1.icon(De);if(De===null)return null;if(_typeof$1(De)==="object"&&De.prefix&&De.iconName)return De;if(Array.isArray(De)&&De.length===2)return{prefix:De[0],iconName:De[1]};if(typeof De=="string")return{prefix:"fas",iconName:De}}var FontAwesomeIcon$1=vue.defineComponent({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(O){return[!0,!1,"horizontal","vertical","both"].indexOf(O)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(O){return["right","left"].indexOf(O)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(O){return[90,180,270].indexOf(Number.parseInt(O,10))>-1}},rotateBy:{type:Boolean,default:!1},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(O){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(O)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},widthAuto:{type:Boolean,default:!1}},setup:function(O,M){var V=M.attrs,ue=vue.computed(function(){return normalizeIconArgs$1(O.icon)}),$=vue.computed(function(){return objectWithKey$1("classes",classList$1(O))}),me=vue.computed(function(){return objectWithKey$1("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){return objectWithKey$1("mask",normalizeIconArgs$1(O.mask))}),he=vue.computed(function(){var re=_objectSpread2$1(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},$.value),me.value),fe.value),{},{symbol:O.symbol,maskId:O.maskId});return re.title=O.title,re.titleId=O.titleId,icon(ue.value,re)});vue.watch(he,function(re){if(!re)return log$1("Could not find one or more icon(s)",ue.value,fe.value)},{immediate:!0});var ye=vue.computed(function(){return he.value?convert$1(he.value.abstract[0],{},V):null});return function(){return ye.value}}});vue.defineComponent({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(O,M){var V=M.slots,ue=config$1.familyPrefix,$=vue.computed(function(){return["".concat(ue,"-layers")].concat(_toConsumableArray$1(O.fixedWidth?["".concat(ue,"-fw")]:[]))});return function(){return vue.h("div",{class:$.value},V.default?V.default():[])}}});vue.defineComponent({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(O){return["bottom-left","bottom-right","top-left","top-right"].indexOf(O)>-1}}},setup:function(O,M){var V=M.attrs,ue=config$1.familyPrefix,$=vue.computed(function(){return objectWithKey$1("classes",[].concat(_toConsumableArray$1(O.counter?["".concat(ue,"-layers-counter")]:[]),_toConsumableArray$1(O.position?["".concat(ue,"-layers-").concat(O.position)]:[])))}),me=vue.computed(function(){return objectWithKey$1("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){var ye=text(O.value.toString(),_objectSpread2$1(_objectSpread2$1({},me.value),$.value)),re=ye.abstract;return O.counter&&(re[0].attributes.class=re[0].attributes.class.replace("fa-layers-text","")),re[0]}),he=vue.computed(function(){return convert$1(fe.value,{},V)});return function(){return he.value}}});function ve(...De){return De.filter(Boolean).join(" ")}vue.ref("");vue.reactive({validateOnBlur:!1,validateOnInput:!1,validateOnChange:!1,validateOnMount:!1,required:!1,isValid:!0,errors:[]});const w=(De,O)=>{const M=De.__vccOpts||De;for(const[V,ue]of O)M[V]=ue;return M},be=["innerHTML"],Be=["src","alt"],Ce=vue.defineComponent({__name:"Icon",props:{className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{},variant:{},size:{default:"small"},inline:{type:Boolean},shadow:{type:Boolean},decorative:{type:Boolean},ariaLabel:{}},setup(De){const O=De,M=vue.computed(()=>ve("phila-icon",O.size&&`phila-icon--${O.size}`,O.inline&&"phila-icon--inline",O.variant&&O.variant!=="default"&&`phila-icon--${O.variant}`,O.shadow&&"phila-icon--shadow",O.className)),V=vue.computed(()=>O.decorative?{"aria-hidden":!0}:{"aria-label":O.ariaLabel,role:"img"});return(ue,$)=>(vue.openBlock(),vue.createElementBlock("span",vue.mergeProps({class:M.value},V.value),[O.iconDefinition?(vue.openBlock(),vue.createBlock(vue.unref(FontAwesomeIcon$1),{key:0,icon:O.iconDefinition},null,8,["icon"])):O.iconClass?(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(`fa fa-${O.iconClass}`)},null,2)):O.svgRaw?(vue.openBlock(),vue.createElementBlock("span",{key:2,class:"phila-icon__svg",innerHTML:O.svgRaw},null,8,be)):O.src?(vue.openBlock(),vue.createElementBlock("img",{key:3,src:O.src,alt:O.decorative?"":O.ariaLabel||"Icon"},null,8,Be)):vue.createCommentVNode("",!0)],16))}}),F$1=w(Ce,[["__scopeId","data-v-55074cbf"]]),ke={key:1},Re=vue.defineComponent({__name:"ActionContent",props:{iconRight:{type:Boolean,default:!1},iconOnly:{type:Boolean,default:!1},inline:{type:Boolean},text:{default:void 0},size:{default:void 0},shadow:{type:Boolean},iconDefinition:{},iconClass:{},src:{},svgRaw:{},variant:{}},setup(De){const O=De,M=vue.computed(()=>O.iconDefinition||O.iconClass||O.src||O.svgRaw),V=vue.computed(()=>({iconDefinition:O.iconDefinition,iconClass:O.iconClass,src:O.src,svgRaw:O.svgRaw,size:O.iconOnly?O.size:void 0,decorative:!0,class:"icon",inline:O.inline??!O.iconOnly,shadow:O.shadow}));return(ue,$)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[M.value&&!O.iconRight?(vue.openBlock(),vue.createBlock(F$1,vue.normalizeProps(vue.mergeProps({key:0},V.value)),null,16)):vue.createCommentVNode("",!0),O.iconOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",ke,[vue.renderSlot(ue.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])])),M.value&&O.iconRight?(vue.openBlock(),vue.createBlock(F$1,vue.normalizeProps(vue.mergeProps({key:2},V.value)),null,16)):vue.createCommentVNode("",!0)],64))}}),P=De=>"to"in De&&De.to!==void 0;function Ie(){const De=vue.inject("router",null),O=vue.computed(()=>De!==null);return{router:De,hasRouter:O}}const Ee=vue.defineComponent({__name:"BaseLink",props:{to:{},href:{},target:{},rel:{},disabled:{type:Boolean},ariaLabel:{},className:{}},setup(De){const O=De,{hasRouter:M}=Ie(),V=vue.computed(()=>P(O)&&M.value?vue.resolveComponent("RouterLink"):"a"),ue=vue.computed(()=>P(O)?{to:O.disabled?void 0:O.to,...O.disabled&&{"aria-disabled":"true"},...O.ariaLabel&&{"aria-label":O.ariaLabel}}:{href:O.disabled?void 0:O.href,...O.target&&{target:O.target},...O.rel&&{rel:O.rel},...O.disabled&&{"aria-disabled":"true"},...O.ariaLabel&&{"aria-label":O.ariaLabel}});return($,me)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(V.value),vue.mergeProps({class:De.className},ue.value),{default:vue.withCtx(()=>[vue.renderSlot($.$slots,"default")]),_:3},16,["class"]))}});vue.ref({});vue.ref();vue.ref(null);var q={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},G=q;const F=["disabled"],H=vue.defineComponent({inheritAttrs:!1,__name:"PhlButton",props:{href:{},to:{},target:{},rel:{},disabled:{type:Boolean,default:!1},clickTarget:{},variant:{default:"primary"},size:{default:"medium"},iconOnly:{type:Boolean,default:!1},iconRight:{type:Boolean},text:{},className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{}},setup(De){const O=De,M=me=>"href"in me&&me.href!==void 0||"to"in me&&me.to!==void 0,V=vue.computed(()=>ve("phila-button",`phila-button--${O.variant}`,O.size&&`is-${O.size}`,O.iconOnly&&"icon-button",O.iconOnly&&O.variant==="standard"&&"icon-button--standard",O.className)),ue=vue.computed(()=>M(O)?"to"in O&&O.to!==void 0?{to:O.to,disabled:O.disabled,className:V.value}:{href:O.href,target:O.target,rel:O.rel,disabled:O.disabled,className:V.value}:{}),$=vue.computed(()=>({iconDefinition:O.iconDefinition,iconClass:O.iconClass,src:O.src,iconRight:O.iconRight,iconOnly:O.iconOnly,text:O.text,size:O.size}));return(me,fe)=>M(O)?(vue.openBlock(),vue.createBlock(vue.unref(Ee),vue.mergeProps({key:0},{...ue.value,...me.$attrs},{role:"button"}),{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)]),_:3},16)):(vue.openBlock(),vue.createElementBlock("button",vue.mergeProps({key:1,type:"button",disabled:O.disabled,class:V.value},me.$attrs),[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)],16,F))}});var J={prefix:"fas",iconName:"circle-exclamation",icon:[512,512,["exclamation-circle"],"f06a","M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-192a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.6 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z"]},Q=J,W={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]},X=W;const Y=["for"],Z={class:"state-layer"},ee={class:"content"},ae={class:"input-text-container"},te=["id","placeholder","aria-label"],le={key:1,class:"has-text-body-small phila-supporting-text"},ie={key:2,class:"has-text-body-small phila-error-text"},ne=vue.defineComponent({inheritAttrs:!1,__name:"TextField",props:{modelValue:{default:void 0},className:{default:""},label:{default:""},id:{default:`phila-text-field-${Math.random().toString(36).substring(2,9)}`},supportingText:{default:""},placeholder:{default:""},leadingIcon:{default:""},trailingIcon:{default:""},error:{default(){return[]}}},emits:["update:modelValue"],setup(De,{emit:O}){const M=vue.useAttrs(),V=De,ue=vue.computed(()=>typeof V.error=="string"?V.error:V.error[0]),$=vue.toRef(V,"id"),me=O,fe=vue.ref(""),he=vue.computed({get:()=>V.modelValue!==void 0?V.modelValue:fe.value,set:_e=>{me("update:modelValue",_e),fe.value=_e}}),ye=vue.computed(()=>{const _e=["default-class"];return M.disabled!=null&&_e.push("phila-input--disabled"),ue.value&&_e.push("phila-input--error"),M.required!=null&&_e.push("phila-input--required"),ve(..._e)}),re=vue.computed(()=>{const _e=[];return he.value!==""&&_e.push("phila-text-field--filled"),V.className&&_e.push(V.className),ve(..._e)}),ce=vue.computed(()=>{if(!(V.label||M["aria-label"]))return V.placeholder||void 0}),pe=vue.ref(null),ge=_e=>{_e.target.closest("button")||pe.value?.focus()};return(_e,we)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["phila-input",ye.value])},[V.label?(vue.openBlock(),vue.createElementBlock("label",{key:0,for:$.value,class:"has-text-label-small phila-label"},vue.toDisplayString(V.label),9,Y)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["phila-text-field",re.value]),onClick:ge},[vue.createElementVNode("div",Z,[V.leadingIcon?(vue.openBlock(),vue.createBlock(vue.unref(F$1),{key:0,"icon-class":V.leadingIcon,inline:"",decorative:""},null,8,["icon-class"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",ee,[vue.createElementVNode("div",ae,[vue.withDirectives(vue.createElementVNode("input",vue.mergeProps({id:$.value,ref_key:"inputRef",ref:pe,"onUpdate:modelValue":we[0]||(we[0]=Se=>he.value=Se),class:"phila-text-field-input has-text-body-default",placeholder:V.placeholder,"aria-label":ce.value},vue.unref(M)),null,16,te),[[vue.vModelDynamic,he.value]])])]),he.value!=""?(vue.openBlock(),vue.createBlock(vue.unref(H),{key:1,variant:"standard",size:"small","icon-only":"","icon-definition":vue.unref(X),onClick:we[1]||(we[1]=Se=>he.value="")},null,8,["icon-definition"])):vue.createCommentVNode("",!0),V.trailingIcon?(vue.openBlock(),vue.createBlock(vue.unref(F$1),{key:2,size:"small","icon-class":V.trailingIcon,inline:"",decorative:""},null,8,["icon-class"])):vue.createCommentVNode("",!0),vue.renderSlot(_e.$slots,"trailing-action")])],2),V.supportingText?(vue.openBlock(),vue.createElementBlock("div",le,vue.toDisplayString(V.supportingText),1)):vue.createCommentVNode("",!0),ue.value?(vue.openBlock(),vue.createElementBlock("div",ie,[vue.createVNode(vue.unref(F$1),{"icon-definition":vue.unref(Q),size:"small",inline:"",decorative:""},null,8,["icon-definition"]),vue.createTextVNode(" "+vue.toDisplayString(ue.value),1)])):vue.createCommentVNode("",!0)],2))}}),se=["disabled"],oe=vue.defineComponent({inheritAttrs:!1,__name:"PhlButton",props:{href:{},to:{},target:{},rel:{},disabled:{type:Boolean,default:!1},clickTarget:{},variant:{default:"primary"},size:{default:"medium"},iconOnly:{type:Boolean,default:!1},iconRight:{type:Boolean},text:{},className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{}},setup(De){const O=De,M=me=>"href"in me&&me.href!==void 0||"to"in me&&me.to!==void 0,V=vue.computed(()=>ve("phila-button",`phila-button--${O.variant}`,O.size&&`is-${O.size}`,O.iconOnly&&"icon-button",O.iconOnly&&O.variant==="standard"&&"icon-button--standard",O.className)),ue=vue.computed(()=>M(O)?"to"in O&&O.to!==void 0?{to:O.to,disabled:O.disabled,className:V.value}:{href:O.href,target:O.target,rel:O.rel,disabled:O.disabled,className:V.value}:{}),$=vue.computed(()=>({iconDefinition:O.iconDefinition,iconClass:O.iconClass,src:O.src,iconRight:O.iconRight,iconOnly:O.iconOnly,text:O.text,size:O.size}));return(me,fe)=>M(O)?(vue.openBlock(),vue.createBlock(vue.unref(Ee),vue.mergeProps({key:0},{...ue.value,...me.$attrs},{role:"button"}),{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)]),_:3},16)):(vue.openBlock(),vue.createElementBlock("button",vue.mergeProps({key:1,type:"button",disabled:O.disabled,class:V.value},me.$attrs),[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)],16,se))}}),de=vue.defineComponent({inheritAttrs:!1,__name:"Search",props:{modelValue:{default:void 0},placeholder:{default:"Search by title or keyword"},className:{}},emits:["update:modelValue","search"],setup(De,{emit:O}){const M=vue.useAttrs(),V=De,ue=O,$=vue.computed({get:()=>V.modelValue,set:ye=>ue("update:modelValue",ye)}),me=vue.computed(()=>M["aria-label"]),fe=vue.computed(()=>Object.fromEntries(Object.entries(M).filter(([ye])=>ye!=="aria-label"))),he=vue.computed(()=>ve("default-class",V.className));return(ye,re)=>(vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({class:["search",he.value]},fe.value),[vue.createVNode(vue.unref(ne),{modelValue:$.value,"onUpdate:modelValue":re[1]||(re[1]=ce=>$.value=ce),"class-name":"phila-text-field--search",placeholder:De.placeholder,"aria-label":me.value,onKeydown:re[2]||(re[2]=vue.withKeys(ce=>ue("search"),["enter"]))},{"trailing-action":vue.withCtx(()=>[vue.createVNode(vue.unref(oe),{variant:"standard",size:"small","icon-only":"","icon-definition":vue.unref(G),"aria-label":"Search","class-name":"phila-button--search",onClick:re[0]||(re[0]=ce=>ue("search"))},null,8,["icon-definition"])]),_:1},8,["modelValue","placeholder","aria-label"])],16))}}),_hoisted_1$e=["aria-busy"],_hoisted_2$7={key:0,role:"alert",class:"map-search-error"},_hoisted_3$6={"aria-live":"polite",class:"sr-only"},_hoisted_4$2={key:0},_sfc_main$o=vue.defineComponent({__name:"MapSearchControl",props:{position:{default:"top-left"},placeholder:{default:"Search for an address"},geocode:{type:Boolean,default:!0},centerOnResult:{type:Boolean,default:!0},searchZoom:{default:17}},emits:["search","result","error"],setup(De,{expose:O,emit:M}){const V=De,ue=M,$=vue.inject("map"),me=vue.ref(null),fe=vue.ref(""),he=vue.ref(!1),ye=vue.ref(null),re=async()=>{const ce=fe.value.trim();if(ue("search",ce),!!ce&&V.geocode){he.value=!0,ye.value=null;try{const ge=await(await fetch(`https://api.phila.gov/ais/v1/search/${encodeURIComponent(ce)}?include_units=false`)).json();if(ge.features&&ge.features.length>0){const _e=ge.features[0];if(ue("result",_e),V.centerOnResult&&$?.value&&_e.geometry?.coordinates){const[we,Se]=_e.geometry.coordinates;$.value.setCenter([we,Se]),$.value.setZoom(V.searchZoom)}}else ye.value="No results found",ue("error",ye.value)}catch(pe){ye.value=pe instanceof Error?pe.message:"Failed to geocode address",ue("error",ye.value)}finally{he.value=!1}}};return useMapControl.useMapControl(V,me),O({loading:he,error:ye,searchQuery:fe}),(ce,pe)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerElement",ref:me,class:"maplibregl-ctrl map-search-control",role:"search","aria-label":"Search for an address","aria-busy":he.value},[vue.createVNode(vue.unref(de),{modelValue:fe.value,"onUpdate:modelValue":pe[0]||(pe[0]=ge=>fe.value=ge),placeholder:V.placeholder,"aria-label":"Search the map",onSearch:re},null,8,["modelValue","placeholder"]),ye.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$7,"⚠ "+vue.toDisplayString(ye.value),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$6,[he.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$2,"Searching...")):vue.createCommentVNode("",!0)])],8,_hoisted_1$e))}});function _arrayLikeToArray(De,O){(O==null||O>De.length)&&(O=De.length);for(var M=0,V=Array(O);M<O;M++)V[M]=De[M];return V}function _arrayWithoutHoles(De){if(Array.isArray(De))return _arrayLikeToArray(De)}function _defineProperty(De,O,M){return(O=_toPropertyKey(O))in De?Object.defineProperty(De,O,{value:M,enumerable:!0,configurable:!0,writable:!0}):De[O]=M,De}function _iterableToArray(De){if(typeof Symbol<"u"&&De[Symbol.iterator]!=null||De["@@iterator"]!=null)return Array.from(De)}function _nonIterableSpread(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
558
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ownKeys(De,O){var M=Object.keys(De);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(De);O&&(V=V.filter(function(ue){return Object.getOwnPropertyDescriptor(De,ue).enumerable})),M.push.apply(M,V)}return M}function _objectSpread2(De){for(var O=1;O<arguments.length;O++){var M=arguments[O]!=null?arguments[O]:{};O%2?ownKeys(Object(M),!0).forEach(function(V){_defineProperty(De,V,M[V])}):Object.getOwnPropertyDescriptors?Object.defineProperties(De,Object.getOwnPropertyDescriptors(M)):ownKeys(Object(M)).forEach(function(V){Object.defineProperty(De,V,Object.getOwnPropertyDescriptor(M,V))})}return De}function _objectWithoutProperties(De,O){if(De==null)return{};var M,V,ue=_objectWithoutPropertiesLoose(De,O);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(De);for(V=0;V<$.length;V++)M=$[V],O.indexOf(M)===-1&&{}.propertyIsEnumerable.call(De,M)&&(ue[M]=De[M])}return ue}function _objectWithoutPropertiesLoose(De,O){if(De==null)return{};var M={};for(var V in De)if({}.hasOwnProperty.call(De,V)){if(O.indexOf(V)!==-1)continue;M[V]=De[V]}return M}function _toConsumableArray(De){return _arrayWithoutHoles(De)||_iterableToArray(De)||_unsupportedIterableToArray(De)||_nonIterableSpread()}function _toPrimitive(De,O){if(typeof De!="object"||!De)return De;var M=De[Symbol.toPrimitive];if(M!==void 0){var V=M.call(De,O);if(typeof V!="object")return V;throw new TypeError("@@toPrimitive must return a primitive value.")}return(O==="string"?String:Number)(De)}function _toPropertyKey(De){var O=_toPrimitive(De,"string");return typeof O=="symbol"?O:O+""}function _typeof(De){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},_typeof(De)}function _unsupportedIterableToArray(De,O){if(De){if(typeof De=="string")return _arrayLikeToArray(De,O);var M={}.toString.call(De).slice(8,-1);return M==="Object"&&De.constructor&&(M=De.constructor.name),M==="Map"||M==="Set"?Array.from(De):M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M)?_arrayLikeToArray(De,O):void 0}}function objectWithKey(De,O){return Array.isArray(O)&&O.length>0||!Array.isArray(O)&&O?_defineProperty({},De,O):{}}function classList(De){var O,M=(O={"fa-spin":De.spin,"fa-pulse":De.pulse,"fa-fw":De.fixedWidth,"fa-border":De.border,"fa-li":De.listItem,"fa-inverse":De.inverse,"fa-flip":De.flip===!0,"fa-flip-horizontal":De.flip==="horizontal"||De.flip==="both","fa-flip-vertical":De.flip==="vertical"||De.flip==="both"},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(O,"fa-".concat(De.size),De.size!==null),"fa-rotate-".concat(De.rotation),De.rotation!==null),"fa-rotate-by",De.rotateBy),"fa-pull-".concat(De.pull),De.pull!==null),"fa-swap-opacity",De.swapOpacity),"fa-bounce",De.bounce),"fa-shake",De.shake),"fa-beat",De.beat),"fa-fade",De.fade),"fa-beat-fade",De.beatFade),_defineProperty(_defineProperty(_defineProperty(_defineProperty(O,"fa-flash",De.flash),"fa-spin-pulse",De.spinPulse),"fa-spin-reverse",De.spinReverse),"fa-width-auto",De.widthAuto));return Object.keys(M).map(function(V){return M[V]?V:null}).filter(function(V){return V})}var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},humps$1={exports:{}};(function(De){(function(O){var M=function(xe,je,Me){if(!ye(je)||ce(je)||pe(je)||ge(je)||he(je))return je;var Ae,Pe=0,Le=0;if(re(je))for(Ae=[],Le=je.length;Pe<Le;Pe++)Ae.push(M(xe,je[Pe],Me));else{Ae={};for(var Oe in je)Object.prototype.hasOwnProperty.call(je,Oe)&&(Ae[xe(Oe,Me)]=M(xe,je[Oe],Me))}return Ae},V=function(xe,je){je=je||{};var Me=je.separator||"_",Ae=je.split||/(?=[A-Z])/;return xe.split(Ae).join(Me)},ue=function(xe){return _e(xe)?xe:(xe=xe.replace(/[\-_\s]+(.)?/g,function(je,Me){return Me?Me.toUpperCase():""}),xe.substr(0,1).toLowerCase()+xe.substr(1))},$=function(xe){var je=ue(xe);return je.substr(0,1).toUpperCase()+je.substr(1)},me=function(xe,je){return V(xe,je).toLowerCase()},fe=Object.prototype.toString,he=function(xe){return typeof xe=="function"},ye=function(xe){return xe===Object(xe)},re=function(xe){return fe.call(xe)=="[object Array]"},ce=function(xe){return fe.call(xe)=="[object Date]"},pe=function(xe){return fe.call(xe)=="[object RegExp]"},ge=function(xe){return fe.call(xe)=="[object Boolean]"},_e=function(xe){return xe=xe-0,xe===xe},we=function(xe,je){var Me=je&&"process"in je?je.process:je;return typeof Me!="function"?xe:function(Ae,Pe){return Me(Ae,xe,Pe)}},Se={camelize:ue,decamelize:me,pascalize:$,depascalize:me,camelizeKeys:function(xe,je){return M(we(ue,je),xe)},decamelizeKeys:function(xe,je){return M(we(me,je),xe,je)},pascalizeKeys:function(xe,je){return M(we($,je),xe)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};De.exports?De.exports=Se:O.humps=Se})(commonjsGlobal$1)})(humps$1);var humps=humps$1.exports,_excluded=["class","style"];function styleToObject(De){return De.split(";").map(function(O){return O.trim()}).filter(function(O){return O}).reduce(function(O,M){var V=M.indexOf(":"),ue=humps.camelize(M.slice(0,V)),$=M.slice(V+1).trim();return O[ue]=$,O},{})}function classToObject(De){return De.split(/\s+/).reduce(function(O,M){return O[M]=!0,O},{})}function convert(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof De=="string")return De;var V=(De.children||[]).map(function(he){return convert(he)}),ue=Object.keys(De.attributes||{}).reduce(function(he,ye){var re=De.attributes[ye];switch(ye){case"class":he.class=classToObject(re);break;case"style":he.style=styleToObject(re);break;default:he.attrs[ye]=re}return he},{attrs:{},class:{},style:{}});M.class;var $=M.style,me=$===void 0?{}:$,fe=_objectWithoutProperties(M,_excluded);return vue.h(De.tag,_objectSpread2(_objectSpread2(_objectSpread2({},O),{},{class:ue.class,style:_objectSpread2(_objectSpread2({},ue.style),me)},ue.attrs),fe),V)}var PRODUCTION=!1;try{PRODUCTION=process.env.NODE_ENV==="production"}catch{}function log(){if(!PRODUCTION&&console&&typeof console.error=="function"){var De;(De=console).error.apply(De,arguments)}}function normalizeIconArgs(De){if(De&&_typeof(De)==="object"&&De.prefix&&De.iconName&&De.icon)return De;if(parse$1.icon)return parse$1.icon(De);if(De===null)return null;if(_typeof(De)==="object"&&De.prefix&&De.iconName)return De;if(Array.isArray(De)&&De.length===2)return{prefix:De[0],iconName:De[1]};if(typeof De=="string")return{prefix:"fas",iconName:De}}var FontAwesomeIcon=vue.defineComponent({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(O){return[!0,!1,"horizontal","vertical","both"].indexOf(O)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(O){return["right","left"].indexOf(O)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(O){return[90,180,270].indexOf(Number.parseInt(O,10))>-1}},rotateBy:{type:Boolean,default:!1},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(O){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(O)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},widthAuto:{type:Boolean,default:!1}},setup:function(O,M){var V=M.attrs,ue=vue.computed(function(){return normalizeIconArgs(O.icon)}),$=vue.computed(function(){return objectWithKey("classes",classList(O))}),me=vue.computed(function(){return objectWithKey("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){return objectWithKey("mask",normalizeIconArgs(O.mask))}),he=vue.computed(function(){var re=_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({},$.value),me.value),fe.value),{},{symbol:O.symbol,maskId:O.maskId});return re.title=O.title,re.titleId=O.titleId,icon(ue.value,re)});vue.watch(he,function(re){if(!re)return log("Could not find one or more icon(s)",ue.value,fe.value)},{immediate:!0});var ye=vue.computed(function(){return he.value?convert(he.value.abstract[0],{},V):null});return function(){return ye.value}}});vue.defineComponent({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(O,M){var V=M.slots,ue=config$1.familyPrefix,$=vue.computed(function(){return["".concat(ue,"-layers")].concat(_toConsumableArray(O.fixedWidth?["".concat(ue,"-fw")]:[]))});return function(){return vue.h("div",{class:$.value},V.default?V.default():[])}}});vue.defineComponent({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(O){return["bottom-left","bottom-right","top-left","top-right"].indexOf(O)>-1}}},setup:function(O,M){var V=M.attrs,ue=config$1.familyPrefix,$=vue.computed(function(){return objectWithKey("classes",[].concat(_toConsumableArray(O.counter?["".concat(ue,"-layers-counter")]:[]),_toConsumableArray(O.position?["".concat(ue,"-layers-").concat(O.position)]:[])))}),me=vue.computed(function(){return objectWithKey("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){var ye=text(O.value.toString(),_objectSpread2(_objectSpread2({},me.value),$.value)),re=ye.abstract;return O.counter&&(re[0].attributes.class=re[0].attributes.class.replace("fa-layers-text","")),re[0]}),he=vue.computed(function(){return convert(fe.value,{},V)});return function(){return he.value}}});const _hoisted_1$d=["title","aria-label","aria-pressed"],_sfc_main$n=vue.defineComponent({__name:"MapButton",props:{icon:{default:void 0},image:{default:""},imagePadding:{default:0},position:{default:"top-right"},title:{default:""},iconSize:{default:18},toggleable:{type:Boolean,default:!1},active:{type:Boolean,default:!1},activeColor:{default:"#ffcc80"},className:{}},emits:["click"],setup(De,{emit:O}){const M=De,V=O,ue=vue.useSlots(),$=vue.ref(null),me=()=>{V("click")},fe=vue.computed(()=>!!ue.default),he=vue.computed(()=>M.position?.includes("right")),ye=vue.computed(()=>{const re={};return M.image&&(re.backgroundImage=`url("${M.image}")`,re.backgroundPosition="center",re.backgroundRepeat="no-repeat",M.imagePadding>0?(re.backgroundSize="contain",re.backgroundOrigin="content-box",re.padding=`${M.imagePadding}px`):(re.backgroundSize="cover",re.width=`${M.iconSize}px`,re.height=`${M.iconSize}px`)),M.toggleable&&M.active&&(re.backgroundColor=M.activeColor),re});return vue.onMounted(()=>{}),useMapControl.useMapControl(M,$),(re,ce)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerElement",ref:$,class:vue.normalizeClass(["maplibregl-ctrl",fe.value?"map-button-wrapper":"maplibregl-ctrl-group"])},[he.value?vue.renderSlot(re.$slots,"default",{key:0}):vue.createCommentVNode("",!0),vue.createElementVNode("button",{class:vue.normalizeClass(["map-button",{"has-image":M.image}]),type:"button",title:M.title,"aria-label":M.title,"aria-pressed":M.toggleable?String(M.active):void 0,style:vue.normalizeStyle(ye.value),onClick:me},[M.icon&&!M.image?(vue.openBlock(),vue.createBlock(vue.unref(FontAwesomeIcon),{key:0,icon:M.icon,style:vue.normalizeStyle({fontSize:`${M.iconSize}px`}),"aria-hidden":"true"},null,8,["icon","style"])):vue.createCommentVNode("",!0)],14,_hoisted_1$d),he.value?vue.createCommentVNode("",!0):vue.renderSlot(re.$slots,"default",{key:1})],2))}});var faUpRightFromSquare={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M290.4 19.8C295.4 7.8 307.1 0 320 0L480 0c17.7 0 32 14.3 32 32l0 160c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9L400 157.3 246.6 310.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L354.7 112 297.4 54.6c-9.2-9.2-11.9-22.9-6.9-34.9zM0 176c0-44.2 35.8-80 80-80l80 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-80 0c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-80c0-17.7 14.3-32 32-32s32 14.3 32 32l0 80c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80L0 176z"]},faChevronUp={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M201.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 173.3 54.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]},faChevronDown={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},faLocationCrosshairs={prefix:"fas",iconName:"location-crosshairs",icon:[576,512,["location"],"f601","M288-16c17.7 0 32 14.3 32 32l0 18.3c98.1 14 175.7 91.6 189.7 189.7l18.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-18.3 0c-14 98.1-91.6 175.7-189.7 189.7l0 18.3c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.3C157.9 463.7 80.3 386.1 66.3 288L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.3 0C80.3 125.9 157.9 48.3 256 34.3L256 16c0-17.7 14.3-32 32-32zM128 256a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm160-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"]};const _hoisted_1$c=["title","aria-expanded"],_hoisted_2$6={class:"dropdown-label"},_hoisted_3$5=["aria-checked","tabindex","onClick"],_sfc_main$m=vue.defineComponent({__name:"BasemapDropdown",props:{options:{},position:{default:"top-right"},selectedIndex:{default:0},useAsControl:{type:Boolean,default:!0},isDropUp:{type:Boolean,default:!1}},emits:["select"],setup(De,{expose:O,emit:M}){const V=vue.inject("handleBasemapChange",null),ue=De,$=M,me=vue.ref(!1),fe=vue.ref(ue.selectedIndex),he=vue.ref(-1),ye=vue.ref(null),re=vue.ref(null),ce=vue.ref([]),pe=vue.computed(()=>ue.options[fe.value]),ge=vue.computed(()=>ue.useAsControl?ue.position?.includes("bottom")||!1:ue.isDropUp);ue.useAsControl&&useMapControl.useMapControl(ue,ye);function _e(){me.value=!me.value,me.value?(he.value=fe.value,vue.nextTick(()=>Se(he.value))):he.value=-1}function we(){me.value=!1,he.value=-1,re.value?.focus()}function Se(Le){ce.value[Le]?.focus()}function xe(Le){(Le.key==="ArrowDown"||Le.key==="ArrowUp")&&(Le.preventDefault(),me.value||(me.value=!0,he.value=fe.value,vue.nextTick(()=>Se(he.value))))}function je(Le){switch(Le.key){case"Escape":Le.preventDefault(),we();break;case"ArrowDown":Le.preventDefault(),he.value=(he.value+1)%ue.options.length,Se(he.value);break;case"ArrowUp":Le.preventDefault(),he.value=(he.value-1+ue.options.length)%ue.options.length,Se(he.value);break;case"Home":Le.preventDefault(),he.value=0,Se(he.value);break;case"End":Le.preventDefault(),he.value=ue.options.length-1,Se(he.value);break;case"Tab":we();break}}function Me(Le,Oe){Le&&(ce.value[Oe]=Le)}function Ae(Le,Oe){if(fe.value=Oe,me.value=!1,he.value=-1,re.value?.focus(),$("select",Le,Oe),V){const Ne={showImagery:!0,imageryUrl:Le.imageryUrl,imageryLabelsUrl:Le.imageryLabelsUrl,showLabels:Le.showLabels??!0};V(Ne)}}function Pe(Le){ye.value&&!ye.value.contains(Le.target)&&(me.value=!1,he.value=-1)}return vue.onMounted(()=>{if(document.addEventListener("click",Pe),V&&ue.options.length>0){const Le=ue.options[fe.value];if(Le){const Oe={showImagery:!0,imageryUrl:Le.imageryUrl,imageryLabelsUrl:Le.imageryLabelsUrl,showLabels:Le.showLabels??!0};V(Oe)}}}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",Pe)}),O({isOpen:me,selectedIndex:fe,selectedOption:pe,toggleDropdown:_e,closeDropdown:we}),(Le,Oe)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:ye,class:vue.normalizeClass(["basemap-dropdown-control-wrapper",{"maplibregl-ctrl":De.useAsControl,"drop-up":ge.value,"standalone-control":De.useAsControl,"embedded-control":!De.useAsControl}])},[vue.createElementVNode("button",{ref_key:"toggleRef",ref:re,class:"basemap-dropdown-toggle",title:pe.value?.label||"Select basemap","aria-expanded":me.value,"aria-haspopup":"true",onClick:vue.withModifiers(_e,["stop"]),onKeydown:xe},[vue.createElementVNode("span",_hoisted_2$6,vue.toDisplayString(pe.value?.label||"Select"),1),vue.createVNode(vue.unref(FontAwesomeIcon),{icon:ge.value?vue.unref(faChevronUp):vue.unref(faChevronDown),class:vue.normalizeClass(["dropdown-icon",{open:me.value}]),"aria-hidden":"true"},null,8,["icon","class"])],40,_hoisted_1$c),me.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"basemap-dropdown-menu",role:"menu",onKeydown:je},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(De.options,(Ne,Ue)=>(vue.openBlock(),vue.createElementBlock("button",{key:Ue,ref_for:!0,ref:He=>Me(He,Ue),role:"menuitemradio","aria-checked":Ue===fe.value,tabindex:Ue===he.value?0:-1,class:vue.normalizeClass(["basemap-dropdown-item",{selected:Ue===fe.value}]),onClick:vue.withModifiers(He=>Ae(Ne,Ue),["stop"])},vue.toDisplayString(Ne.label),11,_hoisted_3$5))),128))],32)):vue.createCommentVNode("",!0)],2))}}),defaultImageryIcon="data:image/png;base64,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",defaultBasemapIcon="data:image/png;base64,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",imageryLabelsUrl="https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_Labels/MapServer/tile/{z}/{y}/{x}",imageryLabelsSource={tiles:[imageryLabelsUrl],type:"raster",tileSize:256},imageryParcelOutlinesSource={tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/PWDParcel_ImageryOverlay/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},imagerySources={2025:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2025_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2024:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2024_1in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2023:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2023/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2022:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2022_2in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2020:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2020_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2019:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2019_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2018:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2018_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2017:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2017_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2016:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2016_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2015:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2015_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2012:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2012_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2010:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2010_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2008:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2008_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2004:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2004_6in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1996:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_1996_6in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1962:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricLandUse_1962/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1942:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricLandUse_1942/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1910:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricBromleyAtlas_1910/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1895:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricBromleyAtlas_1895/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1875:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricGMHopkinsAtlas_1875/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1860:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricHexamerLocherAtlas_1860/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256}},defaultBasemapSource={tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityBasemap/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},defaultLabelsSource={tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityBasemap_Labels/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},defaultImageryOptions=[{label:"2025",year:"2025",imageryUrl:imagerySources[2025].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2024",year:"2024",imageryUrl:imagerySources[2024].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2023",year:"2023",imageryUrl:imagerySources[2023].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2022",year:"2022",imageryUrl:imagerySources[2022].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2020",year:"2020",imageryUrl:imagerySources[2020].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2019",year:"2019",imageryUrl:imagerySources[2019].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2018",year:"2018",imageryUrl:imagerySources[2018].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2017",year:"2017",imageryUrl:imagerySources[2017].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2016",year:"2016",imageryUrl:imagerySources[2016].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2015",year:"2015",imageryUrl:imagerySources[2015].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2012",year:"2012",imageryUrl:imagerySources[2012].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2010",year:"2010",imageryUrl:imagerySources[2010].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2008",year:"2008",imageryUrl:imagerySources[2008].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2004",year:"2004",imageryUrl:imagerySources[2004].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"1996",year:"1996",imageryUrl:imagerySources[1996].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"1962",year:"1962",imageryUrl:imagerySources[1962].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1942",year:"1942",imageryUrl:imagerySources[1942].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1910",year:"1910",imageryUrl:imagerySources[1910].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1895",year:"1895",imageryUrl:imagerySources[1895].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1875",year:"1875",imageryUrl:imagerySources[1875].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1860",year:"1860",imageryUrl:imagerySources[1860].tiles[0],imageryLabelsUrl:null,showLabels:!1}],_sfc_main$l=vue.defineComponent({__name:"BasemapToggle",props:{position:{default:"top-right"},imageryUrl:{default:"https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2024_1in/MapServer/tile/{z}/{y}/{x}"},imageryLabelsUrl:{default:"https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_Labels/MapServer/tile/{z}/{y}/{x}"},iconImage:{},basemapImage:{},title:{default:"Toggle Imagery"},iconSize:{default:29},showDropdown:{type:Boolean,default:!1},dropdownOptions:{default:()=>defaultImageryOptions},className:{}},emits:["change"],setup(De,{emit:O}){const M=vue.inject("handleBasemapChange",null),V=De,ue=O,$=vue.ref(!1),me=vue.ref(V.imageryUrl),fe=vue.ref(V.imageryLabelsUrl??null),he=vue.ref(V.dropdownOptions?.[0]?.showLabels??!0),ye=vue.ref(0),re=vue.ref(V.iconImage??defaultImageryIcon);function ce(){$.value=!$.value;let ge;$.value?(re.value=V.basemapImage??defaultBasemapIcon,ge={showImagery:!0,imageryUrl:me.value,imageryLabelsUrl:fe.value,showLabels:he.value}):(re.value=V.iconImage??defaultImageryIcon,ge={showImagery:!1,imageryUrl:null,imageryLabelsUrl:null,showLabels:!0}),ue("change",ge),M&&M(ge)}function pe(ge,_e){if(ye.value=_e,me.value=ge.imageryUrl,fe.value=ge.imageryLabelsUrl,he.value=ge.showLabels??!0,$.value){const we={showImagery:!0,imageryUrl:ge.imageryUrl,imageryLabelsUrl:ge.imageryLabelsUrl,showLabels:ge.showLabels??!0};ue("change",we),M&&M(we)}}return(ge,_e)=>(vue.openBlock(),vue.createBlock(_sfc_main$n,{image:re.value,position:V.position,title:V.title,"icon-size":V.iconSize,onClick:ce},{default:vue.withCtx(()=>[De.showDropdown&&De.dropdownOptions.length>0&&$.value?(vue.openBlock(),vue.createBlock(_sfc_main$m,{key:0,options:De.dropdownOptions,"selected-index":ye.value,"use-as-control":!1,"is-drop-up":De.position?.includes("bottom"),onSelect:pe},null,8,["options","selected-index","is-drop-up"])):vue.createCommentVNode("",!0)]),_:1},8,["image","position","title","icon-size"]))}}),_sfc_main$k=vue.defineComponent({__name:"MapNavigationControl",props:{position:{default:"top-right"},className:{}},setup(De){const O=De;return useMapControl.useMapControl(O,()=>new maplibregl.NavigationControl),(M,V)=>vue.renderSlot(M.$slots,"default")}}),_sfc_main$j=vue.defineComponent({__name:"GeolocationButton",props:{position:{default:"top-right"},icon:{},iconSize:{default:18},title:{default:"Show my location"},trackUser:{type:Boolean,default:!1},markerColor:{default:"#4285F4"},className:{}},emits:["located","error"],setup(De,{emit:O}){const M=De,V=M.icon||faLocationCrosshairs,ue=O,$=vue.inject("map"),me=vue.ref(!1),fe=vue.ref(!1);let he=null,ye=null;const re=(Se,xe)=>{if(!$?.value)return;const je=document.createElement("div");je.className="geolocation-marker",je.setAttribute("role","img"),je.setAttribute("aria-label","Your location"),je.innerHTML=`
557
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ownKeys$1(De,O){var M=Object.keys(De);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(De);O&&(V=V.filter(function(ue){return Object.getOwnPropertyDescriptor(De,ue).enumerable})),M.push.apply(M,V)}return M}function _objectSpread2$1(De){for(var O=1;O<arguments.length;O++){var M=arguments[O]!=null?arguments[O]:{};O%2?ownKeys$1(Object(M),!0).forEach(function(V){_defineProperty$1(De,V,M[V])}):Object.getOwnPropertyDescriptors?Object.defineProperties(De,Object.getOwnPropertyDescriptors(M)):ownKeys$1(Object(M)).forEach(function(V){Object.defineProperty(De,V,Object.getOwnPropertyDescriptor(M,V))})}return De}function _objectWithoutProperties$1(De,O){if(De==null)return{};var M,V,ue=_objectWithoutPropertiesLoose$1(De,O);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(De);for(V=0;V<$.length;V++)M=$[V],O.indexOf(M)===-1&&{}.propertyIsEnumerable.call(De,M)&&(ue[M]=De[M])}return ue}function _objectWithoutPropertiesLoose$1(De,O){if(De==null)return{};var M={};for(var V in De)if({}.hasOwnProperty.call(De,V)){if(O.indexOf(V)!==-1)continue;M[V]=De[V]}return M}function _toConsumableArray$1(De){return _arrayWithoutHoles$1(De)||_iterableToArray$1(De)||_unsupportedIterableToArray$1(De)||_nonIterableSpread$1()}function _toPrimitive$1(De,O){if(typeof De!="object"||!De)return De;var M=De[Symbol.toPrimitive];if(M!==void 0){var V=M.call(De,O);if(typeof V!="object")return V;throw new TypeError("@@toPrimitive must return a primitive value.")}return(O==="string"?String:Number)(De)}function _toPropertyKey$1(De){var O=_toPrimitive$1(De,"string");return typeof O=="symbol"?O:O+""}function _typeof$1(De){"@babel/helpers - typeof";return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},_typeof$1(De)}function _unsupportedIterableToArray$1(De,O){if(De){if(typeof De=="string")return _arrayLikeToArray$1(De,O);var M={}.toString.call(De).slice(8,-1);return M==="Object"&&De.constructor&&(M=De.constructor.name),M==="Map"||M==="Set"?Array.from(De):M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M)?_arrayLikeToArray$1(De,O):void 0}}function objectWithKey$1(De,O){return Array.isArray(O)&&O.length>0||!Array.isArray(O)&&O?_defineProperty$1({},De,O):{}}function classList$1(De){var O,M=(O={"fa-spin":De.spin,"fa-pulse":De.pulse,"fa-fw":De.fixedWidth,"fa-border":De.border,"fa-li":De.listItem,"fa-inverse":De.inverse,"fa-flip":De.flip===!0,"fa-flip-horizontal":De.flip==="horizontal"||De.flip==="both","fa-flip-vertical":De.flip==="vertical"||De.flip==="both"},_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(O,"fa-".concat(De.size),De.size!==null),"fa-rotate-".concat(De.rotation),De.rotation!==null),"fa-rotate-by",De.rotateBy),"fa-pull-".concat(De.pull),De.pull!==null),"fa-swap-opacity",De.swapOpacity),"fa-bounce",De.bounce),"fa-shake",De.shake),"fa-beat",De.beat),"fa-fade",De.fade),"fa-beat-fade",De.beatFade),_defineProperty$1(_defineProperty$1(_defineProperty$1(_defineProperty$1(O,"fa-flash",De.flash),"fa-spin-pulse",De.spinPulse),"fa-spin-reverse",De.spinReverse),"fa-width-auto",De.widthAuto));return Object.keys(M).map(function(V){return M[V]?V:null}).filter(function(V){return V})}var commonjsGlobal$2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},humps$1$1={exports:{}};(function(De){(function(O){var M=function(xe,je,Me){if(!ye(je)||ce(je)||pe(je)||ge(je)||he(je))return je;var Ae,Pe=0,Le=0;if(re(je))for(Ae=[],Le=je.length;Pe<Le;Pe++)Ae.push(M(xe,je[Pe],Me));else{Ae={};for(var Oe in je)Object.prototype.hasOwnProperty.call(je,Oe)&&(Ae[xe(Oe,Me)]=M(xe,je[Oe],Me))}return Ae},V=function(xe,je){je=je||{};var Me=je.separator||"_",Ae=je.split||/(?=[A-Z])/;return xe.split(Ae).join(Me)},ue=function(xe){return _e(xe)?xe:(xe=xe.replace(/[\-_\s]+(.)?/g,function(je,Me){return Me?Me.toUpperCase():""}),xe.substr(0,1).toLowerCase()+xe.substr(1))},$=function(xe){var je=ue(xe);return je.substr(0,1).toUpperCase()+je.substr(1)},me=function(xe,je){return V(xe,je).toLowerCase()},fe=Object.prototype.toString,he=function(xe){return typeof xe=="function"},ye=function(xe){return xe===Object(xe)},re=function(xe){return fe.call(xe)=="[object Array]"},ce=function(xe){return fe.call(xe)=="[object Date]"},pe=function(xe){return fe.call(xe)=="[object RegExp]"},ge=function(xe){return fe.call(xe)=="[object Boolean]"},_e=function(xe){return xe=xe-0,xe===xe},we=function(xe,je){var Me=je&&"process"in je?je.process:je;return typeof Me!="function"?xe:function(Ae,Pe){return Me(Ae,xe,Pe)}},Se={camelize:ue,decamelize:me,pascalize:$,depascalize:me,camelizeKeys:function(xe,je){return M(we(ue,je),xe)},decamelizeKeys:function(xe,je){return M(we(me,je),xe,je)},pascalizeKeys:function(xe,je){return M(we($,je),xe)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};De.exports?De.exports=Se:O.humps=Se})(commonjsGlobal$2)})(humps$1$1);var humps$2=humps$1$1.exports,_excluded$1=["class","style"];function styleToObject$1(De){return De.split(";").map(function(O){return O.trim()}).filter(function(O){return O}).reduce(function(O,M){var V=M.indexOf(":"),ue=humps$2.camelize(M.slice(0,V)),$=M.slice(V+1).trim();return O[ue]=$,O},{})}function classToObject$1(De){return De.split(/\s+/).reduce(function(O,M){return O[M]=!0,O},{})}function convert$1(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof De=="string")return De;var V=(De.children||[]).map(function(he){return convert$1(he)}),ue=Object.keys(De.attributes||{}).reduce(function(he,ye){var re=De.attributes[ye];switch(ye){case"class":he.class=classToObject$1(re);break;case"style":he.style=styleToObject$1(re);break;default:he.attrs[ye]=re}return he},{attrs:{},class:{},style:{}});M.class;var $=M.style,me=$===void 0?{}:$,fe=_objectWithoutProperties$1(M,_excluded$1);return vue.h(De.tag,_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},O),{},{class:ue.class,style:_objectSpread2$1(_objectSpread2$1({},ue.style),me)},ue.attrs),fe),V)}var PRODUCTION$1=!1;try{PRODUCTION$1=process.env.NODE_ENV==="production"}catch{}function log$1(){if(!PRODUCTION$1&&console&&typeof console.error=="function"){var De;(De=console).error.apply(De,arguments)}}function normalizeIconArgs$1(De){if(De&&_typeof$1(De)==="object"&&De.prefix&&De.iconName&&De.icon)return De;if(parse$1.icon)return parse$1.icon(De);if(De===null)return null;if(_typeof$1(De)==="object"&&De.prefix&&De.iconName)return De;if(Array.isArray(De)&&De.length===2)return{prefix:De[0],iconName:De[1]};if(typeof De=="string")return{prefix:"fas",iconName:De}}var FontAwesomeIcon$1=vue.defineComponent({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(O){return[!0,!1,"horizontal","vertical","both"].indexOf(O)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(O){return["right","left"].indexOf(O)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(O){return[90,180,270].indexOf(Number.parseInt(O,10))>-1}},rotateBy:{type:Boolean,default:!1},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(O){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(O)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},widthAuto:{type:Boolean,default:!1}},setup:function(O,M){var V=M.attrs,ue=vue.computed(function(){return normalizeIconArgs$1(O.icon)}),$=vue.computed(function(){return objectWithKey$1("classes",classList$1(O))}),me=vue.computed(function(){return objectWithKey$1("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){return objectWithKey$1("mask",normalizeIconArgs$1(O.mask))}),he=vue.computed(function(){var re=_objectSpread2$1(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},$.value),me.value),fe.value),{},{symbol:O.symbol,maskId:O.maskId});return re.title=O.title,re.titleId=O.titleId,icon(ue.value,re)});vue.watch(he,function(re){if(!re)return log$1("Could not find one or more icon(s)",ue.value,fe.value)},{immediate:!0});var ye=vue.computed(function(){return he.value?convert$1(he.value.abstract[0],{},V):null});return function(){return ye.value}}});vue.defineComponent({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(O,M){var V=M.slots,ue=config$1.familyPrefix,$=vue.computed(function(){return["".concat(ue,"-layers")].concat(_toConsumableArray$1(O.fixedWidth?["".concat(ue,"-fw")]:[]))});return function(){return vue.h("div",{class:$.value},V.default?V.default():[])}}});vue.defineComponent({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(O){return["bottom-left","bottom-right","top-left","top-right"].indexOf(O)>-1}}},setup:function(O,M){var V=M.attrs,ue=config$1.familyPrefix,$=vue.computed(function(){return objectWithKey$1("classes",[].concat(_toConsumableArray$1(O.counter?["".concat(ue,"-layers-counter")]:[]),_toConsumableArray$1(O.position?["".concat(ue,"-layers-").concat(O.position)]:[])))}),me=vue.computed(function(){return objectWithKey$1("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){var ye=text(O.value.toString(),_objectSpread2$1(_objectSpread2$1({},me.value),$.value)),re=ye.abstract;return O.counter&&(re[0].attributes.class=re[0].attributes.class.replace("fa-layers-text","")),re[0]}),he=vue.computed(function(){return convert$1(fe.value,{},V)});return function(){return he.value}}});function ve(...De){return De.filter(Boolean).join(" ")}vue.ref("");vue.reactive({validateOnBlur:!1,validateOnInput:!1,validateOnChange:!1,validateOnMount:!1,required:!1,isValid:!0,errors:[]});const w=(De,O)=>{const M=De.__vccOpts||De;for(const[V,ue]of O)M[V]=ue;return M},be=["innerHTML"],Be=["src","alt"],Ce=vue.defineComponent({__name:"Icon",props:{className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{},variant:{},size:{default:"small"},inline:{type:Boolean},shadow:{type:Boolean},decorative:{type:Boolean},ariaLabel:{}},setup(De){const O=De,M=vue.computed(()=>ve("phila-icon",O.size&&`phila-icon--${O.size}`,O.inline&&"phila-icon--inline",O.variant&&O.variant!=="default"&&`phila-icon--${O.variant}`,O.shadow&&"phila-icon--shadow",O.className)),V=vue.computed(()=>O.decorative?{"aria-hidden":!0}:{"aria-label":O.ariaLabel,role:"img"});return(ue,$)=>(vue.openBlock(),vue.createElementBlock("span",vue.mergeProps({class:M.value},V.value),[O.iconDefinition?(vue.openBlock(),vue.createBlock(vue.unref(FontAwesomeIcon$1),{key:0,icon:O.iconDefinition},null,8,["icon"])):O.iconClass?(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(`fa fa-${O.iconClass}`)},null,2)):O.svgRaw?(vue.openBlock(),vue.createElementBlock("span",{key:2,class:"phila-icon__svg",innerHTML:O.svgRaw},null,8,be)):O.src?(vue.openBlock(),vue.createElementBlock("img",{key:3,src:O.src,alt:O.decorative?"":O.ariaLabel||"Icon"},null,8,Be)):vue.createCommentVNode("",!0)],16))}}),F$1=w(Ce,[["__scopeId","data-v-55074cbf"]]),ke={key:1},Re=vue.defineComponent({__name:"ActionContent",props:{iconRight:{type:Boolean,default:!1},iconOnly:{type:Boolean,default:!1},inline:{type:Boolean},text:{default:void 0},size:{default:void 0},shadow:{type:Boolean},iconDefinition:{},iconClass:{},src:{},svgRaw:{},variant:{}},setup(De){const O=De,M=vue.computed(()=>O.iconDefinition||O.iconClass||O.src||O.svgRaw),V=vue.computed(()=>({iconDefinition:O.iconDefinition,iconClass:O.iconClass,src:O.src,svgRaw:O.svgRaw,size:O.iconOnly?O.size:void 0,decorative:!0,class:"icon",inline:O.inline??!O.iconOnly,shadow:O.shadow}));return(ue,$)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[M.value&&!O.iconRight?(vue.openBlock(),vue.createBlock(F$1,vue.normalizeProps(vue.mergeProps({key:0},V.value)),null,16)):vue.createCommentVNode("",!0),O.iconOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("span",ke,[vue.renderSlot(ue.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])])),M.value&&O.iconRight?(vue.openBlock(),vue.createBlock(F$1,vue.normalizeProps(vue.mergeProps({key:2},V.value)),null,16)):vue.createCommentVNode("",!0)],64))}}),P=De=>"to"in De&&De.to!==void 0;function Ie(){const De=vue.inject("router",null),O=vue.computed(()=>De!==null);return{router:De,hasRouter:O}}const Ee=vue.defineComponent({__name:"BaseLink",props:{to:{},href:{},target:{},rel:{},disabled:{type:Boolean},ariaLabel:{},className:{}},setup(De){const O=De,{hasRouter:M}=Ie(),V=vue.computed(()=>P(O)&&M.value?vue.resolveComponent("RouterLink"):"a"),ue=vue.computed(()=>P(O)?{to:O.disabled?void 0:O.to,...O.disabled&&{"aria-disabled":"true"},...O.ariaLabel&&{"aria-label":O.ariaLabel}}:{href:O.disabled?void 0:O.href,...O.target&&{target:O.target},...O.rel&&{rel:O.rel},...O.disabled&&{"aria-disabled":"true"},...O.ariaLabel&&{"aria-label":O.ariaLabel}});return($,me)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(V.value),vue.mergeProps({class:De.className},ue.value),{default:vue.withCtx(()=>[vue.renderSlot($.$slots,"default")]),_:3},16,["class"]))}});vue.ref({});vue.ref();vue.ref(null);var q={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},G=q;const F=["disabled"],H=vue.defineComponent({inheritAttrs:!1,__name:"PhlButton",props:{href:{},to:{},target:{},rel:{},disabled:{type:Boolean,default:!1},clickTarget:{},variant:{default:"primary"},size:{default:"medium"},iconOnly:{type:Boolean,default:!1},iconRight:{type:Boolean},text:{},className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{}},setup(De){const O=De,M=me=>"href"in me&&me.href!==void 0||"to"in me&&me.to!==void 0,V=vue.computed(()=>ve("phila-button",`phila-button--${O.variant}`,O.size&&`is-${O.size}`,O.iconOnly&&"icon-button",O.iconOnly&&O.variant==="standard"&&"icon-button--standard",O.className)),ue=vue.computed(()=>M(O)?"to"in O&&O.to!==void 0?{to:O.to,disabled:O.disabled,className:V.value}:{href:O.href,target:O.target,rel:O.rel,disabled:O.disabled,className:V.value}:{}),$=vue.computed(()=>({iconDefinition:O.iconDefinition,iconClass:O.iconClass,src:O.src,iconRight:O.iconRight,iconOnly:O.iconOnly,text:O.text,size:O.size}));return(me,fe)=>M(O)?(vue.openBlock(),vue.createBlock(vue.unref(Ee),vue.mergeProps({key:0},{...ue.value,...me.$attrs},{role:"button"}),{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)]),_:3},16)):(vue.openBlock(),vue.createElementBlock("button",vue.mergeProps({key:1,type:"button",disabled:O.disabled,class:V.value},me.$attrs),[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)],16,F))}});var J={prefix:"fas",iconName:"circle-exclamation",icon:[512,512,["exclamation-circle"],"f06a","M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-192a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.6 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z"]},Q=J,W={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]},X=W;const Y=["for"],Z={class:"state-layer"},ee={class:"content"},ae={class:"input-text-container"},te=["id","placeholder","aria-label"],le={key:1,class:"has-text-body-small phila-supporting-text"},ie={key:2,class:"has-text-body-small phila-error-text"},ne=vue.defineComponent({inheritAttrs:!1,__name:"TextField",props:{modelValue:{default:void 0},className:{default:""},label:{default:""},id:{default:`phila-text-field-${Math.random().toString(36).substring(2,9)}`},supportingText:{default:""},placeholder:{default:""},leadingIcon:{default:""},trailingIcon:{default:""},error:{default(){return[]}}},emits:["update:modelValue"],setup(De,{emit:O}){const M=vue.useAttrs(),V=De,ue=vue.computed(()=>typeof V.error=="string"?V.error:V.error[0]),$=vue.toRef(V,"id"),me=O,fe=vue.ref(""),he=vue.computed({get:()=>V.modelValue!==void 0?V.modelValue:fe.value,set:_e=>{me("update:modelValue",_e),fe.value=_e}}),ye=vue.computed(()=>{const _e=["default-class"];return M.disabled!=null&&_e.push("phila-input--disabled"),ue.value&&_e.push("phila-input--error"),M.required!=null&&_e.push("phila-input--required"),ve(..._e)}),re=vue.computed(()=>{const _e=[];return he.value!==""&&_e.push("phila-text-field--filled"),V.className&&_e.push(V.className),ve(..._e)}),ce=vue.computed(()=>{if(!(V.label||M["aria-label"]))return V.placeholder||void 0}),pe=vue.ref(null),ge=_e=>{_e.target.closest("button")||pe.value?.focus()};return(_e,we)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["phila-input",ye.value])},[V.label?(vue.openBlock(),vue.createElementBlock("label",{key:0,for:$.value,class:"has-text-label-small phila-label"},vue.toDisplayString(V.label),9,Y)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["phila-text-field",re.value]),onClick:ge},[vue.createElementVNode("div",Z,[V.leadingIcon?(vue.openBlock(),vue.createBlock(vue.unref(F$1),{key:0,"icon-class":V.leadingIcon,inline:"",decorative:""},null,8,["icon-class"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",ee,[vue.createElementVNode("div",ae,[vue.withDirectives(vue.createElementVNode("input",vue.mergeProps({id:$.value,ref_key:"inputRef",ref:pe,"onUpdate:modelValue":we[0]||(we[0]=Se=>he.value=Se),class:"phila-text-field-input has-text-body-default",placeholder:V.placeholder,"aria-label":ce.value},vue.unref(M)),null,16,te),[[vue.vModelDynamic,he.value]])])]),he.value!=""?(vue.openBlock(),vue.createBlock(vue.unref(H),{key:1,variant:"standard",size:"small","icon-only":"","icon-definition":vue.unref(X),onClick:we[1]||(we[1]=Se=>he.value="")},null,8,["icon-definition"])):vue.createCommentVNode("",!0),V.trailingIcon?(vue.openBlock(),vue.createBlock(vue.unref(F$1),{key:2,size:"small","icon-class":V.trailingIcon,inline:"",decorative:""},null,8,["icon-class"])):vue.createCommentVNode("",!0),vue.renderSlot(_e.$slots,"trailing-action")])],2),V.supportingText?(vue.openBlock(),vue.createElementBlock("div",le,vue.toDisplayString(V.supportingText),1)):vue.createCommentVNode("",!0),ue.value?(vue.openBlock(),vue.createElementBlock("div",ie,[vue.createVNode(vue.unref(F$1),{"icon-definition":vue.unref(Q),size:"small",inline:"",decorative:""},null,8,["icon-definition"]),vue.createTextVNode(" "+vue.toDisplayString(ue.value),1)])):vue.createCommentVNode("",!0)],2))}}),se=["disabled"],oe=vue.defineComponent({inheritAttrs:!1,__name:"PhlButton",props:{href:{},to:{},target:{},rel:{},disabled:{type:Boolean,default:!1},clickTarget:{},variant:{default:"primary"},size:{default:"medium"},iconOnly:{type:Boolean,default:!1},iconRight:{type:Boolean},text:{},className:{},iconDefinition:{},iconClass:{},src:{},svgRaw:{}},setup(De){const O=De,M=me=>"href"in me&&me.href!==void 0||"to"in me&&me.to!==void 0,V=vue.computed(()=>ve("phila-button",`phila-button--${O.variant}`,O.size&&`is-${O.size}`,O.iconOnly&&"icon-button",O.iconOnly&&O.variant==="standard"&&"icon-button--standard",O.className)),ue=vue.computed(()=>M(O)?"to"in O&&O.to!==void 0?{to:O.to,disabled:O.disabled,className:V.value}:{href:O.href,target:O.target,rel:O.rel,disabled:O.disabled,className:V.value}:{}),$=vue.computed(()=>({iconDefinition:O.iconDefinition,iconClass:O.iconClass,src:O.src,iconRight:O.iconRight,iconOnly:O.iconOnly,text:O.text,size:O.size}));return(me,fe)=>M(O)?(vue.openBlock(),vue.createBlock(vue.unref(Ee),vue.mergeProps({key:0},{...ue.value,...me.$attrs},{role:"button"}),{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)]),_:3},16)):(vue.openBlock(),vue.createElementBlock("button",vue.mergeProps({key:1,type:"button",disabled:O.disabled,class:V.value},me.$attrs),[vue.createVNode(vue.unref(Re),vue.normalizeProps(vue.guardReactiveProps($.value)),{default:vue.withCtx(()=>[vue.renderSlot(me.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(O.text),1)])]),_:3},16)],16,se))}}),de=vue.defineComponent({inheritAttrs:!1,__name:"Search",props:{modelValue:{default:void 0},placeholder:{default:"Search by title or keyword"},className:{}},emits:["update:modelValue","search"],setup(De,{emit:O}){const M=vue.useAttrs(),V=De,ue=O,$=vue.computed({get:()=>V.modelValue,set:ye=>ue("update:modelValue",ye)}),me=vue.computed(()=>M["aria-label"]),fe=vue.computed(()=>Object.fromEntries(Object.entries(M).filter(([ye])=>ye!=="aria-label"))),he=vue.computed(()=>ve("default-class",V.className));return(ye,re)=>(vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({class:["search",he.value]},fe.value),[vue.createVNode(vue.unref(ne),{modelValue:$.value,"onUpdate:modelValue":re[1]||(re[1]=ce=>$.value=ce),"class-name":"phila-text-field--search",placeholder:De.placeholder,"aria-label":me.value,onKeydown:re[2]||(re[2]=vue.withKeys(ce=>ue("search"),["enter"]))},{"trailing-action":vue.withCtx(()=>[vue.createVNode(vue.unref(oe),{variant:"standard",size:"small","icon-only":"","icon-definition":vue.unref(G),"aria-label":"Search","class-name":"phila-button--search",onClick:re[0]||(re[0]=ce=>ue("search"))},null,8,["icon-definition"])]),_:1},8,["modelValue","placeholder","aria-label"])],16))}}),_hoisted_1$e=["aria-busy"],_hoisted_2$7={key:0,role:"alert",class:"map-search-error"},_hoisted_3$6={"aria-live":"polite",class:"sr-only"},_hoisted_4$2={key:0},_sfc_main$p=vue.defineComponent({__name:"MapSearchControl",props:{position:{default:"top-left"},placeholder:{default:"Search for an address"},geocode:{type:Boolean,default:!0},centerOnResult:{type:Boolean,default:!0},searchZoom:{default:17}},emits:["search","result","error"],setup(De,{expose:O,emit:M}){const V=De,ue=M,$=vue.inject("map"),me=vue.ref(null),fe=vue.ref(""),he=vue.ref(!1),ye=vue.ref(null),re=async()=>{const ce=fe.value.trim();if(ue("search",ce),!!ce&&V.geocode){he.value=!0,ye.value=null;try{const ge=await(await fetch(`https://api.phila.gov/ais/v1/search/${encodeURIComponent(ce)}?include_units=false`)).json();if(ge.features&&ge.features.length>0){const _e=ge.features[0];if(ue("result",_e),V.centerOnResult&&$?.value&&_e.geometry?.coordinates){const[we,Se]=_e.geometry.coordinates;$.value.setCenter([we,Se]),$.value.setZoom(V.searchZoom)}}else ye.value="No results found",ue("error",ye.value)}catch(pe){ye.value=pe instanceof Error?pe.message:"Failed to geocode address",ue("error",ye.value)}finally{he.value=!1}}};return useMapControl.useMapControl(V,me),O({loading:he,error:ye,searchQuery:fe}),(ce,pe)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerElement",ref:me,class:"maplibregl-ctrl map-search-control",role:"search","aria-label":"Search for an address","aria-busy":he.value},[vue.createVNode(vue.unref(de),{modelValue:fe.value,"onUpdate:modelValue":pe[0]||(pe[0]=ge=>fe.value=ge),placeholder:V.placeholder,"aria-label":"Search the map",onSearch:re},null,8,["modelValue","placeholder"]),ye.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$7,"⚠ "+vue.toDisplayString(ye.value),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$6,[he.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$2,"Searching...")):vue.createCommentVNode("",!0)])],8,_hoisted_1$e))}});function _arrayLikeToArray(De,O){(O==null||O>De.length)&&(O=De.length);for(var M=0,V=Array(O);M<O;M++)V[M]=De[M];return V}function _arrayWithoutHoles(De){if(Array.isArray(De))return _arrayLikeToArray(De)}function _defineProperty(De,O,M){return(O=_toPropertyKey(O))in De?Object.defineProperty(De,O,{value:M,enumerable:!0,configurable:!0,writable:!0}):De[O]=M,De}function _iterableToArray(De){if(typeof Symbol<"u"&&De[Symbol.iterator]!=null||De["@@iterator"]!=null)return Array.from(De)}function _nonIterableSpread(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
558
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ownKeys(De,O){var M=Object.keys(De);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(De);O&&(V=V.filter(function(ue){return Object.getOwnPropertyDescriptor(De,ue).enumerable})),M.push.apply(M,V)}return M}function _objectSpread2(De){for(var O=1;O<arguments.length;O++){var M=arguments[O]!=null?arguments[O]:{};O%2?ownKeys(Object(M),!0).forEach(function(V){_defineProperty(De,V,M[V])}):Object.getOwnPropertyDescriptors?Object.defineProperties(De,Object.getOwnPropertyDescriptors(M)):ownKeys(Object(M)).forEach(function(V){Object.defineProperty(De,V,Object.getOwnPropertyDescriptor(M,V))})}return De}function _objectWithoutProperties(De,O){if(De==null)return{};var M,V,ue=_objectWithoutPropertiesLoose(De,O);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(De);for(V=0;V<$.length;V++)M=$[V],O.indexOf(M)===-1&&{}.propertyIsEnumerable.call(De,M)&&(ue[M]=De[M])}return ue}function _objectWithoutPropertiesLoose(De,O){if(De==null)return{};var M={};for(var V in De)if({}.hasOwnProperty.call(De,V)){if(O.indexOf(V)!==-1)continue;M[V]=De[V]}return M}function _toConsumableArray(De){return _arrayWithoutHoles(De)||_iterableToArray(De)||_unsupportedIterableToArray(De)||_nonIterableSpread()}function _toPrimitive(De,O){if(typeof De!="object"||!De)return De;var M=De[Symbol.toPrimitive];if(M!==void 0){var V=M.call(De,O);if(typeof V!="object")return V;throw new TypeError("@@toPrimitive must return a primitive value.")}return(O==="string"?String:Number)(De)}function _toPropertyKey(De){var O=_toPrimitive(De,"string");return typeof O=="symbol"?O:O+""}function _typeof(De){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},_typeof(De)}function _unsupportedIterableToArray(De,O){if(De){if(typeof De=="string")return _arrayLikeToArray(De,O);var M={}.toString.call(De).slice(8,-1);return M==="Object"&&De.constructor&&(M=De.constructor.name),M==="Map"||M==="Set"?Array.from(De):M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M)?_arrayLikeToArray(De,O):void 0}}function objectWithKey(De,O){return Array.isArray(O)&&O.length>0||!Array.isArray(O)&&O?_defineProperty({},De,O):{}}function classList(De){var O,M=(O={"fa-spin":De.spin,"fa-pulse":De.pulse,"fa-fw":De.fixedWidth,"fa-border":De.border,"fa-li":De.listItem,"fa-inverse":De.inverse,"fa-flip":De.flip===!0,"fa-flip-horizontal":De.flip==="horizontal"||De.flip==="both","fa-flip-vertical":De.flip==="vertical"||De.flip==="both"},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(O,"fa-".concat(De.size),De.size!==null),"fa-rotate-".concat(De.rotation),De.rotation!==null),"fa-rotate-by",De.rotateBy),"fa-pull-".concat(De.pull),De.pull!==null),"fa-swap-opacity",De.swapOpacity),"fa-bounce",De.bounce),"fa-shake",De.shake),"fa-beat",De.beat),"fa-fade",De.fade),"fa-beat-fade",De.beatFade),_defineProperty(_defineProperty(_defineProperty(_defineProperty(O,"fa-flash",De.flash),"fa-spin-pulse",De.spinPulse),"fa-spin-reverse",De.spinReverse),"fa-width-auto",De.widthAuto));return Object.keys(M).map(function(V){return M[V]?V:null}).filter(function(V){return V})}var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},humps$1={exports:{}};(function(De){(function(O){var M=function(xe,je,Me){if(!ye(je)||ce(je)||pe(je)||ge(je)||he(je))return je;var Ae,Pe=0,Le=0;if(re(je))for(Ae=[],Le=je.length;Pe<Le;Pe++)Ae.push(M(xe,je[Pe],Me));else{Ae={};for(var Oe in je)Object.prototype.hasOwnProperty.call(je,Oe)&&(Ae[xe(Oe,Me)]=M(xe,je[Oe],Me))}return Ae},V=function(xe,je){je=je||{};var Me=je.separator||"_",Ae=je.split||/(?=[A-Z])/;return xe.split(Ae).join(Me)},ue=function(xe){return _e(xe)?xe:(xe=xe.replace(/[\-_\s]+(.)?/g,function(je,Me){return Me?Me.toUpperCase():""}),xe.substr(0,1).toLowerCase()+xe.substr(1))},$=function(xe){var je=ue(xe);return je.substr(0,1).toUpperCase()+je.substr(1)},me=function(xe,je){return V(xe,je).toLowerCase()},fe=Object.prototype.toString,he=function(xe){return typeof xe=="function"},ye=function(xe){return xe===Object(xe)},re=function(xe){return fe.call(xe)=="[object Array]"},ce=function(xe){return fe.call(xe)=="[object Date]"},pe=function(xe){return fe.call(xe)=="[object RegExp]"},ge=function(xe){return fe.call(xe)=="[object Boolean]"},_e=function(xe){return xe=xe-0,xe===xe},we=function(xe,je){var Me=je&&"process"in je?je.process:je;return typeof Me!="function"?xe:function(Ae,Pe){return Me(Ae,xe,Pe)}},Se={camelize:ue,decamelize:me,pascalize:$,depascalize:me,camelizeKeys:function(xe,je){return M(we(ue,je),xe)},decamelizeKeys:function(xe,je){return M(we(me,je),xe,je)},pascalizeKeys:function(xe,je){return M(we($,je),xe)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};De.exports?De.exports=Se:O.humps=Se})(commonjsGlobal$1)})(humps$1);var humps=humps$1.exports,_excluded=["class","style"];function styleToObject(De){return De.split(";").map(function(O){return O.trim()}).filter(function(O){return O}).reduce(function(O,M){var V=M.indexOf(":"),ue=humps.camelize(M.slice(0,V)),$=M.slice(V+1).trim();return O[ue]=$,O},{})}function classToObject(De){return De.split(/\s+/).reduce(function(O,M){return O[M]=!0,O},{})}function convert(De){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof De=="string")return De;var V=(De.children||[]).map(function(he){return convert(he)}),ue=Object.keys(De.attributes||{}).reduce(function(he,ye){var re=De.attributes[ye];switch(ye){case"class":he.class=classToObject(re);break;case"style":he.style=styleToObject(re);break;default:he.attrs[ye]=re}return he},{attrs:{},class:{},style:{}});M.class;var $=M.style,me=$===void 0?{}:$,fe=_objectWithoutProperties(M,_excluded);return vue.h(De.tag,_objectSpread2(_objectSpread2(_objectSpread2({},O),{},{class:ue.class,style:_objectSpread2(_objectSpread2({},ue.style),me)},ue.attrs),fe),V)}var PRODUCTION=!1;try{PRODUCTION=process.env.NODE_ENV==="production"}catch{}function log(){if(!PRODUCTION&&console&&typeof console.error=="function"){var De;(De=console).error.apply(De,arguments)}}function normalizeIconArgs(De){if(De&&_typeof(De)==="object"&&De.prefix&&De.iconName&&De.icon)return De;if(parse$1.icon)return parse$1.icon(De);if(De===null)return null;if(_typeof(De)==="object"&&De.prefix&&De.iconName)return De;if(Array.isArray(De)&&De.length===2)return{prefix:De[0],iconName:De[1]};if(typeof De=="string")return{prefix:"fas",iconName:De}}var FontAwesomeIcon=vue.defineComponent({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(O){return[!0,!1,"horizontal","vertical","both"].indexOf(O)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(O){return["right","left"].indexOf(O)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(O){return[90,180,270].indexOf(Number.parseInt(O,10))>-1}},rotateBy:{type:Boolean,default:!1},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(O){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(O)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},widthAuto:{type:Boolean,default:!1}},setup:function(O,M){var V=M.attrs,ue=vue.computed(function(){return normalizeIconArgs(O.icon)}),$=vue.computed(function(){return objectWithKey("classes",classList(O))}),me=vue.computed(function(){return objectWithKey("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){return objectWithKey("mask",normalizeIconArgs(O.mask))}),he=vue.computed(function(){var re=_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({},$.value),me.value),fe.value),{},{symbol:O.symbol,maskId:O.maskId});return re.title=O.title,re.titleId=O.titleId,icon(ue.value,re)});vue.watch(he,function(re){if(!re)return log("Could not find one or more icon(s)",ue.value,fe.value)},{immediate:!0});var ye=vue.computed(function(){return he.value?convert(he.value.abstract[0],{},V):null});return function(){return ye.value}}});vue.defineComponent({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(O,M){var V=M.slots,ue=config$1.familyPrefix,$=vue.computed(function(){return["".concat(ue,"-layers")].concat(_toConsumableArray(O.fixedWidth?["".concat(ue,"-fw")]:[]))});return function(){return vue.h("div",{class:$.value},V.default?V.default():[])}}});vue.defineComponent({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(O){return["bottom-left","bottom-right","top-left","top-right"].indexOf(O)>-1}}},setup:function(O,M){var V=M.attrs,ue=config$1.familyPrefix,$=vue.computed(function(){return objectWithKey("classes",[].concat(_toConsumableArray(O.counter?["".concat(ue,"-layers-counter")]:[]),_toConsumableArray(O.position?["".concat(ue,"-layers-").concat(O.position)]:[])))}),me=vue.computed(function(){return objectWithKey("transform",typeof O.transform=="string"?parse$1.transform(O.transform):O.transform)}),fe=vue.computed(function(){var ye=text(O.value.toString(),_objectSpread2(_objectSpread2({},me.value),$.value)),re=ye.abstract;return O.counter&&(re[0].attributes.class=re[0].attributes.class.replace("fa-layers-text","")),re[0]}),he=vue.computed(function(){return convert(fe.value,{},V)});return function(){return he.value}}});const _hoisted_1$d=["title","aria-label","aria-pressed"],_sfc_main$o=vue.defineComponent({__name:"MapButton",props:{icon:{default:void 0},image:{default:""},imagePadding:{default:0},position:{default:"top-right"},title:{default:""},iconSize:{default:18},toggleable:{type:Boolean,default:!1},active:{type:Boolean,default:!1},activeColor:{default:"#ffcc80"},className:{}},emits:["click"],setup(De,{emit:O}){const M=De,V=O,ue=vue.useSlots(),$=vue.ref(null),me=()=>{V("click")},fe=vue.computed(()=>!!ue.default),he=vue.computed(()=>M.position?.includes("right")),ye=vue.computed(()=>{const re={};return M.image&&(re.backgroundImage=`url("${M.image}")`,re.backgroundPosition="center",re.backgroundRepeat="no-repeat",M.imagePadding>0?(re.backgroundSize="contain",re.backgroundOrigin="content-box",re.padding=`${M.imagePadding}px`):(re.backgroundSize="cover",re.width=`${M.iconSize}px`,re.height=`${M.iconSize}px`)),M.toggleable&&M.active&&(re.backgroundColor=M.activeColor),re});return vue.onMounted(()=>{}),useMapControl.useMapControl(M,$),(re,ce)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerElement",ref:$,class:vue.normalizeClass(["maplibregl-ctrl",fe.value?"map-button-wrapper":"maplibregl-ctrl-group"])},[he.value?vue.renderSlot(re.$slots,"default",{key:0}):vue.createCommentVNode("",!0),vue.createElementVNode("button",{class:vue.normalizeClass(["map-button",{"has-image":M.image}]),type:"button",title:M.title,"aria-label":M.title,"aria-pressed":M.toggleable?String(M.active):void 0,style:vue.normalizeStyle(ye.value),onClick:me},[M.icon&&!M.image?(vue.openBlock(),vue.createBlock(vue.unref(FontAwesomeIcon),{key:0,icon:M.icon,style:vue.normalizeStyle({fontSize:`${M.iconSize}px`}),"aria-hidden":"true"},null,8,["icon","style"])):vue.createCommentVNode("",!0)],14,_hoisted_1$d),he.value?vue.createCommentVNode("",!0):vue.renderSlot(re.$slots,"default",{key:1})],2))}});var faUpRightFromSquare={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M290.4 19.8C295.4 7.8 307.1 0 320 0L480 0c17.7 0 32 14.3 32 32l0 160c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9L400 157.3 246.6 310.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L354.7 112 297.4 54.6c-9.2-9.2-11.9-22.9-6.9-34.9zM0 176c0-44.2 35.8-80 80-80l80 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-80 0c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-80c0-17.7 14.3-32 32-32s32 14.3 32 32l0 80c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80L0 176z"]},faChevronUp={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M201.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 173.3 54.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]},faChevronDown={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},faLocationCrosshairs={prefix:"fas",iconName:"location-crosshairs",icon:[576,512,["location"],"f601","M288-16c17.7 0 32 14.3 32 32l0 18.3c98.1 14 175.7 91.6 189.7 189.7l18.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-18.3 0c-14 98.1-91.6 175.7-189.7 189.7l0 18.3c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.3C157.9 463.7 80.3 386.1 66.3 288L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.3 0C80.3 125.9 157.9 48.3 256 34.3L256 16c0-17.7 14.3-32 32-32zM128 256a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm160-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"]};const _hoisted_1$c=["title","aria-expanded"],_hoisted_2$6={class:"dropdown-label"},_hoisted_3$5=["aria-checked","tabindex","onClick"],_sfc_main$n=vue.defineComponent({__name:"BasemapDropdown",props:{options:{},position:{default:"top-right"},selectedIndex:{default:0},useAsControl:{type:Boolean,default:!0},isDropUp:{type:Boolean,default:!1}},emits:["select"],setup(De,{expose:O,emit:M}){const V=vue.inject("handleBasemapChange",null),ue=De,$=M,me=vue.ref(!1),fe=vue.ref(ue.selectedIndex),he=vue.ref(-1),ye=vue.ref(null),re=vue.ref(null),ce=vue.ref([]),pe=vue.computed(()=>ue.options[fe.value]),ge=vue.computed(()=>ue.useAsControl?ue.position?.includes("bottom")||!1:ue.isDropUp);ue.useAsControl&&useMapControl.useMapControl(ue,ye);function _e(){me.value=!me.value,me.value?(he.value=fe.value,vue.nextTick(()=>Se(he.value))):he.value=-1}function we(){me.value=!1,he.value=-1,re.value?.focus()}function Se(Le){ce.value[Le]?.focus()}function xe(Le){(Le.key==="ArrowDown"||Le.key==="ArrowUp")&&(Le.preventDefault(),me.value||(me.value=!0,he.value=fe.value,vue.nextTick(()=>Se(he.value))))}function je(Le){switch(Le.key){case"Escape":Le.preventDefault(),we();break;case"ArrowDown":Le.preventDefault(),he.value=(he.value+1)%ue.options.length,Se(he.value);break;case"ArrowUp":Le.preventDefault(),he.value=(he.value-1+ue.options.length)%ue.options.length,Se(he.value);break;case"Home":Le.preventDefault(),he.value=0,Se(he.value);break;case"End":Le.preventDefault(),he.value=ue.options.length-1,Se(he.value);break;case"Tab":we();break}}function Me(Le,Oe){Le&&(ce.value[Oe]=Le)}function Ae(Le,Oe){if(fe.value=Oe,me.value=!1,he.value=-1,re.value?.focus(),$("select",Le,Oe),V){const Ne={showImagery:!0,imageryUrl:Le.imageryUrl,imageryLabelsUrl:Le.imageryLabelsUrl,showLabels:Le.showLabels??!0};V(Ne)}}function Pe(Le){ye.value&&!ye.value.contains(Le.target)&&(me.value=!1,he.value=-1)}return vue.onMounted(()=>{if(document.addEventListener("click",Pe),V&&ue.options.length>0){const Le=ue.options[fe.value];if(Le){const Oe={showImagery:!0,imageryUrl:Le.imageryUrl,imageryLabelsUrl:Le.imageryLabelsUrl,showLabels:Le.showLabels??!0};V(Oe)}}}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",Pe)}),O({isOpen:me,selectedIndex:fe,selectedOption:pe,toggleDropdown:_e,closeDropdown:we}),(Le,Oe)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:ye,class:vue.normalizeClass(["basemap-dropdown-control-wrapper",{"maplibregl-ctrl":De.useAsControl,"drop-up":ge.value,"standalone-control":De.useAsControl,"embedded-control":!De.useAsControl}])},[vue.createElementVNode("button",{ref_key:"toggleRef",ref:re,class:"basemap-dropdown-toggle",title:pe.value?.label||"Select basemap","aria-expanded":me.value,"aria-haspopup":"true",onClick:vue.withModifiers(_e,["stop"]),onKeydown:xe},[vue.createElementVNode("span",_hoisted_2$6,vue.toDisplayString(pe.value?.label||"Select"),1),vue.createVNode(vue.unref(FontAwesomeIcon),{icon:ge.value?vue.unref(faChevronUp):vue.unref(faChevronDown),class:vue.normalizeClass(["dropdown-icon",{open:me.value}]),"aria-hidden":"true"},null,8,["icon","class"])],40,_hoisted_1$c),me.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"basemap-dropdown-menu",role:"menu",onKeydown:je},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(De.options,(Ne,Ue)=>(vue.openBlock(),vue.createElementBlock("button",{key:Ue,ref_for:!0,ref:He=>Me(He,Ue),role:"menuitemradio","aria-checked":Ue===fe.value,tabindex:Ue===he.value?0:-1,class:vue.normalizeClass(["basemap-dropdown-item",{selected:Ue===fe.value}]),onClick:vue.withModifiers(He=>Ae(Ne,Ue),["stop"])},vue.toDisplayString(Ne.label),11,_hoisted_3$5))),128))],32)):vue.createCommentVNode("",!0)],2))}}),defaultImageryIcon="data:image/png;base64,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",defaultBasemapIcon="data:image/png;base64,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",imageryLabelsUrl="https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_Labels/MapServer/tile/{z}/{y}/{x}",imageryLabelsSource={tiles:[imageryLabelsUrl],type:"raster",tileSize:256},imageryParcelOutlinesSource={tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/PWDParcel_ImageryOverlay/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},imagerySources={2025:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2025_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2024:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2024_1in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2023:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2023/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2022:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2022_2in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2020:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2020_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2019:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2019_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2018:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2018_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2017:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2017_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2016:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2016_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2015:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2015_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2012:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2012_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2010:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2010_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2008:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2008_3in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},2004:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2004_6in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1996:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_1996_6in/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1962:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricLandUse_1962/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1942:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricLandUse_1942/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1910:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricBromleyAtlas_1910/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1895:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricBromleyAtlas_1895/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1875:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricGMHopkinsAtlas_1875/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},1860:{tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/HistoricHexamerLocherAtlas_1860/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256}},defaultBasemapSource={tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityBasemap/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},defaultLabelsSource={tiles:["https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityBasemap_Labels/MapServer/tile/{z}/{y}/{x}"],type:"raster",tileSize:256},defaultImageryOptions=[{label:"2025",year:"2025",imageryUrl:imagerySources[2025].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2024",year:"2024",imageryUrl:imagerySources[2024].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2023",year:"2023",imageryUrl:imagerySources[2023].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2022",year:"2022",imageryUrl:imagerySources[2022].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2020",year:"2020",imageryUrl:imagerySources[2020].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2019",year:"2019",imageryUrl:imagerySources[2019].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2018",year:"2018",imageryUrl:imagerySources[2018].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2017",year:"2017",imageryUrl:imagerySources[2017].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2016",year:"2016",imageryUrl:imagerySources[2016].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2015",year:"2015",imageryUrl:imagerySources[2015].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2012",year:"2012",imageryUrl:imagerySources[2012].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2010",year:"2010",imageryUrl:imagerySources[2010].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2008",year:"2008",imageryUrl:imagerySources[2008].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"2004",year:"2004",imageryUrl:imagerySources[2004].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"1996",year:"1996",imageryUrl:imagerySources[1996].tiles[0],imageryLabelsUrl,showLabels:!0},{label:"1962",year:"1962",imageryUrl:imagerySources[1962].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1942",year:"1942",imageryUrl:imagerySources[1942].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1910",year:"1910",imageryUrl:imagerySources[1910].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1895",year:"1895",imageryUrl:imagerySources[1895].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1875",year:"1875",imageryUrl:imagerySources[1875].tiles[0],imageryLabelsUrl:null,showLabels:!1},{label:"1860",year:"1860",imageryUrl:imagerySources[1860].tiles[0],imageryLabelsUrl:null,showLabels:!1}],_sfc_main$m=vue.defineComponent({__name:"BasemapToggle",props:{position:{default:"top-right"},imageryUrl:{default:"https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_2024_1in/MapServer/tile/{z}/{y}/{x}"},imageryLabelsUrl:{default:"https://tiles.arcgis.com/tiles/fLeGjb7u4uXqeF9q/arcgis/rest/services/CityImagery_Labels/MapServer/tile/{z}/{y}/{x}"},iconImage:{},basemapImage:{},title:{default:"Toggle Imagery"},iconSize:{default:29},showDropdown:{type:Boolean,default:!1},dropdownOptions:{default:()=>defaultImageryOptions},className:{}},emits:["change"],setup(De,{emit:O}){const M=vue.inject("handleBasemapChange",null),V=De,ue=O,$=vue.ref(!1),me=vue.ref(V.imageryUrl),fe=vue.ref(V.imageryLabelsUrl??null),he=vue.ref(V.dropdownOptions?.[0]?.showLabels??!0),ye=vue.ref(0),re=vue.ref(V.iconImage??defaultImageryIcon);function ce(){$.value=!$.value;let ge;$.value?(re.value=V.basemapImage??defaultBasemapIcon,ge={showImagery:!0,imageryUrl:me.value,imageryLabelsUrl:fe.value,showLabels:he.value}):(re.value=V.iconImage??defaultImageryIcon,ge={showImagery:!1,imageryUrl:null,imageryLabelsUrl:null,showLabels:!0}),ue("change",ge),M&&M(ge)}function pe(ge,_e){if(ye.value=_e,me.value=ge.imageryUrl,fe.value=ge.imageryLabelsUrl,he.value=ge.showLabels??!0,$.value){const we={showImagery:!0,imageryUrl:ge.imageryUrl,imageryLabelsUrl:ge.imageryLabelsUrl,showLabels:ge.showLabels??!0};ue("change",we),M&&M(we)}}return(ge,_e)=>(vue.openBlock(),vue.createBlock(_sfc_main$o,{image:re.value,position:V.position,title:V.title,"icon-size":V.iconSize,onClick:ce},{default:vue.withCtx(()=>[De.showDropdown&&De.dropdownOptions.length>0&&$.value?(vue.openBlock(),vue.createBlock(_sfc_main$n,{key:0,options:De.dropdownOptions,"selected-index":ye.value,"use-as-control":!1,"is-drop-up":De.position?.includes("bottom"),onSelect:pe},null,8,["options","selected-index","is-drop-up"])):vue.createCommentVNode("",!0)]),_:1},8,["image","position","title","icon-size"]))}}),_sfc_main$l=vue.defineComponent({__name:"MapNavigationControl",props:{position:{default:"top-right"},className:{}},setup(De){const O=De;return useMapControl.useMapControl(O,()=>new maplibregl.NavigationControl),(M,V)=>vue.renderSlot(M.$slots,"default")}}),_sfc_main$k=vue.defineComponent({__name:"GeolocationButton",props:{position:{default:"top-right"},icon:{},iconSize:{default:18},title:{default:"Show my location"},trackUser:{type:Boolean,default:!1},markerColor:{default:"#4285F4"},className:{}},emits:["located","error"],setup(De,{emit:O}){const M=De,V=M.icon||faLocationCrosshairs,ue=O,$=vue.inject("map"),me=vue.ref(!1),fe=vue.ref(!1);let he=null,ye=null;const re=(Se,xe)=>{if(!$?.value)return;const je=document.createElement("div");je.className="geolocation-marker",je.setAttribute("role","img"),je.setAttribute("aria-label","Your location"),je.innerHTML=`
559
559
  <div class="geolocation-marker-dot"></div>
560
560
  <div class="geolocation-marker-pulse"></div>
561
- `,he=new maplibregl.Marker({element:je}).setLngLat([Se,xe]).addTo($.value)},ce=(Se,xe)=>{he?he.setLngLat([Se,xe]):re(Se,xe)},pe=()=>{he&&(he.remove(),he=null)},ge=()=>{ye!==null&&(navigator.geolocation.clearWatch(ye),ye=null),fe.value=!1},_e=(Se,xe=!1)=>{if(!$?.value)return;const{longitude:je,latitude:Me,accuracy:Ae}=Se.coords;xe&&($.value.setCenter([je,Me]),$.value.setZoom(16)),ce(je,Me),ue("located",{longitude:je,latitude:Me,accuracy:Ae}),me.value=!1},we=()=>{if(!$?.value||!navigator.geolocation){ue("error",new Error("Geolocation not supported"));return}if(fe.value){ge(),pe();return}if(me.value=!0,M.trackUser){fe.value=!0;let Se=!0;ye=navigator.geolocation.watchPosition(xe=>{_e(xe,Se),Se=!1},xe=>{ue("error",xe),me.value=!1,ge()},{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})}else navigator.geolocation.getCurrentPosition(Se=>{_e(Se,!0)},Se=>{ue("error",Se),me.value=!1},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0})};return vue.onBeforeUnmount(()=>{ge(),pe()}),(Se,xe)=>(vue.openBlock(),vue.createBlock(_sfc_main$n,{icon:vue.unref(V),position:M.position,title:M.title,"icon-size":M.iconSize,onClick:we},null,8,["icon","position","title","icon-size"]))}}),_hoisted_1$b=["aria-label"],BASEMAP_CEILING_ID="basemap-ceiling",_sfc_main$i=vue.defineComponent({__name:"Map",props:{center:{default:()=>[-75.163613,39.952372]},zoom:{default:16},style:{default:()=>({version:8,sources:{},layers:[]})},minZoom:{default:0},maxZoom:{default:22},pitch:{default:0},bearing:{default:0},basemapUrl:{},labelsUrl:{},basemapChangeControls:{},navigationControls:{},geolocationControl:{},mapSearchControl:{},noDefaultTileLayers:{type:Boolean,default:!1},basemapBeforeId:{default:void 0},toolPanelLayout:{default:"vertical"},toolPanelSplitRatio:{default:50},cyclomediaConfig:{},enableCyclomedia:{type:Boolean,default:!1},cyclomediaButtonPosition:{default:"top-right"},pictometryCredentials:{},enablePictometry:{type:Boolean,default:!1},pictometryButtonPosition:{default:"top-right"},ariaLabel:{default:"Interactive map"},className:{}},emits:["load","click","move","moveend","zoom","searchResult"],setup(De,{expose:O,emit:M}){const V=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>CyclomediaButton$1)),ue=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>CyclomediaPanel$1)),$=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./CyclomediaRecordingsLayer-nj6QksTC.cjs"))),me=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./CyclomediaCameraIcon-Cub35yWj.cjs"))),fe=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./CyclomediaViewcone-BXvAQmFF.cjs"))),he=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>PictometryButton$1)),ye=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>PictometryPanel$1)),re=De,ce=M,pe=vue.ref(null),ge=vue.ref(null),_e=vue.ref(!1),we=vue.ref(re.center),Se=vue.ref(re.zoom),xe=vue.ref(re.pitch),je=vue.ref(re.bearing),Me=vue.ref(null),Ae=vue.ref(!1),Pe=vue.ref(defaultImageryOptions[0]?.imageryUrl||null),Le=vue.ref(defaultImageryOptions[0]?.imageryLabelsUrl||null),Oe=vue.ref(defaultImageryOptions[0]?.showLabels??!0),Ne=vue.ref(!1),Ue=vue.ref(null),He=vue.ref(!1),Ve=vue.ref(!1),Ge=vue.ref(null);function Ye(Rt,rn){Ue.value=Rt,Rt==="cyclomedia"?(He.value||(Ge.value=rn,He.value=!0),Ne.value=!0):Rt==="pictometry"&&(Ve.value||(Ge.value=rn,Ve.value=!0))}function Xe(){Ue.value=null,Ge.value=null,Ne.value=!1}function Ke(Rt){Rt.active?Ye(Rt.tool,Rt.location):Xe()}function Qe(Rt){Ke({tool:"cyclomedia",...Rt})}function tt(Rt){Ke({tool:"pictometry",...Rt})}const qe=vue.ref(null),nt=vue.ref(0),lt=vue.ref(80);function ct(Rt){qe.value=[Rt.lng,Rt.lat],nt.value=Rt.yaw??0,lt.value=Rt.hFov??80}function mt(Rt){Ue.value!=="cyclomedia"?Ye("cyclomedia",Rt):Ge.value={lng:Rt.lng,lat:Rt.lat}}function st(Rt){const rn=Rt.lonLat.lon,Gt=Rt.lonLat.lat;(Ge.value?.lng!==rn||Ge.value?.lat!==Gt)&&(Ge.value={lng:rn,lat:Gt})}function dt(Rt){return{type:"raster",tiles:[Rt.includes("{z}")?Rt:`${Rt}tile/{z}/{y}/{x}`],tileSize:256}}const wt=vue.computed(()=>Ae.value&&Pe.value?dt(Pe.value):re.basemapUrl?dt(re.basemapUrl):defaultBasemapSource),Pt=vue.computed(()=>Ae.value?Oe.value&&Le.value?dt(Le.value):null:re.labelsUrl!==void 0?re.labelsUrl===null?null:dt(re.labelsUrl):defaultLabelsSource);function pt(Rt){Ae.value=Rt.showImagery,Pe.value=Rt.imageryUrl,Le.value=Rt.imageryLabelsUrl,Oe.value=Rt.showLabels}function St(Rt){const[rn,Gt]=Rt.geometry.coordinates;Ge.value={lng:rn,lat:Gt},ce("searchResult",Rt)}const Vt=vue.computed(()=>re.basemapBeforeId||BASEMAP_CEILING_ID),jt=vue.computed(()=>Ue.value!==null),yt=vue.computed(()=>({"layout-vertical":re.toolPanelLayout==="vertical","layout-horizontal":re.toolPanelLayout==="horizontal"})),vt=vue.computed(()=>{if(!jt.value)return{width:"100%",height:"100%"};const rn=`${re.toolPanelSplitRatio??50}%`;return re.toolPanelLayout==="vertical"?{width:"100%",height:rn}:{width:rn,height:"100%"}}),Nt=vue.computed(()=>{const rn=`${100-(re.toolPanelSplitRatio??50)}%`;return re.toolPanelLayout==="vertical"?{width:"100%",height:rn}:{width:rn,height:"100%"}});vue.provide("map",ge),vue.provide("cyclomediaConfig",re.cyclomediaConfig||null),vue.provide("pictometryCredentials",re.pictometryCredentials||null),vue.provide("toolLocation",Ge),vue.provide("isLoaded",_e),vue.provide("handleBasemapChange",pt);const Wt=vue.ref(!1);vue.provide("isDrawing",Wt);const en=vue.ref(new Set),sn=Rt=>{en.value.add(Rt)};vue.provide("registerClickableLayer",sn);const on=Rt=>{en.value.delete(Rt)};return vue.provide("unregisterClickableLayer",on),vue.provide("cyclomediaActive",Ne),vue.provide("activeTool",Ue),vue.provide("toolLocation",Ge),vue.provide("handleToolToggle",Ke),vue.onMounted(()=>{pe.value&&(ge.value=new maplibregl.Map({container:pe.value,style:re.style,center:re.center,zoom:re.zoom,minZoom:re.minZoom,maxZoom:re.maxZoom,pitch:re.pitch,bearing:re.bearing,attributionControl:!1}),ge.value.on("load",()=>{_e.value=!0,ge.value&&ce("load",ge.value)}),ge.value.on("click",Rt=>{if(!Wt.value){if(en.value.size>0&&ge.value){const rn=Array.from(en.value).filter(Gt=>ge.value?.getLayer(Gt));if(rn.length>0&&ge.value.queryRenderedFeatures(Rt.point,{layers:rn}).length>0)return}ce("click",Rt)}}),ge.value.on("move",()=>{ge.value&&(we.value=ge.value.getCenter(),Se.value=ge.value.getZoom(),ce("move",{center:ge.value.getCenter(),zoom:ge.value.getZoom()}))}),ge.value.on("moveend",()=>{if(ge.value){const Rt=ge.value.getBounds();Me.value={west:Rt.getWest(),south:Rt.getSouth(),east:Rt.getEast(),north:Rt.getNorth()},ce("moveend",{center:ge.value.getCenter(),zoom:ge.value.getZoom(),bounds:Me.value})}}),ge.value.on("zoom",()=>{ge.value&&(Se.value=ge.value.getZoom(),ce("zoom",ge.value.getZoom()))}),ge.value.on("pitch",()=>{ge.value&&(xe.value=ge.value.getPitch())}),ge.value.on("rotate",()=>{ge.value&&(je.value=ge.value.getBearing())}))}),vue.watch(()=>re.center,Rt=>{ge.value&&Rt&&(ge.value.setCenter(Rt),we.value=Rt)}),vue.watch(()=>re.zoom,Rt=>{ge.value&&Rt!==void 0&&(ge.value.setZoom(Rt),Se.value=Rt)}),vue.watch(()=>re.pitch,Rt=>{ge.value&&Rt!==void 0&&(ge.value.setPitch(Rt),xe.value=Rt)}),vue.watch(()=>re.bearing,Rt=>{ge.value&&Rt!==void 0&&(ge.value.setBearing(Rt),je.value=Rt)}),vue.watch(()=>re.style,Rt=>{ge.value&&Rt&&ge.value.setStyle(Rt)}),vue.watch(()=>re.minZoom,Rt=>{ge.value&&Rt!==void 0&&ge.value.setMinZoom(Rt)}),vue.watch(()=>re.maxZoom,Rt=>{ge.value&&Rt!==void 0&&ge.value.setMaxZoom(Rt)}),vue.onBeforeUnmount(()=>{_e.value=!1,ge.value&&ge.value.remove()}),O({map:ge,isLoaded:_e,currentCenter:we,currentZoom:Se,currentPitch:xe,currentBearing:je,currentBounds:Me,activeTool:Ue,toolLocation:Ge,cyclomediaActive:Ne}),(Rt,rn)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["map-wrapper",yt.value])},[vue.createElementVNode("div",{ref_key:"mapContainer",ref:pe,class:"map-container",style:vue.normalizeStyle(vt.value),role:"region","aria-label":De.ariaLabel||void 0},[vue.createElementVNode("a",{href:"#",class:"map-keyboard-instructions",onClick:rn[0]||(rn[0]=vue.withModifiers(()=>{},["prevent"]))}," Use arrow keys to pan the map. Press + or - to zoom. Press Tab to exit. "),De.noDefaultTileLayers?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(_sfc_main$q,{key:0,id:"basemap",source:wt.value,"before-id":"basemap-labels"},null,8,["source"])),!De.noDefaultTileLayers&&Pt.value?(vue.openBlock(),vue.createBlock(_sfc_main$q,{key:1,id:"basemap-labels",source:Pt.value,"before-id":Vt.value},null,8,["source","before-id"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$p,{id:BASEMAP_CEILING_ID}),Ue.value==="cyclomedia"?(vue.openBlock(),vue.createBlock(vue.unref($),{key:2,visible:!0,"min-zoom":17,onRecordingClick:mt})):vue.createCommentVNode("",!0),De.enableCyclomedia&&Ue.value==="cyclomedia"&&qe.value?(vue.openBlock(),vue.createBlock(vue.unref(fe),{key:3,position:qe.value,yaw:nt.value,"h-fov":lt.value,"icon-size":.5},null,8,["position","yaw","h-fov"])):vue.createCommentVNode("",!0),De.enableCyclomedia&&Ue.value==="cyclomedia"&&qe.value?(vue.openBlock(),vue.createBlock(vue.unref(me),{key:4,position:qe.value,yaw:nt.value,"icon-size":.09},null,8,["position","yaw"])):vue.createCommentVNode("",!0),De.navigationControls?(vue.openBlock(),vue.createBlock(_sfc_main$k,{key:5,position:De.navigationControls.position},null,8,["position"])):vue.createCommentVNode("",!0),De.geolocationControl?(vue.openBlock(),vue.createBlock(_sfc_main$j,{key:6,position:De.geolocationControl.position},null,8,["position"])):vue.createCommentVNode("",!0),De.mapSearchControl?(vue.openBlock(),vue.createBlock(_sfc_main$o,{key:7,position:De.mapSearchControl.position,placeholder:De.mapSearchControl.placeholder??"Search for an address",onResult:St},null,8,["position","placeholder"])):vue.createCommentVNode("",!0),De.basemapChangeControls?.toggle?(vue.openBlock(),vue.createBlock(_sfc_main$l,{key:8,position:De.basemapChangeControls.position,"show-dropdown":De.basemapChangeControls.dropdown,onChange:pt},null,8,["position","show-dropdown"])):vue.createCommentVNode("",!0),De.enableCyclomedia?(vue.openBlock(),vue.createBlock(vue.unref(V),{key:9,position:De.cyclomediaButtonPosition,active:Ue.value==="cyclomedia",onToggle:Qe},null,8,["position","active"])):vue.createCommentVNode("",!0),De.enablePictometry?(vue.openBlock(),vue.createBlock(vue.unref(he),{key:10,position:De.pictometryButtonPosition,active:Ue.value==="pictometry",onToggle:tt},null,8,["position","active"])):vue.createCommentVNode("",!0),vue.renderSlot(Rt.$slots,"default",{},void 0,!0)],12,_hoisted_1$b),vue.withDirectives(vue.createElementVNode("div",{class:"tool-panel-container",style:vue.normalizeStyle(Nt.value),role:"region","aria-label":"Cyclomedia street view"},[He.value?(vue.openBlock(),vue.createBlock(vue.unref(ue),{key:0,"auto-open":!0,"pop-out-enabled":!0,onViewChange:ct})):vue.createCommentVNode("",!0)],4),[[vue.vShow,Ue.value==="cyclomedia"]]),vue.withDirectives(vue.createElementVNode("div",{class:"tool-panel-container",style:vue.normalizeStyle(Nt.value),role:"region","aria-label":"Pictometry oblique imagery"},[Ve.value?(vue.openBlock(),vue.createBlock(vue.unref(ye),{key:0,"auto-open":!0,"pop-out-enabled":!0,onViewChange:st})):vue.createCommentVNode("",!0)],4),[[vue.vShow,Ue.value==="pictometry"]])],2))}}),_export_sfc=(De,O)=>{const M=De.__vccOpts||De;for(const[V,ue]of O)M[V]=ue;return M},Map$1=_export_sfc(_sfc_main$i,[["__scopeId","data-v-df0e9ebf"]]),_sfc_main$h=vue.defineComponent({__name:"MapMarker",props:{lngLat:{},color:{default:"#FF0000"},popup:{default:void 0},draggable:{type:Boolean,default:!1},rotation:{default:0},offset:{default:void 0},icon:{default:void 0},iconSize:{default:24},iconColor:{default:void 0},ariaLabel:{default:void 0},className:{}},emits:["dragstart","drag","dragend"],setup(De,{emit:O}){const M=De,V=O,ue=vue.useSlots(),$=vue.ref(null),me=vue.inject("map"),fe=vue.inject("isLoaded");let he=null;const ye=()=>{if(!me||!me.value||!M.lngLat)return;const ce={draggable:M.draggable};if(ue.default&&$.value)ce.element=$.value,ce.anchor="bottom";else if(M.icon){const ge=document.createElement("div");ge.className="custom-marker",ge.innerHTML=`<i class="${M.icon}" style="font-size: ${M.iconSize}px; color: ${M.iconColor||M.color};"></i>`,ce.element=ge}else ce.color=M.color;if(M.rotation&&(ce.rotation=M.rotation),M.offset&&(ce.offset=M.offset),he=new maplibregl.Marker(ce).setLngLat(M.lngLat),M.popup){const ge=new maplibregl.Popup().setHTML(M.popup);he.setPopup(ge)}he.addTo(me.value);const pe=he.getElement();M.ariaLabel?(pe.setAttribute("role","img"),pe.setAttribute("aria-label",M.ariaLabel)):pe.setAttribute("aria-hidden","true"),M.draggable&&he&&(he.on("dragstart",()=>he&&V("dragstart",he.getLngLat())),he.on("drag",()=>he&&V("drag",he.getLngLat())),he.on("dragend",()=>he&&V("dragend",he.getLngLat())))},re=()=>{he&&(he.remove(),he=null)};return vue.watch(()=>M.lngLat,ce=>{ce&&he?he.setLngLat(ce):ce&&!he&&me?.value&&fe?.value?ye():!ce&&he&&re()},{deep:!0}),vue.watch(()=>fe?.value,ce=>{ce&&me?.value&&M.lngLat&&ye()},{immediate:!0}),vue.onBeforeUnmount(()=>{re()}),(ce,pe)=>ce.$slots.default?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"slotContainer",ref:$},[vue.renderSlot(ce.$slots,"default")],512)):vue.createCommentVNode("",!0)}}),_hoisted_1$a=["role","aria-label","aria-hidden"],_hoisted_2$5={class:"icon-circle"},_hoisted_3$4={key:0,class:"pin-text"},_sfc_main$g=vue.defineComponent({__name:"MapIconTextPin",props:{icon:{},text:{default:void 0},colorTheme:{default:"dark-primary"},size:{default:"large"},selected:{type:Boolean,default:!1},ariaLabel:{default:void 0},className:{}},emits:["mouseenter","mouseleave","click"],setup(De){return(O,M)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["map-icon-text-pin",[`theme-${De.colorTheme}`,`size-${De.size}`,{"icon-only":!De.text,selected:De.selected}]]),role:De.ariaLabel?"img":void 0,"aria-label":De.ariaLabel,"aria-hidden":De.ariaLabel?void 0:"true",onMouseenter:M[0]||(M[0]=V=>O.$emit("mouseenter",V)),onMouseleave:M[1]||(M[1]=V=>O.$emit("mouseleave",V)),onClick:M[2]||(M[2]=V=>O.$emit("click",V))},[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("i",{class:vue.normalizeClass([De.icon,"pin-icon"])},null,2)]),De.text?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$4,vue.toDisplayString(De.text),1)):vue.createCommentVNode("",!0)],42,_hoisted_1$a))}}),MapIconTextPin=_export_sfc(_sfc_main$g,[["__scopeId","data-v-1b273ffd"]]),FOCUSABLE_SELECTOR='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',_sfc_main$f=vue.defineComponent({__name:"MapPopup",props:{lngLat:{},html:{default:void 0},closeButton:{type:Boolean,default:!0},closeOnClick:{type:Boolean,default:!0},className:{default:void 0},maxWidth:{default:"300px"},offset:{default:void 0},anchor:{default:"bottom"},showNavigation:{type:Boolean,default:!1},currentFeatureIndex:{default:0},totalFeatures:{default:1},layerName:{default:void 0}},emits:["close","open","next","previous"],setup(De,{emit:O}){const M=De,V=O,ue=vue.useSlots(),$=vue.inject("map"),me=vue.inject("isLoaded");let fe=null;const he=vue.ref(null);let ye=null,re=null;const ce=()=>{if(!$?.value)return;const Se=document.activeElement;we(),ye=Se;const xe={closeButton:M.closeButton,closeOnClick:M.closeOnClick,maxWidth:M.maxWidth},Me=M.showNavigation&&M.totalFeatures&&M.totalFeatures>1?"multi-feature-popup":"";if((M.className||Me)&&(xe.className=[M.className,Me].filter(Boolean).join(" ")),M.offset&&(xe.offset=M.offset),M.anchor&&(xe.anchor=M.anchor),fe=new maplibregl.Popup(xe),ue.default&&he.value)fe.setDOMContent(he.value);else if(M.html){let Pe="";M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&(Pe+=pe()),Pe+=`<div class="popup-scroll-content">${M.html}</div>`,fe.setHTML(Pe),M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&setTimeout(()=>{ge()},0)}fe.setLngLat(M.lngLat),fe.addTo($.value),V("open"),fe.on("close",()=>{_e(),ye&&typeof ye.focus=="function"&&(ye.focus(),ye=null),V("close")});const Ae=fe.getElement();if(Ae){const Pe=Ae.querySelector(".maplibregl-popup-content");if(Pe){Pe.setAttribute("tabindex","-1"),Pe.setAttribute("role","dialog"),Pe.setAttribute("aria-label","Map popup"),Pe.focus({preventScroll:!0});const Oe=Pe.querySelector(".popup-scroll-content");Oe&&(Oe.scrollTop=0)}const Le=Ae.querySelector(".maplibregl-popup-close-button");Le&&!Le.getAttribute("aria-label")&&Le.setAttribute("aria-label","Close"),re=Oe=>{if(Oe.key==="Escape"){Oe.preventDefault(),fe?.remove();return}if(Oe.key==="Tab"){const Ne=Ae.querySelectorAll(FOCUSABLE_SELECTOR);if(Ne.length===0)return;const Ue=Ne[0],He=Ne[Ne.length-1];Oe.shiftKey?(document.activeElement===Ue||document.activeElement===Pe)&&(Oe.preventDefault(),He.focus()):document.activeElement===He&&(Oe.preventDefault(),Ue.focus())}},Ae.addEventListener("keydown",re)}},pe=()=>{const Se=M.layerName?`<div class="popup-layer-name">${M.layerName}</div>`:"",xe=(M.currentFeatureIndex??0)+1,je=M.totalFeatures??1,Me=(M.currentFeatureIndex??0)>0,Ae=(M.currentFeatureIndex??0)<je-1;return`
561
+ `,he=new maplibregl.Marker({element:je}).setLngLat([Se,xe]).addTo($.value)},ce=(Se,xe)=>{he?he.setLngLat([Se,xe]):re(Se,xe)},pe=()=>{he&&(he.remove(),he=null)},ge=()=>{ye!==null&&(navigator.geolocation.clearWatch(ye),ye=null),fe.value=!1},_e=(Se,xe=!1)=>{if(!$?.value)return;const{longitude:je,latitude:Me,accuracy:Ae}=Se.coords;xe&&($.value.setCenter([je,Me]),$.value.setZoom(16)),ce(je,Me),ue("located",{longitude:je,latitude:Me,accuracy:Ae}),me.value=!1},we=()=>{if(!$?.value||!navigator.geolocation){ue("error",new Error("Geolocation not supported"));return}if(fe.value){ge(),pe();return}if(me.value=!0,M.trackUser){fe.value=!0;let Se=!0;ye=navigator.geolocation.watchPosition(xe=>{_e(xe,Se),Se=!1},xe=>{ue("error",xe),me.value=!1,ge()},{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})}else navigator.geolocation.getCurrentPosition(Se=>{_e(Se,!0)},Se=>{ue("error",Se),me.value=!1},{enableHighAccuracy:!0,timeout:5e3,maximumAge:0})};return vue.onBeforeUnmount(()=>{ge(),pe()}),(Se,xe)=>(vue.openBlock(),vue.createBlock(_sfc_main$o,{icon:vue.unref(V),position:M.position,title:M.title,"icon-size":M.iconSize,onClick:we},null,8,["icon","position","title","icon-size"]))}}),_hoisted_1$b=["aria-label"],BASEMAP_CEILING_ID="basemap-ceiling",_sfc_main$j=vue.defineComponent({__name:"Map",props:{center:{default:()=>[-75.163613,39.952372]},zoom:{default:16},style:{default:()=>({version:8,sources:{},layers:[]})},minZoom:{default:0},maxZoom:{default:22},pitch:{default:0},bearing:{default:0},basemapUrl:{},labelsUrl:{},basemapChangeControls:{},navigationControls:{},geolocationControl:{},mapSearchControl:{},noDefaultTileLayers:{type:Boolean,default:!1},basemapBeforeId:{default:void 0},toolPanelLayout:{default:"vertical"},toolPanelSplitRatio:{default:50},cyclomediaConfig:{},enableCyclomedia:{type:Boolean,default:!1},cyclomediaButtonPosition:{default:"top-right"},pictometryCredentials:{},enablePictometry:{type:Boolean,default:!1},pictometryButtonPosition:{default:"top-right"},ariaLabel:{default:"Interactive map"},className:{}},emits:["load","click","move","moveend","zoom","searchResult"],setup(De,{expose:O,emit:M}){const V=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>CyclomediaButton$1)),ue=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>CyclomediaPanel$1)),$=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./CyclomediaRecordingsLayer-B2EXuGC4.cjs"))),me=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./CyclomediaCameraIcon-DPoOD62p.cjs"))),fe=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./CyclomediaViewcone-M6RVQbYh.cjs"))),he=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>PictometryButton$1)),ye=vue.defineAsyncComponent(()=>Promise.resolve().then(()=>PictometryPanel$1)),re=De,ce=M,pe=vue.ref(null),ge=vue.ref(null),_e=vue.ref(!1),we=vue.ref(re.center),Se=vue.ref(re.zoom),xe=vue.ref(re.pitch),je=vue.ref(re.bearing),Me=vue.ref(null),Ae=vue.ref(!1),Pe=vue.ref(defaultImageryOptions[0]?.imageryUrl||null),Le=vue.ref(defaultImageryOptions[0]?.imageryLabelsUrl||null),Oe=vue.ref(defaultImageryOptions[0]?.showLabels??!0),Ne=vue.ref(!1),Ue=vue.ref(null),He=vue.ref(!1),Ve=vue.ref(!1),Ge=vue.ref(null);function Ye(Rt,rn){Ue.value=Rt,Rt==="cyclomedia"?(He.value||(Ge.value=rn,He.value=!0),Ne.value=!0):Rt==="pictometry"&&(Ve.value||(Ge.value=rn,Ve.value=!0))}function Xe(){Ue.value=null,Ge.value=null,Ne.value=!1}function Ke(Rt){Rt.active?Ye(Rt.tool,Rt.location):Xe()}function Qe(Rt){Ke({tool:"cyclomedia",...Rt})}function tt(Rt){Ke({tool:"pictometry",...Rt})}const qe=vue.ref(null),nt=vue.ref(0),lt=vue.ref(80);function ct(Rt){qe.value=[Rt.lng,Rt.lat],nt.value=Rt.yaw??0,lt.value=Rt.hFov??80}function mt(Rt){Ue.value!=="cyclomedia"?Ye("cyclomedia",Rt):Ge.value={lng:Rt.lng,lat:Rt.lat}}function st(Rt){const rn=Rt.lonLat.lon,Gt=Rt.lonLat.lat;(Ge.value?.lng!==rn||Ge.value?.lat!==Gt)&&(Ge.value={lng:rn,lat:Gt})}function dt(Rt){return{type:"raster",tiles:[Rt.includes("{z}")?Rt:`${Rt}tile/{z}/{y}/{x}`],tileSize:256}}const wt=vue.computed(()=>Ae.value&&Pe.value?dt(Pe.value):re.basemapUrl?dt(re.basemapUrl):defaultBasemapSource),Pt=vue.computed(()=>Ae.value?Oe.value&&Le.value?dt(Le.value):null:re.labelsUrl!==void 0?re.labelsUrl===null?null:dt(re.labelsUrl):defaultLabelsSource);function pt(Rt){Ae.value=Rt.showImagery,Pe.value=Rt.imageryUrl,Le.value=Rt.imageryLabelsUrl,Oe.value=Rt.showLabels}function St(Rt){const[rn,Gt]=Rt.geometry.coordinates;Ge.value={lng:rn,lat:Gt},ce("searchResult",Rt)}const Vt=vue.computed(()=>re.basemapBeforeId||BASEMAP_CEILING_ID),jt=vue.computed(()=>Ue.value!==null),yt=vue.computed(()=>({"layout-vertical":re.toolPanelLayout==="vertical","layout-horizontal":re.toolPanelLayout==="horizontal"})),vt=vue.computed(()=>{if(!jt.value)return{width:"100%",height:"100%"};const rn=`${re.toolPanelSplitRatio??50}%`;return re.toolPanelLayout==="vertical"?{width:"100%",height:rn}:{width:rn,height:"100%"}}),Nt=vue.computed(()=>{const rn=`${100-(re.toolPanelSplitRatio??50)}%`;return re.toolPanelLayout==="vertical"?{width:"100%",height:rn}:{width:rn,height:"100%"}});vue.provide("map",ge),vue.provide("cyclomediaConfig",re.cyclomediaConfig||null),vue.provide("pictometryCredentials",re.pictometryCredentials||null),vue.provide("toolLocation",Ge),vue.provide("isLoaded",_e),vue.provide("handleBasemapChange",pt);const Wt=vue.ref(!1);vue.provide("isDrawing",Wt);const en=vue.ref(new Set),sn=Rt=>{en.value.add(Rt)};vue.provide("registerClickableLayer",sn);const on=Rt=>{en.value.delete(Rt)};return vue.provide("unregisterClickableLayer",on),vue.provide("cyclomediaActive",Ne),vue.provide("activeTool",Ue),vue.provide("toolLocation",Ge),vue.provide("handleToolToggle",Ke),vue.onMounted(()=>{pe.value&&(ge.value=new maplibregl.Map({container:pe.value,style:re.style,center:re.center,zoom:re.zoom,minZoom:re.minZoom,maxZoom:re.maxZoom,pitch:re.pitch,bearing:re.bearing,attributionControl:!1}),ge.value.on("load",()=>{_e.value=!0,ge.value&&ce("load",ge.value)}),ge.value.on("click",Rt=>{if(!Wt.value){if(en.value.size>0&&ge.value){const rn=Array.from(en.value).filter(Gt=>ge.value?.getLayer(Gt));if(rn.length>0){const tn=[[Rt.point.x-10,Rt.point.y-10],[Rt.point.x+10,Rt.point.y+10]];if(ge.value.queryRenderedFeatures(tn,{layers:rn}).length>0)return}}ce("click",Rt)}}),ge.value.on("move",()=>{ge.value&&(we.value=ge.value.getCenter(),Se.value=ge.value.getZoom(),ce("move",{center:ge.value.getCenter(),zoom:ge.value.getZoom()}))}),ge.value.on("moveend",()=>{if(ge.value){const Rt=ge.value.getBounds();Me.value={west:Rt.getWest(),south:Rt.getSouth(),east:Rt.getEast(),north:Rt.getNorth()},ce("moveend",{center:ge.value.getCenter(),zoom:ge.value.getZoom(),bounds:Me.value})}}),ge.value.on("zoom",()=>{ge.value&&(Se.value=ge.value.getZoom(),ce("zoom",ge.value.getZoom()))}),ge.value.on("pitch",()=>{ge.value&&(xe.value=ge.value.getPitch())}),ge.value.on("rotate",()=>{ge.value&&(je.value=ge.value.getBearing())}))}),vue.watch(()=>re.center,Rt=>{ge.value&&Rt&&(ge.value.setCenter(Rt),we.value=Rt)}),vue.watch(()=>re.zoom,Rt=>{ge.value&&Rt!==void 0&&(ge.value.setZoom(Rt),Se.value=Rt)}),vue.watch(()=>re.pitch,Rt=>{ge.value&&Rt!==void 0&&(ge.value.setPitch(Rt),xe.value=Rt)}),vue.watch(()=>re.bearing,Rt=>{ge.value&&Rt!==void 0&&(ge.value.setBearing(Rt),je.value=Rt)}),vue.watch(()=>re.style,Rt=>{ge.value&&Rt&&ge.value.setStyle(Rt)}),vue.watch(()=>re.minZoom,Rt=>{ge.value&&Rt!==void 0&&ge.value.setMinZoom(Rt)}),vue.watch(()=>re.maxZoom,Rt=>{ge.value&&Rt!==void 0&&ge.value.setMaxZoom(Rt)}),vue.onBeforeUnmount(()=>{_e.value=!1,ge.value&&ge.value.remove()}),O({map:ge,isLoaded:_e,currentCenter:we,currentZoom:Se,currentPitch:xe,currentBearing:je,currentBounds:Me,activeTool:Ue,toolLocation:Ge,cyclomediaActive:Ne}),(Rt,rn)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["map-wrapper",yt.value])},[vue.createElementVNode("div",{ref_key:"mapContainer",ref:pe,class:"map-container",style:vue.normalizeStyle(vt.value),role:"region","aria-label":De.ariaLabel||void 0},[vue.createElementVNode("a",{href:"#",class:"map-keyboard-instructions",onClick:rn[0]||(rn[0]=vue.withModifiers(()=>{},["prevent"]))}," Use arrow keys to pan the map. Press + or - to zoom. Press Tab to exit. "),De.noDefaultTileLayers?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(_sfc_main$r,{key:0,id:"basemap",source:wt.value,"before-id":"basemap-labels"},null,8,["source"])),!De.noDefaultTileLayers&&Pt.value?(vue.openBlock(),vue.createBlock(_sfc_main$r,{key:1,id:"basemap-labels",source:Pt.value,"before-id":Vt.value},null,8,["source","before-id"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$q,{id:BASEMAP_CEILING_ID}),Ue.value==="cyclomedia"?(vue.openBlock(),vue.createBlock(vue.unref($),{key:2,visible:!0,"min-zoom":17,onRecordingClick:mt})):vue.createCommentVNode("",!0),De.enableCyclomedia&&Ue.value==="cyclomedia"&&qe.value?(vue.openBlock(),vue.createBlock(vue.unref(fe),{key:3,position:qe.value,yaw:nt.value,"h-fov":lt.value,"icon-size":.5},null,8,["position","yaw","h-fov"])):vue.createCommentVNode("",!0),De.enableCyclomedia&&Ue.value==="cyclomedia"&&qe.value?(vue.openBlock(),vue.createBlock(vue.unref(me),{key:4,position:qe.value,yaw:nt.value,"icon-size":.09},null,8,["position","yaw"])):vue.createCommentVNode("",!0),De.navigationControls?(vue.openBlock(),vue.createBlock(_sfc_main$l,{key:5,position:De.navigationControls.position},null,8,["position"])):vue.createCommentVNode("",!0),De.geolocationControl?(vue.openBlock(),vue.createBlock(_sfc_main$k,{key:6,position:De.geolocationControl.position},null,8,["position"])):vue.createCommentVNode("",!0),De.mapSearchControl?(vue.openBlock(),vue.createBlock(_sfc_main$p,{key:7,position:De.mapSearchControl.position,placeholder:De.mapSearchControl.placeholder??"Search for an address",onResult:St},null,8,["position","placeholder"])):vue.createCommentVNode("",!0),De.basemapChangeControls?.toggle?(vue.openBlock(),vue.createBlock(_sfc_main$m,{key:8,position:De.basemapChangeControls.position,"show-dropdown":De.basemapChangeControls.dropdown,onChange:pt},null,8,["position","show-dropdown"])):vue.createCommentVNode("",!0),De.enableCyclomedia?(vue.openBlock(),vue.createBlock(vue.unref(V),{key:9,position:De.cyclomediaButtonPosition,active:Ue.value==="cyclomedia",onToggle:Qe},null,8,["position","active"])):vue.createCommentVNode("",!0),De.enablePictometry?(vue.openBlock(),vue.createBlock(vue.unref(he),{key:10,position:De.pictometryButtonPosition,active:Ue.value==="pictometry",onToggle:tt},null,8,["position","active"])):vue.createCommentVNode("",!0),vue.renderSlot(Rt.$slots,"default",{},void 0,!0)],12,_hoisted_1$b),vue.withDirectives(vue.createElementVNode("div",{class:"tool-panel-container",style:vue.normalizeStyle(Nt.value),role:"region","aria-label":"Cyclomedia street view"},[He.value?(vue.openBlock(),vue.createBlock(vue.unref(ue),{key:0,"auto-open":!0,"pop-out-enabled":!0,onViewChange:ct})):vue.createCommentVNode("",!0)],4),[[vue.vShow,Ue.value==="cyclomedia"]]),vue.withDirectives(vue.createElementVNode("div",{class:"tool-panel-container",style:vue.normalizeStyle(Nt.value),role:"region","aria-label":"Pictometry oblique imagery"},[Ve.value?(vue.openBlock(),vue.createBlock(vue.unref(ye),{key:0,"auto-open":!0,"pop-out-enabled":!0,onViewChange:st})):vue.createCommentVNode("",!0)],4),[[vue.vShow,Ue.value==="pictometry"]])],2))}}),_export_sfc=(De,O)=>{const M=De.__vccOpts||De;for(const[V,ue]of O)M[V]=ue;return M},Map$1=_export_sfc(_sfc_main$j,[["__scopeId","data-v-345dcecd"]]),_sfc_main$i=vue.defineComponent({__name:"MapMarker",props:{lngLat:{},color:{default:"#FF0000"},popup:{default:void 0},draggable:{type:Boolean,default:!1},rotation:{default:0},offset:{default:void 0},icon:{default:void 0},iconSize:{default:24},iconColor:{default:void 0},ariaLabel:{default:void 0},zIndex:{default:void 0},className:{}},emits:["dragstart","drag","dragend"],setup(De,{emit:O}){const M=De,V=O,ue=vue.useSlots(),$=vue.ref(null),me=vue.inject("map"),fe=vue.inject("isLoaded");let he=null;const ye=()=>{if(!me||!me.value||!M.lngLat)return;const ce={draggable:M.draggable};if(ue.default&&$.value)ce.element=$.value,ce.anchor="bottom";else if(M.icon){const ge=document.createElement("div");ge.className="custom-marker",ge.innerHTML=`<i class="${M.icon}" style="font-size: ${M.iconSize}px; color: ${M.iconColor||M.color};"></i>`,ce.element=ge}else ce.color=M.color;if(M.rotation&&(ce.rotation=M.rotation),M.offset&&(ce.offset=M.offset),he=new maplibregl.Marker(ce).setLngLat(M.lngLat),M.popup){const ge=new maplibregl.Popup().setHTML(M.popup);he.setPopup(ge)}he.addTo(me.value);const pe=he.getElement();M.ariaLabel?(pe.setAttribute("role","img"),pe.setAttribute("aria-label",M.ariaLabel)):pe.setAttribute("aria-hidden","true"),M.zIndex!=null&&(pe.style.zIndex=String(M.zIndex)),M.draggable&&he&&(he.on("dragstart",()=>he&&V("dragstart",he.getLngLat())),he.on("drag",()=>he&&V("drag",he.getLngLat())),he.on("dragend",()=>he&&V("dragend",he.getLngLat())))},re=()=>{he&&(he.remove(),he=null)};return vue.watch(()=>M.zIndex,ce=>{if(!he)return;const pe=he.getElement();ce!=null?pe.style.zIndex=String(ce):pe.style.zIndex=""}),vue.watch(()=>M.lngLat,ce=>{ce&&he?he.setLngLat(ce):ce&&!he&&me?.value&&fe?.value?ye():!ce&&he&&re()},{deep:!0}),vue.watch(()=>fe?.value,ce=>{ce&&me?.value&&M.lngLat&&ye()},{immediate:!0}),vue.onBeforeUnmount(()=>{re()}),(ce,pe)=>ce.$slots.default?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"slotContainer",ref:$},[vue.renderSlot(ce.$slots,"default")],512)):vue.createCommentVNode("",!0)}}),_hoisted_1$a=["role","aria-label","aria-hidden"],_hoisted_2$5={class:"icon-circle"},_hoisted_3$4={key:0,class:"pin-text"},_sfc_main$h=vue.defineComponent({__name:"MapIconTextPin",props:{icon:{},text:{default:void 0},colorTheme:{default:"dark-primary"},size:{default:"large"},selected:{type:Boolean,default:!1},hovered:{type:Boolean,default:!1},ariaLabel:{default:void 0},className:{}},emits:["mouseenter","mouseleave","click"],setup(De){return(O,M)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["map-icon-text-pin",[`theme-${De.colorTheme}`,`size-${De.size}`,{"icon-only":!De.text,selected:De.selected,hovered:De.hovered}]]),role:De.ariaLabel?"img":void 0,"aria-label":De.ariaLabel,"aria-hidden":De.ariaLabel?void 0:"true",onMouseenter:M[0]||(M[0]=V=>O.$emit("mouseenter",V)),onMouseleave:M[1]||(M[1]=V=>O.$emit("mouseleave",V)),onClick:M[2]||(M[2]=V=>O.$emit("click",V))},[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("i",{class:vue.normalizeClass([De.icon,"pin-icon"])},null,2)]),De.text?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$4,vue.toDisplayString(De.text),1)):vue.createCommentVNode("",!0)],42,_hoisted_1$a))}}),MapIconTextPin=_export_sfc(_sfc_main$h,[["__scopeId","data-v-da9d22a6"]]),_sfc_main$g=vue.defineComponent({__name:"MapTooltip",props:{visible:{type:Boolean,default:!1},hoverBridge:{type:Boolean,default:!0},className:{}},emits:["mouseenter","mouseleave"],setup(De){return(O,M)=>De.visible?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"map-tooltip",onMouseenter:M[0]||(M[0]=V=>De.hoverBridge?O.$emit("mouseenter",V):void 0),onMouseleave:M[1]||(M[1]=V=>De.hoverBridge?O.$emit("mouseleave",V):void 0)},[vue.renderSlot(O.$slots,"default",{},void 0,!0)],32)):vue.createCommentVNode("",!0)}}),MapTooltip=_export_sfc(_sfc_main$g,[["__scopeId","data-v-ad13a953"]]),FOCUSABLE_SELECTOR='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',_sfc_main$f=vue.defineComponent({__name:"MapPopup",props:{lngLat:{},html:{default:void 0},closeButton:{type:Boolean,default:!0},closeOnClick:{type:Boolean,default:!0},className:{default:void 0},maxWidth:{default:"300px"},offset:{default:void 0},anchor:{default:"bottom"},showNavigation:{type:Boolean,default:!1},currentFeatureIndex:{default:0},totalFeatures:{default:1},layerName:{default:void 0}},emits:["close","open","next","previous"],setup(De,{emit:O}){const M=De,V=O,ue=vue.useSlots(),$=vue.inject("map"),me=vue.inject("isLoaded");let fe=null;const he=vue.ref(null);let ye=null,re=null;const ce=()=>{if(!$?.value)return;const Se=document.activeElement;we(),ye=Se;const xe={closeButton:M.closeButton,closeOnClick:M.closeOnClick,maxWidth:M.maxWidth},Me=M.showNavigation&&M.totalFeatures&&M.totalFeatures>1?"multi-feature-popup":"";if((M.className||Me)&&(xe.className=[M.className,Me].filter(Boolean).join(" ")),M.offset&&(xe.offset=M.offset),M.anchor&&(xe.anchor=M.anchor),fe=new maplibregl.Popup(xe),ue.default&&he.value)fe.setDOMContent(he.value);else if(M.html){let Pe="";M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&(Pe+=pe()),Pe+=`<div class="popup-scroll-content">${M.html}</div>`,fe.setHTML(Pe),M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&setTimeout(()=>{ge()},0)}fe.setLngLat(M.lngLat),fe.addTo($.value),V("open"),fe.on("close",()=>{_e(),ye&&typeof ye.focus=="function"&&(ye.focus(),ye=null),V("close")});const Ae=fe.getElement();if(Ae){const Pe=Ae.querySelector(".maplibregl-popup-content");if(Pe){Pe.setAttribute("tabindex","-1"),Pe.setAttribute("role","dialog"),Pe.setAttribute("aria-label","Map popup"),Pe.focus({preventScroll:!0});const Oe=Pe.querySelector(".popup-scroll-content");Oe&&(Oe.scrollTop=0)}const Le=Ae.querySelector(".maplibregl-popup-close-button");Le&&!Le.getAttribute("aria-label")&&Le.setAttribute("aria-label","Close"),re=Oe=>{if(Oe.key==="Escape"){Oe.preventDefault(),fe?.remove();return}if(Oe.key==="Tab"){const Ne=Ae.querySelectorAll(FOCUSABLE_SELECTOR);if(Ne.length===0)return;const Ue=Ne[0],He=Ne[Ne.length-1];Oe.shiftKey?(document.activeElement===Ue||document.activeElement===Pe)&&(Oe.preventDefault(),He.focus()):document.activeElement===He&&(Oe.preventDefault(),Ue.focus())}},Ae.addEventListener("keydown",re)}},pe=()=>{const Se=M.layerName?`<div class="popup-layer-name">${M.layerName}</div>`:"",xe=(M.currentFeatureIndex??0)+1,je=M.totalFeatures??1,Me=(M.currentFeatureIndex??0)>0,Ae=(M.currentFeatureIndex??0)<je-1;return`
562
562
  <div class="popup-navigation-header">
563
563
  ${Se}
564
564
  <div class="popup-navigation-controls">
@@ -567,7 +567,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
567
567
  ${Ae?'<button class="popup-nav-button popup-nav-next" data-action="next" aria-label="Next feature">Next →</button>':""}
568
568
  </div>
569
569
  </div>
570
- `},ge=()=>{if(!fe)return;const Se=fe.getElement();if(!Se)return;const xe=Se.querySelector('[data-action="previous"]'),je=Se.querySelector('[data-action="next"]');xe&&xe.addEventListener("click",Me=>{Me.stopPropagation(),V("previous")}),je&&je.addEventListener("click",Me=>{Me.stopPropagation(),V("next")})},_e=()=>{if(re&&fe){const Se=fe.getElement();Se&&Se.removeEventListener("keydown",re),re=null}},we=()=>{fe&&(_e(),fe.remove(),fe=null)};return vue.watch(()=>me?.value,Se=>{Se&&$?.value&&!fe&&ce()}),vue.watch(()=>M.lngLat,Se=>{fe&&Se&&fe.setLngLat(Se)}),vue.watch([()=>M.html,()=>M.currentFeatureIndex,()=>M.showNavigation],([Se])=>{if(fe&&Se&&!ue.default){let xe="";M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&(xe+=pe()),xe+=`<div class="popup-scroll-content">${Se}</div>`,fe.setHTML(xe),M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&setTimeout(()=>{ge()},0)}}),vue.onMounted(()=>{me?.value&&$?.value&&vue.nextTick(()=>{ce()})}),vue.onBeforeUnmount(()=>{we()}),(Se,xe)=>Se.$slots.default?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"slotContainer",ref:he,class:"popup-scroll-content"},[vue.renderSlot(Se.$slots,"default")],512)):vue.createCommentVNode("",!0)}}),LAYER_EVENTS=["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"];function useVectorLayer(De,O){const M=vue.inject("map"),V=vue.inject("isLoaded"),ue=vue.inject("registerClickableLayer"),$=vue.inject("unregisterClickableLayer"),me=vue.ref(!1);let fe=!0,he=JSON.stringify(vue.unref(De.source));const ye=[],re=vue.getCurrentInstance(),ce=!!re?.vnode.props?.onClick,pe=Se=>{if(!M?.value)return;const xe=vue.unref(De.id),je=vue.unref(De.source),Me=vue.unref(De.sourceLayer),Ae=vue.unref(De.paint),Pe=vue.unref(De.layout),Le=vue.unref(De.filter),Oe=vue.unref(De.minzoom),Ne=vue.unref(De.maxzoom),Ue=vue.unref(De.beforeId);typeof je=="object"&&(M.value.getSource(xe)||M.value.addSource(xe,je));const He={id:xe,type:De.type,source:typeof je=="object"?xe:je,paint:Ae||{},layout:Pe||{}};if(Me&&(He["source-layer"]=Me),Le&&(He.filter=Le),Oe!==void 0&&(He.minzoom=Oe),Ne!==void 0&&(He.maxzoom=Ne),!M.value.getLayer(xe)){const Ve=Se??Ue;let Ge;Ve&&M.value.getLayer(Ve)&&(Ge=Ve),M.value.addLayer(He,Ge),me.value=!0,_e(),ce&&ue&&ue(xe)}},ge=()=>{if(!M?.value)return;const Se=vue.unref(De.id),xe=vue.unref(De.source);try{ce&&$&&$(Se),we(),M.value.getLayer?.(Se)&&(M.value.removeLayer(Se),me.value=!1),typeof xe=="object"&&M.value.getSource?.(Se)&&M.value.removeSource(Se)}catch{}},_e=()=>{if(!M?.value||!re?.vnode.props)return;const Se=vue.unref(De.id);for(const xe of LAYER_EVENTS){const je=`on${xe.charAt(0).toUpperCase()}${xe.slice(1)}`;if(re.vnode.props[je]){const Me=Ae=>{O(xe,Ae)};M.value.on(xe,Se,Me),ye.push({event:xe,handler:Me})}}if(ce){const xe=()=>{M?.value&&(M.value.getCanvas().style.cursor="pointer")},je=()=>{M?.value&&(M.value.getCanvas().style.cursor="")};M.value.on("mouseenter",Se,xe),M.value.on("mouseleave",Se,je),ye.push({event:"mouseenter",handler:xe}),ye.push({event:"mouseleave",handler:je})}},we=()=>{if(!M?.value)return;const Se=vue.unref(De.id);for(const{event:xe,handler:je}of ye)try{M.value.off(xe,Se,je)}catch{}ye.length=0};return vue.watch(()=>V?.value,Se=>{try{if(!fe||!Se||!M?.value)return;pe()}catch{}},{immediate:!0}),vue.watch(()=>vue.unref(De.paint),Se=>{try{const xe=vue.unref(De.id);if(!fe||!M?.value?.getLayer?.(xe)||!Se)return;Object.keys(Se).forEach(je=>{!fe||!M?.value||M.value.setPaintProperty(xe,je,Se[je])})}catch{}},{deep:!0}),vue.watch(()=>vue.unref(De.layout),Se=>{try{const xe=vue.unref(De.id);if(!fe||!M?.value?.getLayer?.(xe)||!Se)return;Object.keys(Se).forEach(je=>{!fe||!M?.value||M.value.setLayoutProperty(xe,je,Se[je])})}catch{}},{deep:!0}),vue.watch(()=>vue.unref(De.filter),Se=>{try{const xe=vue.unref(De.id);if(!fe||!M?.value?.getLayer?.(xe))return;M.value.setFilter(xe,Se)}catch{}}),vue.watch(()=>vue.unref(De.source),Se=>{try{if(!fe||!M?.value)return;const xe=vue.unref(De.id),je=JSON.stringify(Se);if(je===he)return;if(he=je,typeof Se=="object"&&Se.type==="geojson"){const Me=M.value.getSource(xe);if(Me&&"setData"in Me){Me.setData(Se.data);return}}ge(),pe()}catch{}},{deep:!0}),vue.onBeforeUnmount(()=>{fe=!1}),vue.onUnmounted(()=>{ge()}),{map:M,isLoaded:V,isLayerAdded:me,addLayer:pe,removeLayer:ge}}const _hoisted_1$9=["data-layer-id"],_sfc_main$e=vue.defineComponent({__name:"FillLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe}=vue.toRefs(M);return useVectorLayer({id:ue,type:"fill",source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe},V),(ge,_e)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"fill"},null,8,_hoisted_1$9))}}),_hoisted_1$8=["data-layer-id"],_sfc_main$d=vue.defineComponent({__name:"LineLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe}=vue.toRefs(M);return useVectorLayer({id:ue,type:"line",source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe},V),(ge,_e)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"line"},null,8,_hoisted_1$8))}}),_hoisted_1$7=["data-layer-id"],_sfc_main$c=vue.defineComponent({__name:"CircleLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe}=vue.toRefs(M);return useVectorLayer({id:ue,type:"circle",source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe},V),(ge,_e)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"circle"},null,8,_hoisted_1$7))}}),_hoisted_1$6=["data-layer-id"],_sfc_main$b=vue.defineComponent({__name:"SymbolLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},icon:{default:void 0},iconName:{default:void 0},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,filter:he,minzoom:ye,maxzoom:re,beforeId:ce,icon:pe,iconName:ge}=vue.toRefs(M),_e=vue.computed(()=>{const je=M.layout||{};return M.iconName?{...je,"icon-image":M.iconName}:je}),{map:we,isLoaded:Se,removeLayer:xe}=useVectorLayer({id:ue,type:"symbol",source:$,sourceLayer:me,paint:fe,layout:_e,filter:he,minzoom:ye,maxzoom:re,beforeId:ce},V);return vue.watch(()=>Se?.value,async je=>{if(!(!je||!we?.value||!pe.value||!ge.value)){if(we.value.hasImage(ge.value)){we.value.triggerRepaint();return}try{const Me=await we.value.loadImage(pe.value);if(!we.value)return;we.value.hasImage(ge.value)||we.value.addImage(ge.value,Me.data),we.value.triggerRepaint()}catch{xe()}}},{immediate:!0}),vue.onUnmounted(()=>{if(!(!we?.value||!ge.value))try{we.value.hasImage(ge.value)&&we.value.removeImage(ge.value)}catch{}}),(je,Me)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"symbol"},null,8,_hoisted_1$6))}}),_hoisted_1$5={key:0,class:"map-loading-overlay"},_hoisted_2$4={class:"map-loading-content"},_hoisted_3$3={class:"map-loading-text"},_sfc_main$a=vue.defineComponent({__name:"MapLoadingOverlay",props:{visible:{type:Boolean},text:{default:"Loading..."}},setup(De){return(O,M)=>(vue.openBlock(),vue.createBlock(vue.Transition,{name:"overlay-fade"},{default:vue.withCtx(()=>[De.visible?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[vue.createElementVNode("div",_hoisted_2$4,[M[0]||(M[0]=vue.createElementVNode("div",{class:"map-loading-spinner"},null,-1)),vue.createElementVNode("span",_hoisted_3$3,vue.toDisplayString(De.text),1)])])):vue.createCommentVNode("",!0)]),_:1}))}}),MapLoadingOverlay=_export_sfc(_sfc_main$a,[["__scopeId","data-v-760930b2"]]),_hoisted_1$4=["aria-label"],_sfc_main$9=vue.defineComponent({__name:"MapFloatingPanel",props:{position:{default:"top-right"},visible:{type:Boolean,default:!0},offset:{default:()=>({x:10,y:10})},leaveRoomForControls:{type:Boolean,default:!0},ariaLabel:{default:"Map panel"},className:{}},setup(De){const O=De,M=vue.ref(null);let V=null;vue.watch(()=>O.visible,$=>{$?(V=document.activeElement,vue.nextTick(()=>{M.value?.focus()})):V&&typeof V.focus=="function"&&(V.focus(),V=null)});const ue=vue.computed(()=>{const $={position:"absolute",zIndex:"1"},me=O.offset?.x??10,fe=O.offset?.y??10,he=O.leaveRoomForControls?50:0;switch(O.position){case"top-right":$.top=`${fe}px`,$.right=`${he+me}px`;break;case"top-left":$.top=`${fe}px`,$.left=`${he+me}px`;break;case"bottom-right":$.bottom=`${fe}px`,$.right=`${he+me}px`;break;case"bottom-left":$.bottom=`${fe}px`,$.left=`${he+me}px`;break}return $});return($,me)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{ref_key:"panelRef",ref:M,class:"map-floating-panel",style:vue.normalizeStyle(ue.value),tabindex:"-1",role:"region","aria-label":De.ariaLabel},[vue.renderSlot($.$slots,"default")],12,_hoisted_1$4)),[[vue.vShow,De.visible]])}}),rulersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGJJREFUOI1jYGBgOM3AwPAfCTMwMDA8QxPDhT8xoAlIM5AG/jMi2QoDjKQYwITEkSFRM9w2qrkA5oqBc8EIDYNHDAzkp0I4QE/fMDF5YvnoBsiTwscWBiQBJgYGhpMU6D8CAJDrOVecOVsbAAAAAElFTkSuQmCC",_hoisted_1$3={"aria-live":"polite",class:"draw-tool-sr-only"},_hoisted_2$3=["innerHTML"],drawLayerId="drawing-polygon-layer",drawLineLayerId="drawing-polygon-line-layer",drawPointsLayerId="drawing-points-layer",drawLabelsLayerId="drawing-labels-layer",completedPolygonsLayerId="completed-polygons-layer",completedPolygonsLineLayerId="completed-polygons-line-layer",completedPolygonsPointLayerId="completed-polygons-point-layer",completedPolygonsPointsLayerId="completed-polygons-points-layer",completedPolygonsLabelsLayerId="completed-polygons-labels-layer",_sfc_main$8=vue.defineComponent({__name:"DrawTool",props:{icon:{},image:{},position:{default:"top-right"},title:{default:"Draw Tool"},iconSize:{default:18},className:{}},emits:["polygonComplete"],setup(De,{emit:O}){const M=De,V=M.icon?void 0:M.image||rulersImage,ue=O,$=vue.inject("isDrawing",vue.ref(!1)),me=vue.ref(""),fe=vue.ref([]),he=vue.ref([]),ye=vue.ref(null);let re=null,ce=null,pe=null;const ge=(pt,St)=>{const jt=pt.lat*Math.PI/180,yt=St.lat*Math.PI/180,vt=(St.lat-pt.lat)*Math.PI/180,Nt=(St.lng-pt.lng)*Math.PI/180,Wt=Math.sin(vt/2)*Math.sin(vt/2)+Math.cos(jt)*Math.cos(yt)*Math.sin(Nt/2)*Math.sin(Nt/2);return(6371e3*(2*Math.atan2(Math.sqrt(Wt),Math.sqrt(1-Wt)))*3.28084).toFixed(2)},_e=(pt,St)=>({lng:(pt.lng+St.lng)/2,lat:(pt.lat+St.lat)/2}),we=pt=>{if(pt.length<2)return"0";let St=0;for(let Vt=1;Vt<pt.length;Vt++)St+=parseFloat(ge(pt[Vt-1],pt[Vt]));return pt.length>=3&&(St+=parseFloat(ge(pt[pt.length-1],pt[0]))),St.toFixed(2)},Se=()=>{qe?.value&&(re&&(qe.value.off("click",re),re=null),ce&&(qe.value.off("dblclick",ce),ce=null))},xe=pt=>{if(pt.length<3)return"0";const St=pt.reduce((Wt,en)=>Wt+en.lat,0)/pt.length,Vt=111320,jt=111320*Math.cos(St*Math.PI/180),yt=pt.map(Wt=>({x:Wt.lng*jt,y:Wt.lat*Vt}));let vt=0;for(let Wt=0;Wt<yt.length;Wt++){const en=(Wt+1)%yt.length;vt+=yt[Wt].x*yt[en].y,vt-=yt[en].x*yt[Wt].y}return vt=Math.abs(vt)/2,(vt*10.7639).toFixed(2)},je=()=>{if(fe.value.length<1)return;const pt=`shape-${Date.now()}`;if(fe.value.length===1){const jt=fe.value[0];he.value.push({id:pt,coordinates:[[jt.lng,jt.lat]],points:[jt],isLine:!1,isPoint:!0}),ye.value=pt,me.value="Shape completed",ue("polygonComplete",{type:"Point",coordinates:[jt.lng,jt.lat]}),fe.value=[],Se(),qe?.value&&(qe.value.getCanvas().style.cursor="");return}const St=fe.value.map(jt=>[jt.lng,jt.lat]),Vt=fe.value.length>=3;Vt&&St.push(St[0]),he.value.push({id:pt,coordinates:St,points:[...fe.value],isLine:!Vt,isPoint:!1}),ye.value=pt,me.value="Shape completed",Vt?ue("polygonComplete",{type:"Polygon",coordinates:[St]}):ue("polygonComplete",{type:"LineString",coordinates:St}),fe.value=[],Se(),qe?.value&&(qe.value.getCanvas().style.cursor="")},Me=je,Ae=()=>{if(!ye.value)return;const pt=he.value.findIndex(St=>St.id===ye.value);pt!==-1&&(he.value.splice(pt,1),ye.value=null,me.value="Shape deleted")},Pe=()=>{fe.value=[],Se(),$.value=!1,me.value="Drawing mode ended",qe?.value&&(qe.value.getCanvas().style.cursor="")},Le=()=>{fe.value.length>=1&&je()},Oe=()=>{if(!qe?.value)return;pe=jt=>{const yt=jt.originalEvent?.target;if(!(yt&&(yt.closest(".vertices-table")||yt.closest(".maplibregl-ctrl")))&&ye.value!==null&&fe.value.length===0)try{const vt=qe.value?.getLayer(completedPolygonsLayerId)?qe.value.queryRenderedFeatures(jt.point,{layers:[completedPolygonsLayerId]}):[],Nt=qe.value?.getLayer(completedPolygonsLineLayerId)?qe.value.queryRenderedFeatures(jt.point,{layers:[completedPolygonsLineLayerId]}):[],Wt=qe.value?.getLayer(completedPolygonsPointLayerId)?qe.value.queryRenderedFeatures(jt.point,{layers:[completedPolygonsPointLayerId]}):[];(vt.length>0?vt:Nt.length>0?Nt:Wt).length===0&&(ye.value=null)}catch{}},qe.value.on("click",pe);let pt=null,St=null;qe.value.on("mouseenter",completedPolygonsPointsLayerId,()=>{const jt=He();jt&&!jt.isPoint&&qe?.value&&(qe.value.getCanvas().style.cursor="move")}),qe.value.on("mouseenter",completedPolygonsPointLayerId,()=>{const jt=He();jt&&jt.isPoint&&qe?.value&&(qe.value.getCanvas().style.cursor="move")}),qe.value.on("mouseleave",completedPolygonsPointsLayerId,()=>{!$.value&&qe?.value&&(qe.value.getCanvas().style.cursor="")}),qe.value.on("mouseleave",completedPolygonsPointLayerId,()=>{!$.value&&qe?.value&&(qe.value.getCanvas().style.cursor="")});const Vt=(jt,yt)=>{const vt=He();if(!vt||!jt.features||jt.features.length===0||!qe?.value)return;const Nt=jt.features[0];if(!Nt.properties?.active)return;jt.preventDefault(),yt?(pt=0,St=vt.id):(pt=Nt.properties.index,St=Nt.properties.polygonId),qe.value.getCanvas().style.cursor="grabbing";const Wt=sn=>{if(pt===null||St===null)return;const on=he.value.find(rn=>rn.id===St);if(!on)return;const Rt=sn.lngLat;on.points[pt]={lat:Rt.lat,lng:Rt.lng},on.isPoint?on.coordinates=[[Rt.lng,Rt.lat]]:(on.coordinates=on.points.map(rn=>[rn.lng,rn.lat]),on.isLine||on.coordinates.push(on.coordinates[0]))},en=()=>{pt=null,St=null,qe?.value&&(qe.value.getCanvas().style.cursor="move",qe.value.off("mousemove",Wt),qe.value.off("mouseup",en))};qe.value.on("mousemove",Wt),qe.value.on("mouseup",en)};qe.value.on("mousedown",completedPolygonsPointsLayerId,jt=>{Vt(jt,!1)}),qe.value.on("mousedown",completedPolygonsPointLayerId,jt=>{Vt(jt,!0)})},Ne=pt=>{const St=pt.originalEvent?.target;if(!(St&&(St.closest(".vertices-table")||St.closest(".maplibregl-ctrl")))&&pt.features&&pt.features.length>0){const Vt=pt.features[0].properties?.id;Vt&&($.value=!0,ye.value=Vt)}},Ue=()=>{qe?.value&&($.value=!$.value,$.value?(qe.value.getCanvas().style.cursor="crosshair",fe.value=[],me.value="Drawing mode active",re=pt=>{if(qe?.value){if(fe.value.length>=3){const St=fe.value[0],Vt=pt.lngLat,jt=qe.value.project([St.lng,St.lat]),yt=qe.value.project([Vt.lng,Vt.lat]);if(Math.sqrt(Math.pow(jt.x-yt.x,2)+Math.pow(jt.y-yt.y,2))<10){Me();return}}fe.value.push(pt.lngLat),me.value=`Point added, ${fe.value.length} point${fe.value.length===1?"":"s"} total`}},ce=pt=>{pt.preventDefault(),fe.value.length>0&&fe.value.pop(),fe.value.length>=1&&je()},qe.value.on("click",re),qe.value.on("dblclick",ce)):(Se(),fe.value=[],me.value="Drawing mode ended",qe.value.getCanvas().style.cursor=""))},He=()=>{if(ye.value!==null)return he.value.find(pt=>pt.id===ye.value)},Ve=()=>{if($.value&&fe.value.length>0)return fe.value;const pt=He();return pt?pt.points:[]},Ge=()=>{const pt=Ve();if(pt.length===0&&$.value)return`
570
+ `},ge=()=>{if(!fe)return;const Se=fe.getElement();if(!Se)return;const xe=Se.querySelector('[data-action="previous"]'),je=Se.querySelector('[data-action="next"]');xe&&xe.addEventListener("click",Me=>{Me.stopPropagation(),V("previous")}),je&&je.addEventListener("click",Me=>{Me.stopPropagation(),V("next")})},_e=()=>{if(re&&fe){const Se=fe.getElement();Se&&Se.removeEventListener("keydown",re),re=null}},we=()=>{fe&&(_e(),fe.remove(),fe=null)};return vue.watch(()=>me?.value,Se=>{Se&&$?.value&&!fe&&ce()}),vue.watch(()=>M.lngLat,Se=>{fe&&Se&&fe.setLngLat(Se)}),vue.watch([()=>M.html,()=>M.currentFeatureIndex,()=>M.showNavigation],([Se])=>{if(fe&&Se&&!ue.default){let xe="";M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&(xe+=pe()),xe+=`<div class="popup-scroll-content">${Se}</div>`,fe.setHTML(xe),M.showNavigation&&M.totalFeatures&&M.totalFeatures>1&&setTimeout(()=>{ge()},0)}}),vue.onMounted(()=>{me?.value&&$?.value&&vue.nextTick(()=>{ce()})}),vue.onBeforeUnmount(()=>{we()}),(Se,xe)=>Se.$slots.default?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"slotContainer",ref:he,class:"popup-scroll-content"},[vue.renderSlot(Se.$slots,"default")],512)):vue.createCommentVNode("",!0)}}),LAYER_EVENTS=["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"];function useVectorLayer(De,O){const M=vue.inject("map"),V=vue.inject("isLoaded"),ue=vue.inject("registerClickableLayer"),$=vue.inject("unregisterClickableLayer"),me=vue.ref(!1);let fe=!0,he=JSON.stringify(vue.unref(De.source));const ye=[];let re=null;const ce=vue.getCurrentInstance(),pe=!!ce?.vnode.props?.onClick,ge=xe=>{if(!M?.value)return;const je=vue.unref(De.id),Me=vue.unref(De.source),Ae=vue.unref(De.sourceLayer),Pe=vue.unref(De.paint),Le=vue.unref(De.layout),Oe=vue.unref(De.filter),Ne=vue.unref(De.minzoom),Ue=vue.unref(De.maxzoom),He=vue.unref(De.beforeId);typeof Me=="object"&&(M.value.getSource(je)||M.value.addSource(je,Me));const Ve={id:je,type:De.type,source:typeof Me=="object"?je:Me,paint:Pe||{},layout:Le||{}};if(Ae&&(Ve["source-layer"]=Ae),Oe&&(Ve.filter=Oe),Ne!==void 0&&(Ve.minzoom=Ne),Ue!==void 0&&(Ve.maxzoom=Ue),!M.value.getLayer(je)){const Ge=xe??He;let Ye;Ge&&M.value.getLayer(Ge)&&(Ye=Ge),M.value.addLayer(Ve,Ye),me.value=!0,we(),pe&&ue&&ue(je)}},_e=()=>{if(!M?.value)return;const xe=vue.unref(De.id),je=vue.unref(De.source);try{pe&&$&&$(xe),Se(),M.value.getLayer?.(xe)&&(M.value.removeLayer(xe),me.value=!1),typeof je=="object"&&M.value.getSource?.(xe)&&M.value.removeSource(xe)}catch{}},we=()=>{if(!M?.value||!ce?.vnode.props)return;const xe=vue.unref(De.id);for(const je of LAYER_EVENTS){const Me=`on${je.charAt(0).toUpperCase()}${je.slice(1)}`;if(ce.vnode.props[Me])if(je==="click")re=Pe=>{const Le=[[Pe.point.x-10,Pe.point.y-10],[Pe.point.x+10,Pe.point.y+10]];M.value.queryRenderedFeatures(Le,{layers:[xe]}).length>0&&O("click",Pe)},M.value.on("click",re);else{const Ae=Pe=>{O(je,Pe)};M.value.on(je,xe,Ae),ye.push({event:je,handler:Ae})}}if(pe){const je=()=>{M?.value&&(M.value.getCanvas().style.cursor="pointer")},Me=()=>{M?.value&&(M.value.getCanvas().style.cursor="")};M.value.on("mouseenter",xe,je),M.value.on("mouseleave",xe,Me),ye.push({event:"mouseenter",handler:je}),ye.push({event:"mouseleave",handler:Me})}},Se=()=>{if(!M?.value)return;const xe=vue.unref(De.id);for(const{event:je,handler:Me}of ye)try{M.value.off(je,xe,Me)}catch{}if(ye.length=0,re){try{M.value.off("click",re)}catch{}re=null}};return vue.watch(()=>V?.value,xe=>{try{if(!fe||!xe||!M?.value)return;ge()}catch{}},{immediate:!0}),vue.watch(()=>vue.unref(De.paint),xe=>{try{const je=vue.unref(De.id);if(!fe||!M?.value?.getLayer?.(je)||!xe)return;Object.keys(xe).forEach(Me=>{!fe||!M?.value||M.value.setPaintProperty(je,Me,xe[Me])})}catch{}},{deep:!0}),vue.watch(()=>vue.unref(De.layout),xe=>{try{const je=vue.unref(De.id);if(!fe||!M?.value?.getLayer?.(je)||!xe)return;Object.keys(xe).forEach(Me=>{!fe||!M?.value||M.value.setLayoutProperty(je,Me,xe[Me])})}catch{}},{deep:!0}),vue.watch(()=>vue.unref(De.filter),xe=>{try{const je=vue.unref(De.id);if(!fe||!M?.value?.getLayer?.(je))return;M.value.setFilter(je,xe)}catch{}}),vue.watch(()=>vue.unref(De.source),xe=>{try{if(!fe||!M?.value)return;const je=vue.unref(De.id),Me=JSON.stringify(xe);if(Me===he)return;if(he=Me,typeof xe=="object"&&xe.type==="geojson"){const Ae=M.value.getSource(je);if(Ae&&"setData"in Ae){Ae.setData(xe.data);return}}_e(),ge()}catch{}},{deep:!0}),vue.onBeforeUnmount(()=>{fe=!1}),vue.onUnmounted(()=>{_e()}),{map:M,isLoaded:V,isLayerAdded:me,addLayer:ge,removeLayer:_e}}const _hoisted_1$9=["data-layer-id"],_sfc_main$e=vue.defineComponent({__name:"FillLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe}=vue.toRefs(M);return useVectorLayer({id:ue,type:"fill",source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe},V),(ge,_e)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"fill"},null,8,_hoisted_1$9))}}),_hoisted_1$8=["data-layer-id"],_sfc_main$d=vue.defineComponent({__name:"LineLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe}=vue.toRefs(M);return useVectorLayer({id:ue,type:"line",source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe},V),(ge,_e)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"line"},null,8,_hoisted_1$8))}}),_hoisted_1$7=["data-layer-id"],_sfc_main$c=vue.defineComponent({__name:"CircleLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe}=vue.toRefs(M);return useVectorLayer({id:ue,type:"circle",source:$,sourceLayer:me,paint:fe,layout:he,filter:ye,minzoom:re,maxzoom:ce,beforeId:pe},V),(ge,_e)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"circle"},null,8,_hoisted_1$7))}}),_hoisted_1$6=["data-layer-id"],_sfc_main$b=vue.defineComponent({__name:"SymbolLayer",props:{paint:{default:()=>({})},layout:{default:()=>({})},icon:{default:void 0},iconName:{default:void 0},id:{},source:{},sourceLayer:{default:void 0},filter:{type:[Boolean,Array],default:void 0},minzoom:{default:void 0},maxzoom:{default:void 0},beforeId:{default:void 0},className:{}},emits:["click","dblclick","mouseenter","mouseleave","mousemove","mousedown","mouseup","contextmenu"],setup(De,{emit:O}){const M=De,V=O,{id:ue,source:$,sourceLayer:me,paint:fe,filter:he,minzoom:ye,maxzoom:re,beforeId:ce,icon:pe,iconName:ge}=vue.toRefs(M),_e=vue.computed(()=>{const je=M.layout||{};return M.iconName?{...je,"icon-image":M.iconName}:je}),{map:we,isLoaded:Se,removeLayer:xe}=useVectorLayer({id:ue,type:"symbol",source:$,sourceLayer:me,paint:fe,layout:_e,filter:he,minzoom:ye,maxzoom:re,beforeId:ce},V);return vue.watch(()=>Se?.value,async je=>{if(!(!je||!we?.value||!pe.value||!ge.value)){if(we.value.hasImage(ge.value)){we.value.triggerRepaint();return}try{const Me=await we.value.loadImage(pe.value);if(!we.value)return;we.value.hasImage(ge.value)||we.value.addImage(ge.value,Me.data),we.value.triggerRepaint()}catch{xe()}}},{immediate:!0}),vue.onUnmounted(()=>{if(!(!we?.value||!ge.value))try{we.value.hasImage(ge.value)&&we.value.removeImage(ge.value)}catch{}}),(je,Me)=>(vue.openBlock(),vue.createElementBlock("span",{style:{display:"none"},"data-layer-id":M.id,"data-layer-type":"symbol"},null,8,_hoisted_1$6))}}),_hoisted_1$5={key:0,class:"map-loading-overlay"},_hoisted_2$4={class:"map-loading-content"},_hoisted_3$3={class:"map-loading-text"},_sfc_main$a=vue.defineComponent({__name:"MapLoadingOverlay",props:{visible:{type:Boolean},text:{default:"Loading..."}},setup(De){return(O,M)=>(vue.openBlock(),vue.createBlock(vue.Transition,{name:"overlay-fade"},{default:vue.withCtx(()=>[De.visible?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[vue.createElementVNode("div",_hoisted_2$4,[M[0]||(M[0]=vue.createElementVNode("div",{class:"map-loading-spinner"},null,-1)),vue.createElementVNode("span",_hoisted_3$3,vue.toDisplayString(De.text),1)])])):vue.createCommentVNode("",!0)]),_:1}))}}),MapLoadingOverlay=_export_sfc(_sfc_main$a,[["__scopeId","data-v-760930b2"]]),_hoisted_1$4=["aria-label"],_sfc_main$9=vue.defineComponent({__name:"MapFloatingPanel",props:{position:{default:"top-right"},visible:{type:Boolean,default:!0},offset:{default:()=>({x:10,y:10})},leaveRoomForControls:{type:Boolean,default:!0},ariaLabel:{default:"Map panel"},className:{}},setup(De){const O=De,M=vue.ref(null);let V=null;vue.watch(()=>O.visible,$=>{$?(V=document.activeElement,vue.nextTick(()=>{M.value?.focus()})):V&&typeof V.focus=="function"&&(V.focus(),V=null)});const ue=vue.computed(()=>{const $={position:"absolute",zIndex:"1"},me=O.offset?.x??10,fe=O.offset?.y??10,he=O.leaveRoomForControls?50:0;switch(O.position){case"top-right":$.top=`${fe}px`,$.right=`${he+me}px`;break;case"top-left":$.top=`${fe}px`,$.left=`${he+me}px`;break;case"bottom-right":$.bottom=`${fe}px`,$.right=`${he+me}px`;break;case"bottom-left":$.bottom=`${fe}px`,$.left=`${he+me}px`;break}return $});return($,me)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{ref_key:"panelRef",ref:M,class:"map-floating-panel",style:vue.normalizeStyle(ue.value),tabindex:"-1",role:"region","aria-label":De.ariaLabel},[vue.renderSlot($.$slots,"default")],12,_hoisted_1$4)),[[vue.vShow,De.visible]])}}),rulersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGJJREFUOI1jYGBgOM3AwPAfCTMwMDA8QxPDhT8xoAlIM5AG/jMi2QoDjKQYwITEkSFRM9w2qrkA5oqBc8EIDYNHDAzkp0I4QE/fMDF5YvnoBsiTwscWBiQBJgYGhpMU6D8CAJDrOVecOVsbAAAAAElFTkSuQmCC",_hoisted_1$3={"aria-live":"polite",class:"draw-tool-sr-only"},_hoisted_2$3=["innerHTML"],drawLayerId="drawing-polygon-layer",drawLineLayerId="drawing-polygon-line-layer",drawPointsLayerId="drawing-points-layer",drawLabelsLayerId="drawing-labels-layer",completedPolygonsLayerId="completed-polygons-layer",completedPolygonsLineLayerId="completed-polygons-line-layer",completedPolygonsPointLayerId="completed-polygons-point-layer",completedPolygonsPointsLayerId="completed-polygons-points-layer",completedPolygonsLabelsLayerId="completed-polygons-labels-layer",_sfc_main$8=vue.defineComponent({__name:"DrawTool",props:{icon:{},image:{},position:{default:"top-right"},title:{default:"Draw Tool"},iconSize:{default:18},className:{}},emits:["polygonComplete"],setup(De,{emit:O}){const M=De,V=M.icon?void 0:M.image||rulersImage,ue=O,$=vue.inject("isDrawing",vue.ref(!1)),me=vue.ref(""),fe=vue.ref([]),he=vue.ref([]),ye=vue.ref(null);let re=null,ce=null,pe=null;const ge=(pt,St)=>{const jt=pt.lat*Math.PI/180,yt=St.lat*Math.PI/180,vt=(St.lat-pt.lat)*Math.PI/180,Nt=(St.lng-pt.lng)*Math.PI/180,Wt=Math.sin(vt/2)*Math.sin(vt/2)+Math.cos(jt)*Math.cos(yt)*Math.sin(Nt/2)*Math.sin(Nt/2);return(6371e3*(2*Math.atan2(Math.sqrt(Wt),Math.sqrt(1-Wt)))*3.28084).toFixed(2)},_e=(pt,St)=>({lng:(pt.lng+St.lng)/2,lat:(pt.lat+St.lat)/2}),we=pt=>{if(pt.length<2)return"0";let St=0;for(let Vt=1;Vt<pt.length;Vt++)St+=parseFloat(ge(pt[Vt-1],pt[Vt]));return pt.length>=3&&(St+=parseFloat(ge(pt[pt.length-1],pt[0]))),St.toFixed(2)},Se=()=>{qe?.value&&(re&&(qe.value.off("click",re),re=null),ce&&(qe.value.off("dblclick",ce),ce=null))},xe=pt=>{if(pt.length<3)return"0";const St=pt.reduce((Wt,en)=>Wt+en.lat,0)/pt.length,Vt=111320,jt=111320*Math.cos(St*Math.PI/180),yt=pt.map(Wt=>({x:Wt.lng*jt,y:Wt.lat*Vt}));let vt=0;for(let Wt=0;Wt<yt.length;Wt++){const en=(Wt+1)%yt.length;vt+=yt[Wt].x*yt[en].y,vt-=yt[en].x*yt[Wt].y}return vt=Math.abs(vt)/2,(vt*10.7639).toFixed(2)},je=()=>{if(fe.value.length<1)return;const pt=`shape-${Date.now()}`;if(fe.value.length===1){const jt=fe.value[0];he.value.push({id:pt,coordinates:[[jt.lng,jt.lat]],points:[jt],isLine:!1,isPoint:!0}),ye.value=pt,me.value="Shape completed",ue("polygonComplete",{type:"Point",coordinates:[jt.lng,jt.lat]}),fe.value=[],Se(),qe?.value&&(qe.value.getCanvas().style.cursor="");return}const St=fe.value.map(jt=>[jt.lng,jt.lat]),Vt=fe.value.length>=3;Vt&&St.push(St[0]),he.value.push({id:pt,coordinates:St,points:[...fe.value],isLine:!Vt,isPoint:!1}),ye.value=pt,me.value="Shape completed",Vt?ue("polygonComplete",{type:"Polygon",coordinates:[St]}):ue("polygonComplete",{type:"LineString",coordinates:St}),fe.value=[],Se(),qe?.value&&(qe.value.getCanvas().style.cursor="")},Me=je,Ae=()=>{if(!ye.value)return;const pt=he.value.findIndex(St=>St.id===ye.value);pt!==-1&&(he.value.splice(pt,1),ye.value=null,me.value="Shape deleted")},Pe=()=>{fe.value=[],Se(),$.value=!1,me.value="Drawing mode ended",qe?.value&&(qe.value.getCanvas().style.cursor="")},Le=()=>{fe.value.length>=1&&je()},Oe=()=>{if(!qe?.value)return;pe=jt=>{const yt=jt.originalEvent?.target;if(!(yt&&(yt.closest(".vertices-table")||yt.closest(".maplibregl-ctrl")))&&ye.value!==null&&fe.value.length===0)try{const vt=qe.value?.getLayer(completedPolygonsLayerId)?qe.value.queryRenderedFeatures(jt.point,{layers:[completedPolygonsLayerId]}):[],Nt=qe.value?.getLayer(completedPolygonsLineLayerId)?qe.value.queryRenderedFeatures(jt.point,{layers:[completedPolygonsLineLayerId]}):[],Wt=qe.value?.getLayer(completedPolygonsPointLayerId)?qe.value.queryRenderedFeatures(jt.point,{layers:[completedPolygonsPointLayerId]}):[];(vt.length>0?vt:Nt.length>0?Nt:Wt).length===0&&(ye.value=null)}catch{}},qe.value.on("click",pe);let pt=null,St=null;qe.value.on("mouseenter",completedPolygonsPointsLayerId,()=>{const jt=He();jt&&!jt.isPoint&&qe?.value&&(qe.value.getCanvas().style.cursor="move")}),qe.value.on("mouseenter",completedPolygonsPointLayerId,()=>{const jt=He();jt&&jt.isPoint&&qe?.value&&(qe.value.getCanvas().style.cursor="move")}),qe.value.on("mouseleave",completedPolygonsPointsLayerId,()=>{!$.value&&qe?.value&&(qe.value.getCanvas().style.cursor="")}),qe.value.on("mouseleave",completedPolygonsPointLayerId,()=>{!$.value&&qe?.value&&(qe.value.getCanvas().style.cursor="")});const Vt=(jt,yt)=>{const vt=He();if(!vt||!jt.features||jt.features.length===0||!qe?.value)return;const Nt=jt.features[0];if(!Nt.properties?.active)return;jt.preventDefault(),yt?(pt=0,St=vt.id):(pt=Nt.properties.index,St=Nt.properties.polygonId),qe.value.getCanvas().style.cursor="grabbing";const Wt=sn=>{if(pt===null||St===null)return;const on=he.value.find(rn=>rn.id===St);if(!on)return;const Rt=sn.lngLat;on.points[pt]={lat:Rt.lat,lng:Rt.lng},on.isPoint?on.coordinates=[[Rt.lng,Rt.lat]]:(on.coordinates=on.points.map(rn=>[rn.lng,rn.lat]),on.isLine||on.coordinates.push(on.coordinates[0]))},en=()=>{pt=null,St=null,qe?.value&&(qe.value.getCanvas().style.cursor="move",qe.value.off("mousemove",Wt),qe.value.off("mouseup",en))};qe.value.on("mousemove",Wt),qe.value.on("mouseup",en)};qe.value.on("mousedown",completedPolygonsPointsLayerId,jt=>{Vt(jt,!1)}),qe.value.on("mousedown",completedPolygonsPointLayerId,jt=>{Vt(jt,!0)})},Ne=pt=>{const St=pt.originalEvent?.target;if(!(St&&(St.closest(".vertices-table")||St.closest(".maplibregl-ctrl")))&&pt.features&&pt.features.length>0){const Vt=pt.features[0].properties?.id;Vt&&($.value=!0,ye.value=Vt)}},Ue=()=>{qe?.value&&($.value=!$.value,$.value?(qe.value.getCanvas().style.cursor="crosshair",fe.value=[],me.value="Drawing mode active",re=pt=>{if(qe?.value){if(fe.value.length>=3){const St=fe.value[0],Vt=pt.lngLat,jt=qe.value.project([St.lng,St.lat]),yt=qe.value.project([Vt.lng,Vt.lat]);if(Math.sqrt(Math.pow(jt.x-yt.x,2)+Math.pow(jt.y-yt.y,2))<10){Me();return}}fe.value.push(pt.lngLat),me.value=`Point added, ${fe.value.length} point${fe.value.length===1?"":"s"} total`}},ce=pt=>{pt.preventDefault(),fe.value.length>0&&fe.value.pop(),fe.value.length>=1&&je()},qe.value.on("click",re),qe.value.on("dblclick",ce)):(Se(),fe.value=[],me.value="Drawing mode ended",qe.value.getCanvas().style.cursor=""))},He=()=>{if(ye.value!==null)return he.value.find(pt=>pt.id===ye.value)},Ve=()=>{if($.value&&fe.value.length>0)return fe.value;const pt=He();return pt?pt.points:[]},Ge=()=>{const pt=Ve();if(pt.length===0&&$.value)return`
571
571
  <div class="draw-instructions">
572
572
  <div class="instructions-title">Measure distances and areas</div>
573
573
  <div class="instructions-text">Start creating a measurement by adding points to the map.</div>
@@ -628,7 +628,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
628
628
  </div>
629
629
  `}
630
630
  ${en}
631
- `},Ye=vue.computed(()=>$.value||ye.value!==null&&!!He());vue.watch(ye,(pt,St)=>{pt!==null&&!$.value?$.value=!0:pt===null&&St!==null&&fe.value.length===0&&($.value=!1)},{flush:"sync"});const Xe=vue.computed(()=>M.position.includes("bottom")),Ke=vue.computed(()=>M.position.includes("top")),Qe=vue.computed(()=>Ge()),tt=pt=>{const Vt=pt.target.closest("button");Vt&&(pt.stopPropagation(),Vt.classList.contains("cancel-btn")?Pe():Vt.classList.contains("finish-btn")?Le():Vt.classList.contains("delete-polygon-btn")&&Ae())};vue.watch([$,fe,ye,he],()=>{},{deep:!0});const qe=vue.inject("map"),nt=vue.inject("isLoaded"),lt=vue.computed(()=>{if(fe.value.length===0)return{type:"geojson",data:{type:"FeatureCollection",features:[]}};const pt=fe.value.map(Vt=>[Vt.lng,Vt.lat]);if(pt.length===1)return{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"Point",coordinates:pt[0]}}};const St=pt.length>=3?[...pt,pt[0]]:pt;return{type:"geojson",data:{type:"Feature",properties:{},geometry:St.length>=4?{type:"Polygon",coordinates:[St]}:{type:"LineString",coordinates:St}}}}),ct=vue.computed(()=>({type:"geojson",data:{type:"FeatureCollection",features:fe.value.map((pt,St)=>({type:"Feature",properties:{index:St},geometry:{type:"Point",coordinates:[pt.lng,pt.lat]}}))}})),mt=vue.computed(()=>{const pt=[];for(let St=1;St<fe.value.length;St++){const Vt=fe.value[St-1],jt=fe.value[St],yt=_e(Vt,jt),vt=ge(Vt,jt);pt.push({type:"Feature",properties:{distance:`${vt} ft`},geometry:{type:"Point",coordinates:[yt.lng,yt.lat]}})}if(fe.value.length>=3){const St=fe.value[0],Vt=fe.value[fe.value.length-1],jt=_e(Vt,St),yt=ge(Vt,St);pt.push({type:"Feature",properties:{distance:`${yt} ft`},geometry:{type:"Point",coordinates:[jt.lng,jt.lat]}})}return{type:"geojson",data:{type:"FeatureCollection",features:pt}}}),st=vue.computed(()=>{const pt=he.value.filter(jt=>!jt.isLine&&!jt.isPoint).map(jt=>({type:"Feature",id:jt.id,properties:{id:jt.id,active:jt.id===ye.value},geometry:{type:"Polygon",coordinates:[jt.coordinates]}})),St=he.value.filter(jt=>jt.isLine).map(jt=>({type:"Feature",id:jt.id,properties:{id:jt.id,active:jt.id===ye.value},geometry:{type:"LineString",coordinates:jt.coordinates}})),Vt=he.value.filter(jt=>jt.isPoint).map(jt=>({type:"Feature",id:jt.id,properties:{id:jt.id,active:jt.id===ye.value},geometry:{type:"Point",coordinates:jt.coordinates[0]}}));return{type:"geojson",data:{type:"FeatureCollection",features:[...pt,...St,...Vt]}}}),dt=vue.computed(()=>({type:"geojson",data:{type:"FeatureCollection",features:he.value.filter(pt=>!pt.isPoint).flatMap(pt=>pt.points.map((St,Vt)=>({type:"Feature",properties:{polygonId:pt.id,index:Vt,active:pt.id===ye.value},geometry:{type:"Point",coordinates:[St.lng,St.lat]}})))}})),wt=vue.computed(()=>{const pt=[];return he.value.forEach(St=>{if(!(St.isPoint||St.points.length<2)){for(let Vt=1;Vt<St.points.length;Vt++){const jt=St.points[Vt-1],yt=St.points[Vt],vt=_e(jt,yt),Nt=ge(jt,yt);pt.push({type:"Feature",properties:{distance:`${Nt} ft`,polygonId:St.id,active:St.id===ye.value},geometry:{type:"Point",coordinates:[vt.lng,vt.lat]}})}if(St.points.length>=3&&!St.isLine){const Vt=St.points[0],jt=St.points[St.points.length-1],yt=_e(jt,Vt),vt=ge(jt,Vt);pt.push({type:"Feature",properties:{distance:`${vt} ft`,polygonId:St.id,active:St.id===ye.value},geometry:{type:"Point",coordinates:[yt.lng,yt.lat]}})}}}),{type:"geojson",data:{type:"FeatureCollection",features:pt}}});vue.onMounted(()=>{typeof window<"u"&&(window.deleteActivePolygon=Ae,window.cancelDrawing=Pe,window.finishDrawing=Le)});let Pt=!1;return vue.watch(()=>nt?.value,pt=>{!pt||!qe?.value||Pt||(Pt=!0,Oe())},{immediate:!0}),vue.onBeforeUnmount(()=>{Se();try{qe?.value&&pe&&qe.value.off("click",pe)}catch{}}),(pt,St)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$e,{key:0,id:drawLayerId,source:lt.value,paint:{"fill-color":"#ff8c00","fill-opacity":.4}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$d,{key:1,id:drawLineLayerId,source:lt.value,paint:{"line-color":"#ff8c00","line-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$c,{key:2,id:"drawing-point-layer",source:lt.value,filter:["==",["geometry-type"],"Point"],paint:{"circle-radius":5,"circle-color":"#ff8c00","circle-stroke-color":"#fff","circle-stroke-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$c,{key:3,id:drawPointsLayerId,source:ct.value,paint:{"circle-radius":5,"circle-color":"#ff8c00","circle-stroke-color":"#fff","circle-stroke-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$b,{key:4,id:drawLabelsLayerId,source:mt.value,layout:{"text-field":["get","distance"],"text-size":12,"text-font":["Open Sans Regular","Arial Unicode MS Regular"]},paint:{"text-color":"#ff0000","text-halo-color":"#ffffff","text-halo-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$e,{id:completedPolygonsLayerId,source:st.value,paint:{"fill-color":"#2196F3","fill-opacity":.3},onClick:Ne},null,8,["source"]),vue.createVNode(_sfc_main$d,{id:completedPolygonsLineLayerId,source:st.value,paint:{"line-color":"#2196F3","line-width":2},onClick:Ne},null,8,["source"]),vue.createVNode(_sfc_main$c,{id:completedPolygonsPointLayerId,source:st.value,filter:["==",["geometry-type"],"Point"],paint:{"circle-radius":["case",["get","active"],7,5],"circle-color":"#2196F3","circle-stroke-color":"#fff","circle-stroke-width":2},onClick:Ne},null,8,["source"]),vue.createVNode(_sfc_main$c,{id:completedPolygonsPointsLayerId,source:dt.value,paint:{"circle-radius":["case",["get","active"],7,5],"circle-color":"#2196F3","circle-stroke-color":"#fff","circle-stroke-width":2}},null,8,["source"]),vue.createVNode(_sfc_main$b,{id:completedPolygonsLabelsLayerId,source:wt.value,layout:{"text-field":["get","distance"],"text-size":12,"text-font":["Open Sans Regular","Arial Unicode MS Regular"]},paint:{"text-color":"#ff0000","text-halo-color":"#ffffff","text-halo-width":2}},null,8,["source"]),vue.createElementVNode("div",_hoisted_1$3,vue.toDisplayString(me.value),1),vue.createVNode(_sfc_main$n,{icon:M.icon,image:vue.unref(V),"image-padding":6,position:M.position,title:M.title,"icon-size":M.iconSize,toggleable:!0,active:vue.unref($),onClick:Ue},null,8,["icon","image","position","title","icon-size","active"]),vue.createVNode(_sfc_main$9,{visible:Ye.value,position:M.position,offset:{x:0,y:Xe.value||Ke.value?10:0},"leave-room-for-controls":!0},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:"vertices-table-content",onClick:tt,innerHTML:Qe.value},null,8,_hoisted_2$3)]),_:1},8,["visible","position","offset"])],64))}}),cyclomediaImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAfCAMAAAG9q83kAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHdUExURQAAAAAAAAAAAAAAAAAAAAAAAAAMDAAJCQkJCQAJCQAICAAICAAICAAHBwAHBwAGBgYGBgUFBQUFBQUFBQUFBQUFBQUFBQAEBAQEBAQEBAQEBAAHBwMDAwMHBwMDAwMHBwMDAwMHBwMHBwMGBgMGBgMGBgMGBgIFBQIFBQUFBQIFBQIFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQEBAIEBAQEBAQEBAQEBAQGBgQGBgQGBgMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMHBwMFBQMFBQMFBQMFBQMFBQMGBgMEBAMEBAMGBgMGBgMEBAMGBgQGBgMGBgMGBgQGBgQGBgMGBgMGBgQGBgMGBgQEBAMGBgQEBAQGBgQEBAIFBQQEBAQEBAIFBQQFBQQFBQQFBQIFBQQFBQQFBQQFBQQFBQQFBQQFBQQFBQMFBQMFBQMFBQMGBgMGBgMGBgMGBgMGBgMGBgMGBgMGBgMGBgMFBQQFBQMFBQQFBQMFBQQFBQQFBQMFBQQFBQQFBQQFBQMGBgQFBQQGBgMFBQQGBgQGBgQFBQQGBgQGBgQFBQQGBgQGBgQGBgQGBgQGBgQGBgQGBgMGBgQGBgQGBgQGBgQGBu9uTskAAACedFJOUwACCQ8TFRUaGxwdHh8gJCcnKy0uLzEzNjY5PEBBQkNERUVITU9TVFZaWltcXF1hYmNkZWZpa25wcnR1eX2AgYOEhoeIiYyNjo6QkpSVl5mam5ydnp6en6CgoaOkpKeoqampqqurrK2vsbKzs7S2t7i6u8PGx8nKy8zNz9DR09Xb3Nzd3t/g4uPk6Ovr7O7v8PDx8vLz9PX29/j5+fz9ORBwcgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAapJREFUKFOdkvtTUlEQxzdRMzQNyXeKVGYvEPKdRgUolZKPCC3T0KzrA1FDTUF6+TY1FCWu2P6t7Tlz8DKD0w9+Zu7d89nvnN2ZOxc4X+mJI8BEC9dZM4CMCE9wA+A69Qk5Tk2A6RD6wryRBGayt/RljZeYLApNAGl+ZXiByoD/XjdrJyhRiQPAOBK1QiSjzTXFNzGx2N29hoSY7G4f6kztq0zq2t/OYHWTc53Ei6+PaUQD2/df9KIyEE/EiZ0JcQZ853qmiEYNihxGdhXR5iQnB7/5kBCTfErwfgEEmPS/tCJ639gWmRTnXUCsr8zgye1bBYiNN9VcMJddv4ZBkvNx8e4OtlWlCTtFZ37BJssPzVdERyCxNifxuQUSGjU2tRumUoMx5+fngdZvqUHHja6yT9kfUgNHRUfR+/RBHH8keCACb4+/c/nxT1o/IE12z1nCSyIwaqyXXLQcsfyO8WobrLLvw4Jfm3vrkR9RCg6Povux3b/0X/HApLVf7gMfBXqDudCh3IjHtoLy0QkF4cjm9z/b4kbzqOdjjeqVhzNSmjXkGX3Kg7MA+Afrr5ruguOvZgAAAABJRU5ErkJggg==",_sfc_main$7=vue.defineComponent({__name:"CyclomediaButton",props:{position:{default:"top-right"},icon:{},image:{},iconSize:{default:29},title:{default:"Street View"},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["toggle","error"],setup(De,{emit:O}){const M=De,V=O,ue=vue.inject("map"),$=M.image||cyclomediaImage,me=vue.ref(M.active),fe=()=>{if(M.disabled)return;if(!ue?.value){V("error",new Error("Map not available"));return}me.value=!me.value;const he=ue.value.getCenter(),ye={lat:he.lat,lng:he.lng};V("toggle",{active:me.value,location:ye})};return vue.watch(()=>M.active,he=>{me.value=he}),(he,ye)=>(vue.openBlock(),vue.createBlock(_sfc_main$n,{class:"cyclomedia-button",image:vue.unref($),position:M.position,title:M.title,"icon-size":M.iconSize,toggleable:!0,active:me.value,disabled:M.disabled,onClick:fe},null,8,["image","position","title","icon-size","active","disabled"]))}}),CyclomediaButton=_export_sfc(_sfc_main$7,[["__scopeId","data-v-14a9036a"]]),CyclomediaButton$1=Object.freeze(Object.defineProperty({__proto__:null,default:CyclomediaButton},Symbol.toStringTag,{value:"Module"}));function getDefaultExportFromCjs$1(De){return De&&De.__esModule&&Object.prototype.hasOwnProperty.call(De,"default")?De.default:De}var pep$1={exports:{}};var pep=pep$1.exports,hasRequiredPep;function requirePep(){return hasRequiredPep||(hasRequiredPep=1,(function(De,O){(function(M,V){De.exports=V()})(pep,function(){var M=["bubbles","cancelable","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],V=[!1,!1,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0];function ue(mn,pn){pn=pn||Object.create(null);var En=document.createEvent("Event");En.initEvent(mn,pn.bubbles||!1,pn.cancelable||!1);for(var Cn=2,Wn;Cn<M.length;Cn++)Wn=M[Cn],En[Wn]=pn[Wn]||V[Cn];En.buttons=pn.buttons||0;var Kn=0;return pn.pressure!==void 0&&En.buttons?Kn=pn.pressure:Kn=En.buttons?.5:0,En.x=En.clientX,En.y=En.clientY,En.pointerId=pn.pointerId||0,En.width=pn.width||1,En.height=pn.height||1,En.pressure=Kn,En.tiltX=pn.tiltX||0,En.tiltY=pn.tiltY||0,En.twist=pn.twist||0,En.tangentialPressure=pn.tangentialPressure||0,En.pointerType=pn.pointerType||"",En.hwTimestamp=pn.hwTimestamp||0,En.isPrimary=pn.isPrimary||!1,En.detail=0,En}var $=window.Map&&window.Map.prototype.forEach,me=$?Map:fe;function fe(){this.array=[],this.size=0}fe.prototype={set:function(mn,pn){if(pn===void 0)return this.delete(mn);this.has(mn)||this.size++,this.array[mn]=pn},has:function(mn){return this.array[mn]!==void 0},delete:function(mn){this.has(mn)&&(delete this.array[mn],this.size--)},get:function(mn){return this.array[mn]},clear:function(){this.array.length=0,this.size=0},forEach:function(mn,pn){return this.array.forEach(function(En,Cn){mn.call(pn,En,Cn,this)},this)}};var he=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],ye=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],re={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},ce=typeof SVGElementInstance<"u",pe={pointermap:new me,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(mn,pn){var En=pn,Cn=En.events;Cn&&(Cn.forEach(function(Wn){En[Wn]&&(this.eventMap[Wn]=En[Wn].bind(En))},this),this.eventSources[mn]=En,this.eventSourceList.push(En))},register:function(mn){for(var pn=this.eventSourceList.length,En=0,Cn;En<pn&&(Cn=this.eventSourceList[En]);En++)Cn.register.call(Cn,mn)},unregister:function(mn){for(var pn=this.eventSourceList.length,En=0,Cn;En<pn&&(Cn=this.eventSourceList[En]);En++)Cn.unregister.call(Cn,mn)},contains:function(mn,pn){try{return mn.contains(pn)}catch{return!1}},down:function(mn){mn.bubbles=!0,this.fireEvent("pointerdown",mn)},move:function(mn){mn.bubbles=!0,this.fireEvent("pointermove",mn)},up:function(mn){mn.bubbles=!0,this.fireEvent("pointerup",mn)},enter:function(mn){mn.bubbles=!1,this.fireEvent("pointerenter",mn)},leave:function(mn){mn.bubbles=!1,this.fireEvent("pointerleave",mn)},over:function(mn){mn.bubbles=!0,this.fireEvent("pointerover",mn)},out:function(mn){mn.bubbles=!0,this.fireEvent("pointerout",mn)},cancel:function(mn){mn.bubbles=!0,this.fireEvent("pointercancel",mn)},leaveOut:function(mn){this.out(mn),this.propagate(mn,this.leave,!1)},enterOver:function(mn){this.over(mn),this.propagate(mn,this.enter,!0)},eventHandler:function(mn){if(!mn._handledByPE){var pn=mn.type,En=this.eventMap&&this.eventMap[pn];En&&En(mn),mn._handledByPE=!0}},listen:function(mn,pn){pn.forEach(function(En){this.addEvent(mn,En)},this)},unlisten:function(mn,pn){pn.forEach(function(En){this.removeEvent(mn,En)},this)},addEvent:function(mn,pn){mn.addEventListener(pn,this.boundHandler)},removeEvent:function(mn,pn){mn.removeEventListener(pn,this.boundHandler)},makeEvent:function(mn,pn){this.captureInfo[pn.pointerId]&&(pn.relatedTarget=null);var En=new ue(mn,pn);return pn.preventDefault&&(En.preventDefault=pn.preventDefault),En._target=En._target||pn.target,En},fireEvent:function(mn,pn){var En=this.makeEvent(mn,pn);return this.dispatchEvent(En)},cloneEvent:function(mn){for(var pn=Object.create(null),En,Cn=0;Cn<he.length;Cn++)En=he[Cn],pn[En]=mn[En]||ye[Cn],ce&&(En==="target"||En==="relatedTarget")&&pn[En]instanceof SVGElementInstance&&(pn[En]=pn[En].correspondingUseElement);return mn.preventDefault&&(pn.preventDefault=function(){mn.preventDefault()}),pn},getTarget:function(mn){var pn=this.captureInfo[mn.pointerId];if(!pn)return mn._target;if(mn._target===pn||!(mn.type in re))return pn},propagate:function(mn,pn,En){for(var Cn=mn.target,Wn=[];Cn!=null&&Cn!==document&&!Cn.contains(mn.relatedTarget);)if(Wn.push(Cn),Cn=Cn.parentNode,!Cn)return;En&&Wn.reverse(),Wn.forEach(function(Kn){mn.target=Kn,pn.call(this,mn)},this)},setCapture:function(mn,pn,En){this.captureInfo[mn]&&this.releaseCapture(mn,En),this.captureInfo[mn]=pn,this.implicitRelease=this.releaseCapture.bind(this,mn,En),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var Cn=new ue("gotpointercapture",{bubbles:!0});Cn.pointerId=mn,Cn._target=pn,En||this.asyncDispatchEvent(Cn)},releaseCapture:function(mn,pn){var En=this.captureInfo[mn];if(En){this.captureInfo[mn]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var Cn=new ue("lostpointercapture",{bubbles:!0});Cn.pointerId=mn,Cn._target=En,pn||this.asyncDispatchEvent(Cn)}},dispatchEvent:function(mn){var pn=this.getTarget(mn);if(pn)return pn.dispatchEvent(mn)},asyncDispatchEvent:function(mn){requestAnimationFrame(this.dispatchEvent.bind(this,mn))}};pe.boundHandler=pe.eventHandler.bind(pe);var ge={shadow:function(mn){if(mn)return mn.shadowRoot||mn.webkitShadowRoot},canTarget:function(mn){return mn&&!!mn.elementFromPoint},targetingShadow:function(mn){var pn=this.shadow(mn);if(this.canTarget(pn))return pn},olderShadow:function(mn){var pn=mn.olderShadowRoot;if(!pn){var En=mn.querySelector("shadow");En&&(pn=En.olderShadowRoot)}return pn},allShadows:function(mn){for(var pn=[],En=this.shadow(mn);En;)pn.push(En),En=this.olderShadow(En);return pn},searchRoot:function(mn,pn,En){if(mn){var Cn=mn.elementFromPoint(pn,En),Wn,Kn;for(Kn=this.targetingShadow(Cn);Kn;)if(Wn=Kn.elementFromPoint(pn,En),!Wn)Kn=this.olderShadow(Kn);else{var mr=this.targetingShadow(Wn);return this.searchRoot(mr,pn,En)||Wn}return Cn}},owner:function(mn){for(var pn=mn;pn.parentNode;)pn=pn.parentNode;return pn.nodeType!==Node.DOCUMENT_NODE&&pn.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(pn=document),pn},findTarget:function(mn){var pn=mn.clientX,En=mn.clientY,Cn=this.owner(mn.target);return Cn.elementFromPoint(pn,En)||(Cn=document),this.searchRoot(Cn,pn,En)}},_e=Array.prototype.forEach.call.bind(Array.prototype.forEach),we=Array.prototype.map.call.bind(Array.prototype.map),Se=Array.prototype.slice.call.bind(Array.prototype.slice),xe=Array.prototype.filter.call.bind(Array.prototype.filter),je=window.MutationObserver||window.WebKitMutationObserver,Me="[touch-action]",Ae={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};function Pe(mn,pn,En,Cn){this.addCallback=mn.bind(Cn),this.removeCallback=pn.bind(Cn),this.changedCallback=En.bind(Cn),je&&(this.observer=new je(this.mutationWatcher.bind(this)))}Pe.prototype={watchSubtree:function(mn){this.observer&&ge.canTarget(mn)&&this.observer.observe(mn,Ae)},enableOnSubtree:function(mn){this.watchSubtree(mn),mn===document&&document.readyState!=="complete"?this.installOnLoad():this.installNewSubtree(mn)},installNewSubtree:function(mn){_e(this.findElements(mn),this.addElement,this)},findElements:function(mn){return mn.querySelectorAll?mn.querySelectorAll(Me):[]},removeElement:function(mn){this.removeCallback(mn)},addElement:function(mn){this.addCallback(mn)},elementChanged:function(mn,pn){this.changedCallback(mn,pn)},concatLists:function(mn,pn){return mn.concat(Se(pn))},installOnLoad:function(){document.addEventListener("readystatechange",(function(){document.readyState==="complete"&&this.installNewSubtree(document)}).bind(this))},isElement:function(mn){return mn.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(mn){var pn=we(mn,this.findElements,this);return pn.push(xe(mn,this.isElement)),pn.reduce(this.concatLists,[])},mutationWatcher:function(mn){mn.forEach(this.mutationHandler,this)},mutationHandler:function(mn){if(mn.type==="childList"){var pn=this.flattenMutationTree(mn.addedNodes);pn.forEach(this.addElement,this);var En=this.flattenMutationTree(mn.removedNodes);En.forEach(this.removeElement,this)}else mn.type==="attributes"&&this.elementChanged(mn.target,mn.oldValue)}};function Le(mn){return"body /shadow-deep/ "+mn}function Oe(mn){return"{ -ms-touch-action: "+mn+"; touch-action: "+mn+"; }"}var Ne=[{selector:'[touch-action="none"]',value:"none"},{selector:'[touch-action="auto"]',value:"auto"},{selector:'[touch-action~="pan-x"]',value:"pan-x"},{selector:'[touch-action~="pan-y"]',value:"pan-y"},{selector:'[touch-action~="pan-up"]',value:"pan-up"},{selector:'[touch-action~="pan-down"]',value:"pan-down"},{selector:'[touch-action~="pan-left"]',value:"pan-left"},{selector:'[touch-action~="pan-right"]',value:"pan-right"}],Ue="",He=window.PointerEvent||window.MSPointerEvent,Ve=!window.ShadowDOMPolyfill&&document.head.createShadowRoot;function Ge(){if(He){Ne.forEach(function(pn){Ue+=pn.selector+Oe(pn.value)+`
631
+ `},Ye=vue.computed(()=>$.value||ye.value!==null&&!!He());vue.watch(ye,(pt,St)=>{pt!==null&&!$.value?$.value=!0:pt===null&&St!==null&&fe.value.length===0&&($.value=!1)},{flush:"sync"});const Xe=vue.computed(()=>M.position.includes("bottom")),Ke=vue.computed(()=>M.position.includes("top")),Qe=vue.computed(()=>Ge()),tt=pt=>{const Vt=pt.target.closest("button");Vt&&(pt.stopPropagation(),Vt.classList.contains("cancel-btn")?Pe():Vt.classList.contains("finish-btn")?Le():Vt.classList.contains("delete-polygon-btn")&&Ae())};vue.watch([$,fe,ye,he],()=>{},{deep:!0});const qe=vue.inject("map"),nt=vue.inject("isLoaded"),lt=vue.computed(()=>{if(fe.value.length===0)return{type:"geojson",data:{type:"FeatureCollection",features:[]}};const pt=fe.value.map(Vt=>[Vt.lng,Vt.lat]);if(pt.length===1)return{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"Point",coordinates:pt[0]}}};const St=pt.length>=3?[...pt,pt[0]]:pt;return{type:"geojson",data:{type:"Feature",properties:{},geometry:St.length>=4?{type:"Polygon",coordinates:[St]}:{type:"LineString",coordinates:St}}}}),ct=vue.computed(()=>({type:"geojson",data:{type:"FeatureCollection",features:fe.value.map((pt,St)=>({type:"Feature",properties:{index:St},geometry:{type:"Point",coordinates:[pt.lng,pt.lat]}}))}})),mt=vue.computed(()=>{const pt=[];for(let St=1;St<fe.value.length;St++){const Vt=fe.value[St-1],jt=fe.value[St],yt=_e(Vt,jt),vt=ge(Vt,jt);pt.push({type:"Feature",properties:{distance:`${vt} ft`},geometry:{type:"Point",coordinates:[yt.lng,yt.lat]}})}if(fe.value.length>=3){const St=fe.value[0],Vt=fe.value[fe.value.length-1],jt=_e(Vt,St),yt=ge(Vt,St);pt.push({type:"Feature",properties:{distance:`${yt} ft`},geometry:{type:"Point",coordinates:[jt.lng,jt.lat]}})}return{type:"geojson",data:{type:"FeatureCollection",features:pt}}}),st=vue.computed(()=>{const pt=he.value.filter(jt=>!jt.isLine&&!jt.isPoint).map(jt=>({type:"Feature",id:jt.id,properties:{id:jt.id,active:jt.id===ye.value},geometry:{type:"Polygon",coordinates:[jt.coordinates]}})),St=he.value.filter(jt=>jt.isLine).map(jt=>({type:"Feature",id:jt.id,properties:{id:jt.id,active:jt.id===ye.value},geometry:{type:"LineString",coordinates:jt.coordinates}})),Vt=he.value.filter(jt=>jt.isPoint).map(jt=>({type:"Feature",id:jt.id,properties:{id:jt.id,active:jt.id===ye.value},geometry:{type:"Point",coordinates:jt.coordinates[0]}}));return{type:"geojson",data:{type:"FeatureCollection",features:[...pt,...St,...Vt]}}}),dt=vue.computed(()=>({type:"geojson",data:{type:"FeatureCollection",features:he.value.filter(pt=>!pt.isPoint).flatMap(pt=>pt.points.map((St,Vt)=>({type:"Feature",properties:{polygonId:pt.id,index:Vt,active:pt.id===ye.value},geometry:{type:"Point",coordinates:[St.lng,St.lat]}})))}})),wt=vue.computed(()=>{const pt=[];return he.value.forEach(St=>{if(!(St.isPoint||St.points.length<2)){for(let Vt=1;Vt<St.points.length;Vt++){const jt=St.points[Vt-1],yt=St.points[Vt],vt=_e(jt,yt),Nt=ge(jt,yt);pt.push({type:"Feature",properties:{distance:`${Nt} ft`,polygonId:St.id,active:St.id===ye.value},geometry:{type:"Point",coordinates:[vt.lng,vt.lat]}})}if(St.points.length>=3&&!St.isLine){const Vt=St.points[0],jt=St.points[St.points.length-1],yt=_e(jt,Vt),vt=ge(jt,Vt);pt.push({type:"Feature",properties:{distance:`${vt} ft`,polygonId:St.id,active:St.id===ye.value},geometry:{type:"Point",coordinates:[yt.lng,yt.lat]}})}}}),{type:"geojson",data:{type:"FeatureCollection",features:pt}}});vue.onMounted(()=>{typeof window<"u"&&(window.deleteActivePolygon=Ae,window.cancelDrawing=Pe,window.finishDrawing=Le)});let Pt=!1;return vue.watch(()=>nt?.value,pt=>{!pt||!qe?.value||Pt||(Pt=!0,Oe())},{immediate:!0}),vue.onBeforeUnmount(()=>{Se();try{qe?.value&&pe&&qe.value.off("click",pe)}catch{}}),(pt,St)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$e,{key:0,id:drawLayerId,source:lt.value,paint:{"fill-color":"#ff8c00","fill-opacity":.4}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$d,{key:1,id:drawLineLayerId,source:lt.value,paint:{"line-color":"#ff8c00","line-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$c,{key:2,id:"drawing-point-layer",source:lt.value,filter:["==",["geometry-type"],"Point"],paint:{"circle-radius":5,"circle-color":"#ff8c00","circle-stroke-color":"#fff","circle-stroke-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$c,{key:3,id:drawPointsLayerId,source:ct.value,paint:{"circle-radius":5,"circle-color":"#ff8c00","circle-stroke-color":"#fff","circle-stroke-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.unref($)?(vue.openBlock(),vue.createBlock(_sfc_main$b,{key:4,id:drawLabelsLayerId,source:mt.value,layout:{"text-field":["get","distance"],"text-size":12,"text-font":["Open Sans Regular","Arial Unicode MS Regular"]},paint:{"text-color":"#ff0000","text-halo-color":"#ffffff","text-halo-width":2}},null,8,["source"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$e,{id:completedPolygonsLayerId,source:st.value,paint:{"fill-color":"#2196F3","fill-opacity":.3},onClick:Ne},null,8,["source"]),vue.createVNode(_sfc_main$d,{id:completedPolygonsLineLayerId,source:st.value,paint:{"line-color":"#2196F3","line-width":2},onClick:Ne},null,8,["source"]),vue.createVNode(_sfc_main$c,{id:completedPolygonsPointLayerId,source:st.value,filter:["==",["geometry-type"],"Point"],paint:{"circle-radius":["case",["get","active"],7,5],"circle-color":"#2196F3","circle-stroke-color":"#fff","circle-stroke-width":2},onClick:Ne},null,8,["source"]),vue.createVNode(_sfc_main$c,{id:completedPolygonsPointsLayerId,source:dt.value,paint:{"circle-radius":["case",["get","active"],7,5],"circle-color":"#2196F3","circle-stroke-color":"#fff","circle-stroke-width":2}},null,8,["source"]),vue.createVNode(_sfc_main$b,{id:completedPolygonsLabelsLayerId,source:wt.value,layout:{"text-field":["get","distance"],"text-size":12,"text-font":["Open Sans Regular","Arial Unicode MS Regular"]},paint:{"text-color":"#ff0000","text-halo-color":"#ffffff","text-halo-width":2}},null,8,["source"]),vue.createElementVNode("div",_hoisted_1$3,vue.toDisplayString(me.value),1),vue.createVNode(_sfc_main$o,{icon:M.icon,image:vue.unref(V),"image-padding":6,position:M.position,title:M.title,"icon-size":M.iconSize,toggleable:!0,active:vue.unref($),onClick:Ue},null,8,["icon","image","position","title","icon-size","active"]),vue.createVNode(_sfc_main$9,{visible:Ye.value,position:M.position,offset:{x:0,y:Xe.value||Ke.value?10:0},"leave-room-for-controls":!0},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:"vertices-table-content",onClick:tt,innerHTML:Qe.value},null,8,_hoisted_2$3)]),_:1},8,["visible","position","offset"])],64))}}),cyclomediaImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAfCAMAAAG9q83kAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHdUExURQAAAAAAAAAAAAAAAAAAAAAAAAAMDAAJCQkJCQAJCQAICAAICAAICAAHBwAHBwAGBgYGBgUFBQUFBQUFBQUFBQUFBQUFBQAEBAQEBAQEBAQEBAAHBwMDAwMHBwMDAwMHBwMDAwMHBwMHBwMGBgMGBgMGBgMGBgIFBQIFBQUFBQIFBQIFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQEBAIEBAQEBAQEBAQEBAQGBgQGBgQGBgMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMHBwMFBQMFBQMFBQMFBQMFBQMGBgMEBAMEBAMGBgMGBgMEBAMGBgQGBgMGBgMGBgQGBgQGBgMGBgMGBgQGBgMGBgQEBAMGBgQEBAQGBgQEBAIFBQQEBAQEBAIFBQQFBQQFBQQFBQIFBQQFBQQFBQQFBQQFBQQFBQQFBQQFBQMFBQMFBQMFBQMGBgMGBgMGBgMGBgMGBgMGBgMGBgMGBgMGBgMFBQQFBQMFBQQFBQMFBQQFBQQFBQMFBQQFBQQFBQQFBQMGBgQFBQQGBgMFBQQGBgQGBgQFBQQGBgQGBgQFBQQGBgQGBgQGBgQGBgQGBgQGBgQGBgMGBgQGBgQGBgQGBgQGBu9uTskAAACedFJOUwACCQ8TFRUaGxwdHh8gJCcnKy0uLzEzNjY5PEBBQkNERUVITU9TVFZaWltcXF1hYmNkZWZpa25wcnR1eX2AgYOEhoeIiYyNjo6QkpSVl5mam5ydnp6en6CgoaOkpKeoqampqqurrK2vsbKzs7S2t7i6u8PGx8nKy8zNz9DR09Xb3Nzd3t/g4uPk6Ovr7O7v8PDx8vLz9PX29/j5+fz9ORBwcgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAapJREFUKFOdkvtTUlEQxzdRMzQNyXeKVGYvEPKdRgUolZKPCC3T0KzrA1FDTUF6+TY1FCWu2P6t7Tlz8DKD0w9+Zu7d89nvnN2ZOxc4X+mJI8BEC9dZM4CMCE9wA+A69Qk5Tk2A6RD6wryRBGayt/RljZeYLApNAGl+ZXiByoD/XjdrJyhRiQPAOBK1QiSjzTXFNzGx2N29hoSY7G4f6kztq0zq2t/OYHWTc53Ei6+PaUQD2/df9KIyEE/EiZ0JcQZ853qmiEYNihxGdhXR5iQnB7/5kBCTfErwfgEEmPS/tCJ639gWmRTnXUCsr8zgye1bBYiNN9VcMJddv4ZBkvNx8e4OtlWlCTtFZ37BJssPzVdERyCxNifxuQUSGjU2tRumUoMx5+fngdZvqUHHja6yT9kfUgNHRUfR+/RBHH8keCACb4+/c/nxT1o/IE12z1nCSyIwaqyXXLQcsfyO8WobrLLvw4Jfm3vrkR9RCg6Povux3b/0X/HApLVf7gMfBXqDudCh3IjHtoLy0QkF4cjm9z/b4kbzqOdjjeqVhzNSmjXkGX3Kg7MA+Afrr5ruguOvZgAAAABJRU5ErkJggg==",_sfc_main$7=vue.defineComponent({__name:"CyclomediaButton",props:{position:{default:"top-right"},icon:{},image:{},iconSize:{default:29},title:{default:"Street View"},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["toggle","error"],setup(De,{emit:O}){const M=De,V=O,ue=vue.inject("map"),$=M.image||cyclomediaImage,me=vue.ref(M.active),fe=()=>{if(M.disabled)return;if(!ue?.value){V("error",new Error("Map not available"));return}me.value=!me.value;const he=ue.value.getCenter(),ye={lat:he.lat,lng:he.lng};V("toggle",{active:me.value,location:ye})};return vue.watch(()=>M.active,he=>{me.value=he}),(he,ye)=>(vue.openBlock(),vue.createBlock(_sfc_main$o,{class:"cyclomedia-button",image:vue.unref($),position:M.position,title:M.title,"icon-size":M.iconSize,toggleable:!0,active:me.value,disabled:M.disabled,onClick:fe},null,8,["image","position","title","icon-size","active","disabled"]))}}),CyclomediaButton=_export_sfc(_sfc_main$7,[["__scopeId","data-v-14a9036a"]]),CyclomediaButton$1=Object.freeze(Object.defineProperty({__proto__:null,default:CyclomediaButton},Symbol.toStringTag,{value:"Module"}));function getDefaultExportFromCjs$1(De){return De&&De.__esModule&&Object.prototype.hasOwnProperty.call(De,"default")?De.default:De}var pep$1={exports:{}};var pep=pep$1.exports,hasRequiredPep;function requirePep(){return hasRequiredPep||(hasRequiredPep=1,(function(De,O){(function(M,V){De.exports=V()})(pep,function(){var M=["bubbles","cancelable","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],V=[!1,!1,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0];function ue(mn,pn){pn=pn||Object.create(null);var En=document.createEvent("Event");En.initEvent(mn,pn.bubbles||!1,pn.cancelable||!1);for(var Cn=2,Wn;Cn<M.length;Cn++)Wn=M[Cn],En[Wn]=pn[Wn]||V[Cn];En.buttons=pn.buttons||0;var Kn=0;return pn.pressure!==void 0&&En.buttons?Kn=pn.pressure:Kn=En.buttons?.5:0,En.x=En.clientX,En.y=En.clientY,En.pointerId=pn.pointerId||0,En.width=pn.width||1,En.height=pn.height||1,En.pressure=Kn,En.tiltX=pn.tiltX||0,En.tiltY=pn.tiltY||0,En.twist=pn.twist||0,En.tangentialPressure=pn.tangentialPressure||0,En.pointerType=pn.pointerType||"",En.hwTimestamp=pn.hwTimestamp||0,En.isPrimary=pn.isPrimary||!1,En.detail=0,En}var $=window.Map&&window.Map.prototype.forEach,me=$?Map:fe;function fe(){this.array=[],this.size=0}fe.prototype={set:function(mn,pn){if(pn===void 0)return this.delete(mn);this.has(mn)||this.size++,this.array[mn]=pn},has:function(mn){return this.array[mn]!==void 0},delete:function(mn){this.has(mn)&&(delete this.array[mn],this.size--)},get:function(mn){return this.array[mn]},clear:function(){this.array.length=0,this.size=0},forEach:function(mn,pn){return this.array.forEach(function(En,Cn){mn.call(pn,En,Cn,this)},this)}};var he=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],ye=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],re={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},ce=typeof SVGElementInstance<"u",pe={pointermap:new me,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(mn,pn){var En=pn,Cn=En.events;Cn&&(Cn.forEach(function(Wn){En[Wn]&&(this.eventMap[Wn]=En[Wn].bind(En))},this),this.eventSources[mn]=En,this.eventSourceList.push(En))},register:function(mn){for(var pn=this.eventSourceList.length,En=0,Cn;En<pn&&(Cn=this.eventSourceList[En]);En++)Cn.register.call(Cn,mn)},unregister:function(mn){for(var pn=this.eventSourceList.length,En=0,Cn;En<pn&&(Cn=this.eventSourceList[En]);En++)Cn.unregister.call(Cn,mn)},contains:function(mn,pn){try{return mn.contains(pn)}catch{return!1}},down:function(mn){mn.bubbles=!0,this.fireEvent("pointerdown",mn)},move:function(mn){mn.bubbles=!0,this.fireEvent("pointermove",mn)},up:function(mn){mn.bubbles=!0,this.fireEvent("pointerup",mn)},enter:function(mn){mn.bubbles=!1,this.fireEvent("pointerenter",mn)},leave:function(mn){mn.bubbles=!1,this.fireEvent("pointerleave",mn)},over:function(mn){mn.bubbles=!0,this.fireEvent("pointerover",mn)},out:function(mn){mn.bubbles=!0,this.fireEvent("pointerout",mn)},cancel:function(mn){mn.bubbles=!0,this.fireEvent("pointercancel",mn)},leaveOut:function(mn){this.out(mn),this.propagate(mn,this.leave,!1)},enterOver:function(mn){this.over(mn),this.propagate(mn,this.enter,!0)},eventHandler:function(mn){if(!mn._handledByPE){var pn=mn.type,En=this.eventMap&&this.eventMap[pn];En&&En(mn),mn._handledByPE=!0}},listen:function(mn,pn){pn.forEach(function(En){this.addEvent(mn,En)},this)},unlisten:function(mn,pn){pn.forEach(function(En){this.removeEvent(mn,En)},this)},addEvent:function(mn,pn){mn.addEventListener(pn,this.boundHandler)},removeEvent:function(mn,pn){mn.removeEventListener(pn,this.boundHandler)},makeEvent:function(mn,pn){this.captureInfo[pn.pointerId]&&(pn.relatedTarget=null);var En=new ue(mn,pn);return pn.preventDefault&&(En.preventDefault=pn.preventDefault),En._target=En._target||pn.target,En},fireEvent:function(mn,pn){var En=this.makeEvent(mn,pn);return this.dispatchEvent(En)},cloneEvent:function(mn){for(var pn=Object.create(null),En,Cn=0;Cn<he.length;Cn++)En=he[Cn],pn[En]=mn[En]||ye[Cn],ce&&(En==="target"||En==="relatedTarget")&&pn[En]instanceof SVGElementInstance&&(pn[En]=pn[En].correspondingUseElement);return mn.preventDefault&&(pn.preventDefault=function(){mn.preventDefault()}),pn},getTarget:function(mn){var pn=this.captureInfo[mn.pointerId];if(!pn)return mn._target;if(mn._target===pn||!(mn.type in re))return pn},propagate:function(mn,pn,En){for(var Cn=mn.target,Wn=[];Cn!=null&&Cn!==document&&!Cn.contains(mn.relatedTarget);)if(Wn.push(Cn),Cn=Cn.parentNode,!Cn)return;En&&Wn.reverse(),Wn.forEach(function(Kn){mn.target=Kn,pn.call(this,mn)},this)},setCapture:function(mn,pn,En){this.captureInfo[mn]&&this.releaseCapture(mn,En),this.captureInfo[mn]=pn,this.implicitRelease=this.releaseCapture.bind(this,mn,En),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var Cn=new ue("gotpointercapture",{bubbles:!0});Cn.pointerId=mn,Cn._target=pn,En||this.asyncDispatchEvent(Cn)},releaseCapture:function(mn,pn){var En=this.captureInfo[mn];if(En){this.captureInfo[mn]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var Cn=new ue("lostpointercapture",{bubbles:!0});Cn.pointerId=mn,Cn._target=En,pn||this.asyncDispatchEvent(Cn)}},dispatchEvent:function(mn){var pn=this.getTarget(mn);if(pn)return pn.dispatchEvent(mn)},asyncDispatchEvent:function(mn){requestAnimationFrame(this.dispatchEvent.bind(this,mn))}};pe.boundHandler=pe.eventHandler.bind(pe);var ge={shadow:function(mn){if(mn)return mn.shadowRoot||mn.webkitShadowRoot},canTarget:function(mn){return mn&&!!mn.elementFromPoint},targetingShadow:function(mn){var pn=this.shadow(mn);if(this.canTarget(pn))return pn},olderShadow:function(mn){var pn=mn.olderShadowRoot;if(!pn){var En=mn.querySelector("shadow");En&&(pn=En.olderShadowRoot)}return pn},allShadows:function(mn){for(var pn=[],En=this.shadow(mn);En;)pn.push(En),En=this.olderShadow(En);return pn},searchRoot:function(mn,pn,En){if(mn){var Cn=mn.elementFromPoint(pn,En),Wn,Kn;for(Kn=this.targetingShadow(Cn);Kn;)if(Wn=Kn.elementFromPoint(pn,En),!Wn)Kn=this.olderShadow(Kn);else{var mr=this.targetingShadow(Wn);return this.searchRoot(mr,pn,En)||Wn}return Cn}},owner:function(mn){for(var pn=mn;pn.parentNode;)pn=pn.parentNode;return pn.nodeType!==Node.DOCUMENT_NODE&&pn.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(pn=document),pn},findTarget:function(mn){var pn=mn.clientX,En=mn.clientY,Cn=this.owner(mn.target);return Cn.elementFromPoint(pn,En)||(Cn=document),this.searchRoot(Cn,pn,En)}},_e=Array.prototype.forEach.call.bind(Array.prototype.forEach),we=Array.prototype.map.call.bind(Array.prototype.map),Se=Array.prototype.slice.call.bind(Array.prototype.slice),xe=Array.prototype.filter.call.bind(Array.prototype.filter),je=window.MutationObserver||window.WebKitMutationObserver,Me="[touch-action]",Ae={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};function Pe(mn,pn,En,Cn){this.addCallback=mn.bind(Cn),this.removeCallback=pn.bind(Cn),this.changedCallback=En.bind(Cn),je&&(this.observer=new je(this.mutationWatcher.bind(this)))}Pe.prototype={watchSubtree:function(mn){this.observer&&ge.canTarget(mn)&&this.observer.observe(mn,Ae)},enableOnSubtree:function(mn){this.watchSubtree(mn),mn===document&&document.readyState!=="complete"?this.installOnLoad():this.installNewSubtree(mn)},installNewSubtree:function(mn){_e(this.findElements(mn),this.addElement,this)},findElements:function(mn){return mn.querySelectorAll?mn.querySelectorAll(Me):[]},removeElement:function(mn){this.removeCallback(mn)},addElement:function(mn){this.addCallback(mn)},elementChanged:function(mn,pn){this.changedCallback(mn,pn)},concatLists:function(mn,pn){return mn.concat(Se(pn))},installOnLoad:function(){document.addEventListener("readystatechange",(function(){document.readyState==="complete"&&this.installNewSubtree(document)}).bind(this))},isElement:function(mn){return mn.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(mn){var pn=we(mn,this.findElements,this);return pn.push(xe(mn,this.isElement)),pn.reduce(this.concatLists,[])},mutationWatcher:function(mn){mn.forEach(this.mutationHandler,this)},mutationHandler:function(mn){if(mn.type==="childList"){var pn=this.flattenMutationTree(mn.addedNodes);pn.forEach(this.addElement,this);var En=this.flattenMutationTree(mn.removedNodes);En.forEach(this.removeElement,this)}else mn.type==="attributes"&&this.elementChanged(mn.target,mn.oldValue)}};function Le(mn){return"body /shadow-deep/ "+mn}function Oe(mn){return"{ -ms-touch-action: "+mn+"; touch-action: "+mn+"; }"}var Ne=[{selector:'[touch-action="none"]',value:"none"},{selector:'[touch-action="auto"]',value:"auto"},{selector:'[touch-action~="pan-x"]',value:"pan-x"},{selector:'[touch-action~="pan-y"]',value:"pan-y"},{selector:'[touch-action~="pan-up"]',value:"pan-up"},{selector:'[touch-action~="pan-down"]',value:"pan-down"},{selector:'[touch-action~="pan-left"]',value:"pan-left"},{selector:'[touch-action~="pan-right"]',value:"pan-right"}],Ue="",He=window.PointerEvent||window.MSPointerEvent,Ve=!window.ShadowDOMPolyfill&&document.head.createShadowRoot;function Ge(){if(He){Ne.forEach(function(pn){Ue+=pn.selector+Oe(pn.value)+`
632
632
  `,Ve&&(Ue+=Le(pn.selector)+Oe(pn.value)+`
633
633
  `)});var mn=document.createElement("style");mn.textContent=Ue,document.head.appendChild(mn)}}var Ye=pe.pointermap,Xe=25,Ke=[1,4,2,8,16],Qe=!1;try{Qe=new MouseEvent("test",{buttons:1}).buttons===1}catch{}var tt={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","webkitmouseforcechanged","mousemove","mouseup","mouseover","mouseout"],register:function(mn){pe.listen(mn,this.events)},unregister:function(mn){pe.unlisten(mn,this.events)},lastTouches:[],isEventSimulatedFromTouch:function(mn){for(var pn=this.lastTouches,En=mn.clientX,Cn=mn.clientY,Wn=0,Kn=pn.length,mr;Wn<Kn&&(mr=pn[Wn]);Wn++){var Fn=Math.abs(En-mr.x),er=Math.abs(Cn-mr.y);if(Fn<=Xe&&er<=Xe)return!0}},prepareEvent:function(mn){var pn=pe.cloneEvent(mn),En=pn.preventDefault;return pn.preventDefault=function(){mn.preventDefault(),En()},pn.pointerId=this.POINTER_ID,pn.isPrimary=!0,pn.pointerType=this.POINTER_TYPE,"webkitForce"in mn&&(pn.pressure=mn.webkitForce-MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN),pn},prepareButtonsForMove:function(mn,pn){var En=Ye.get(this.POINTER_ID);pn.which===0||!En?mn.buttons=0:mn.buttons=En.buttons,pn.buttons=mn.buttons},mousedown:function(mn){if(!this.isEventSimulatedFromTouch(mn)){var pn=Ye.get(this.POINTER_ID),En=this.prepareEvent(mn);Qe||(En.buttons=Ke[En.button],pn&&(En.buttons|=pn.buttons),mn.buttons=En.buttons),Ye.set(this.POINTER_ID,mn),!pn||pn.buttons===0?pe.down(En):pe.move(En)}},webkitmouseforcechanged:function(mn){this.mousemove(mn)},mousemove:function(mn){if(!this.isEventSimulatedFromTouch(mn)){var pn=this.prepareEvent(mn);Qe||this.prepareButtonsForMove(pn,mn),pn.button=-1,Ye.set(this.POINTER_ID,mn),pe.move(pn)}},mouseup:function(mn){if(!this.isEventSimulatedFromTouch(mn)){var pn=Ye.get(this.POINTER_ID),En=this.prepareEvent(mn);if(!Qe){var Cn=Ke[En.button];En.buttons=pn?pn.buttons&~Cn:0,mn.buttons=En.buttons}Ye.set(this.POINTER_ID,mn),En.buttons&=~Ke[En.button],En.buttons===0?pe.up(En):pe.move(En)}},mouseover:function(mn){if(!this.isEventSimulatedFromTouch(mn)){var pn=this.prepareEvent(mn);Qe||this.prepareButtonsForMove(pn,mn),pn.button=-1,Ye.set(this.POINTER_ID,mn),pe.enterOver(pn)}},mouseout:function(mn){if(!this.isEventSimulatedFromTouch(mn)){var pn=this.prepareEvent(mn);Qe||this.prepareButtonsForMove(pn,mn),pn.button=-1,pe.leaveOut(pn)}},cancel:function(mn){var pn=this.prepareEvent(mn);pe.cancel(pn),this.deactivateMouse()},deactivateMouse:function(){Ye.delete(this.POINTER_ID)}},qe=pe.captureInfo,nt=ge.findTarget.bind(ge),lt=ge.allShadows.bind(ge),ct=pe.pointermap,mt=2500,st="touch-action",dt,wt=1,Pt=2,pt=4,St=8,Vt=wt|Pt|pt|St,jt={events:["touchstart","touchmove","touchforcechange","touchend","touchcancel"],register:function(mn){dt.enableOnSubtree(mn)},unregister:function(){},elementAdded:function(mn){var pn=mn.getAttribute(st),En=this.touchActionToScrollType(pn);typeof En=="number"&&(mn._scrollType=En,pe.listen(mn,this.events),lt(mn).forEach(function(Cn){Cn._scrollType=En,pe.listen(Cn,this.events)},this))},elementRemoved:function(mn){if(ct.size>0){var pn=this.events;mn.addEventListener("touchend",function(){mn._scrollType=void 0,pe.unlisten(mn,pn)})}else mn._scrollType=void 0,pe.unlisten(mn,this.events);lt(mn).forEach(function(En){En._scrollType=void 0,pe.unlisten(En,this.events)},this)},elementChanged:function(mn,pn){var En=mn.getAttribute(st),Cn=this.touchActionToScrollType(En),Wn=this.touchActionToScrollType(pn);typeof Cn=="number"&&typeof Wn=="number"?(mn._scrollType=Cn,lt(mn).forEach(function(Kn){Kn._scrollType=Cn},this)):typeof Wn=="number"?this.elementRemoved(mn):typeof Cn=="number"&&this.elementAdded(mn)},scrollTypes:{UP:function(mn){return mn.includes("pan-y")||mn.includes("pan-up")?wt:0},DOWN:function(mn){return mn.includes("pan-y")||mn.includes("pan-down")?Pt:0},LEFT:function(mn){return mn.includes("pan-x")||mn.includes("pan-left")?pt:0},RIGHT:function(mn){return mn.includes("pan-x")||mn.includes("pan-right")?St:0}},touchActionToScrollType:function(mn){if(mn){if(mn==="auto")return Vt;if(mn==="none")return 0;var pn=mn.split(" "),En=this.scrollTypes;return En.UP(pn)|En.DOWN(pn)|En.LEFT(pn)|En.RIGHT(pn)}},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(mn){return this.firstTouch===mn.identifier},setPrimaryTouch:function(mn){(ct.size===0||ct.size===1&&ct.has(1))&&(this.firstTouch=mn.identifier,this.firstXY={X:mn.clientX,Y:mn.clientY},this.scrolling=!1)},removePrimaryPointer:function(mn){mn.isPrimary&&(this.firstTouch=null,this.firstXY=null)},typeToButtons:function(mn){var pn=0;return(mn==="touchstart"||mn==="touchmove"||mn==="touchforcechange")&&(pn=1),pn},touchToPointer:function(mn){var pn=this.currentTouchEvent,En=pe.cloneEvent(mn),Cn=En.pointerId=mn.identifier+2;if(En.target=qe[Cn]||nt(En),En.bubbles=!0,En.cancelable=!0,En.button=0,En.buttons=this.typeToButtons(pn.type),En.width=(mn.radiusX||mn.webkitRadiusX||0)*2,En.height=(mn.radiusY||mn.webkitRadiusY||0)*2,En.pressure=mn.force!==void 0?mn.force:mn.webkitForce!==void 0?mn.webkitForce:void 0,En.isPrimary=this.isPrimaryTouch(mn),mn.altitudeAngle){var Wn=Math.tan(mn.altitudeAngle),Kn=180/Math.PI;En.tiltX=Math.atan(Math.cos(mn.azimuthAngle)/Wn)*Kn,En.tiltY=Math.atan(Math.sin(mn.azimuthAngle)/Wn)*Kn}else En.tiltX=0,En.tiltY=0;mn.touchType==="stylus"?En.pointerType="pen":En.pointerType=this.POINTER_TYPE,En.altKey=pn.altKey,En.ctrlKey=pn.ctrlKey,En.metaKey=pn.metaKey,En.shiftKey=pn.shiftKey;var mr=this;return En.preventDefault=function(){mr.scrolling=!1,mr.firstXY=null,pn.preventDefault()},En},processTouches:function(mn,pn){var En=mn.changedTouches;this.currentTouchEvent=mn;for(var Cn=0,Wn;Cn<En.length;Cn++)Wn=En[Cn],pn.call(this,this.touchToPointer(Wn))},shouldScroll:function(mn){if(this.firstXY){var pn,En=mn.currentTarget._scrollType;if(En===0)pn=!1;else if(En===Vt)pn=!0;else{var Cn=mn.changedTouches[0],Wn=Cn.clientY-this.firstXY.Y,Kn=Math.abs(Wn),mr=Cn.clientX-this.firstXY.X,Fn=Math.abs(mr),er=En&wt,hr=En&Pt,sr=En&pt,Tr=En&St;sr&&Tr?pn=Fn>Kn:sr?pn=Fn>Kn&&mr>0:Tr&&(pn=Fn>Kn&&mr<0),pn||(er&&hr?pn=Fn<Kn:er?pn=Fn<Kn&&Wn>0:hr&&(pn=Fn<Kn&&Wn<0))}return this.firstXY=null,pn}},findTouch:function(mn,pn){for(var En=0,Cn=mn.length,Wn;En<Cn&&(Wn=mn[En]);En++)if(Wn.identifier===pn)return!0},vacuumTouches:function(mn){var pn=mn.touches;if(ct.size>=pn.length){var En=[];ct.forEach(function(Cn,Wn){if(Wn!==1&&!this.findTouch(pn,Wn-2)){var Kn=Cn.out;En.push(Kn)}},this),En.forEach(this.cancelOut,this)}},touchstart:function(mn){this.vacuumTouches(mn),this.setPrimaryTouch(mn.changedTouches[0]),this.dedupSynthMouse(mn),this.scrolling||this.processTouches(mn,this.overDown)},overDown:function(mn){ct.set(mn.pointerId,{target:mn.target,out:mn,outTarget:mn.target}),pe.enterOver(mn),pe.down(mn)},touchforcechange:function(mn){this.touchmove(mn)},touchmove:function(mn){this.scrolling||(this.shouldScroll(mn)?(this.scrolling=!0,this.touchcancel(mn)):(mn.type!=="touchforcechange"&&mn.preventDefault(),this.processTouches(mn,this.moveOverOut)))},moveOverOut:function(mn){var pn=mn,En=ct.get(pn.pointerId);if(En){var Cn=En.out,Wn=En.outTarget;pe.move(pn),Cn&&Wn!==pn.target&&(Cn.relatedTarget=pn.target,pn.relatedTarget=Wn,Cn.target=Wn,pn.target?(pe.leaveOut(Cn),pe.enterOver(pn)):(pn.target=Wn,pn.relatedTarget=null,this.cancelOut(pn))),En.out=pn,En.outTarget=pn.target}},touchend:function(mn){this.dedupSynthMouse(mn),this.processTouches(mn,this.upOut)},upOut:function(mn){this.scrolling||(pe.up(mn),pe.leaveOut(mn)),this.cleanUpPointer(mn)},touchcancel:function(mn){this.processTouches(mn,this.cancelOut)},cancelOut:function(mn){pe.cancel(mn),pe.leaveOut(mn),this.cleanUpPointer(mn)},cleanUpPointer:function(mn){ct.delete(mn.pointerId),this.removePrimaryPointer(mn)},dedupSynthMouse:function(mn){var pn=tt.lastTouches,En=mn.changedTouches[0];if(this.isPrimaryTouch(En)){var Cn={x:En.clientX,y:En.clientY};pn.push(Cn);var Wn=(function(Kn,mr){var Fn=Kn.indexOf(mr);Fn>-1&&Kn.splice(Fn,1)}).bind(null,pn,Cn);setTimeout(Wn,mt)}}};dt=new Pe(jt.elementAdded,jt.elementRemoved,jt.elementChanged,jt);var yt=pe.pointermap,vt=window.MSPointerEvent&&typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE=="number",Nt={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(mn){pe.listen(mn,this.events)},unregister:function(mn){pe.unlisten(mn,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(mn){var pn=mn;return vt&&(pn=pe.cloneEvent(mn),pn.pointerType=this.POINTER_TYPES[mn.pointerType]),pn},cleanup:function(mn){yt.delete(mn)},MSPointerDown:function(mn){yt.set(mn.pointerId,mn);var pn=this.prepareEvent(mn);pe.down(pn)},MSPointerMove:function(mn){var pn=this.prepareEvent(mn);pe.move(pn)},MSPointerUp:function(mn){var pn=this.prepareEvent(mn);pe.up(pn),this.cleanup(mn.pointerId)},MSPointerOut:function(mn){var pn=this.prepareEvent(mn);pe.leaveOut(pn)},MSPointerOver:function(mn){var pn=this.prepareEvent(mn);pe.enterOver(pn)},MSPointerCancel:function(mn){var pn=this.prepareEvent(mn);pe.cancel(pn),this.cleanup(mn.pointerId)},MSLostPointerCapture:function(mn){var pn=pe.makeEvent("lostpointercapture",mn);pe.dispatchEvent(pn)},MSGotPointerCapture:function(mn){var pn=pe.makeEvent("gotpointercapture",mn);pe.dispatchEvent(pn)}};function Wt(){if(!window.PointerEvent){if(window.PointerEvent=ue,window.navigator.msPointerEnabled){var mn=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:mn,enumerable:!0}),pe.registerSource("ms",Nt)}else Object.defineProperty(window.navigator,"maxTouchPoints",{value:0,enumerable:!0}),pe.registerSource("mouse",tt),window.ontouchstart!==void 0&&pe.registerSource("touch",jt);pe.register(document)}}var en=window.navigator,sn,on,Rt;function rn(mn){if(!pe.pointermap.has(mn)){var pn=new Error("NotFoundError");throw pn.name="NotFoundError",pn}}function Gt(mn){for(var pn=mn.parentNode;pn&&pn!==mn.ownerDocument;)pn=pn.parentNode;if(!pn){var En=new Error("InvalidStateError");throw En.name="InvalidStateError",En}}function tn(mn){var pn=pe.pointermap.get(mn);return pn.buttons!==0}en.msPointerEnabled?(sn=function(mn){rn(mn),Gt(this),tn(mn)&&(pe.setCapture(mn,this,!0),this.msSetPointerCapture(mn))},on=function(mn){rn(mn),pe.releaseCapture(mn,!0),this.msReleasePointerCapture(mn)}):(sn=function(pn){rn(pn),Gt(this),tn(pn)&&pe.setCapture(pn,this)},on=function(pn){rn(pn),pe.releaseCapture(pn)}),Rt=function(pn){return!!pe.captureInfo[pn]};function _n(){window.Element&&!window.Element.prototype.setPointerCapture&&Object.defineProperties(window.Element.prototype,{setPointerCapture:{value:sn},releasePointerCapture:{value:on},hasPointerCapture:{value:Rt}})}Ge(),Wt(),_n();var Mn={dispatcher:pe,Installer:Pe,PointerEvent:ue,PointerMap:me,targetFinding:ge};return Mn})})(pep$1)),pep$1.exports}requirePep();var react={exports:{}},react_production_min={};var hasRequiredReact_production_min;function requireReact_production_min(){if(hasRequiredReact_production_min)return react_production_min;hasRequiredReact_production_min=1;var De=Symbol.for("react.element"),O=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),ue=Symbol.for("react.profiler"),$=Symbol.for("react.provider"),me=Symbol.for("react.context"),fe=Symbol.for("react.forward_ref"),he=Symbol.for("react.suspense"),ye=Symbol.for("react.memo"),re=Symbol.for("react.lazy"),ce=Symbol.iterator;function pe(ct){return ct===null||typeof ct!="object"?null:(ct=ce&&ct[ce]||ct["@@iterator"],typeof ct=="function"?ct:null)}var ge={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_e=Object.assign,we={};function Se(ct,mt,st){this.props=ct,this.context=mt,this.refs=we,this.updater=st||ge}Se.prototype.isReactComponent={},Se.prototype.setState=function(ct,mt){if(typeof ct!="object"&&typeof ct!="function"&&ct!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,ct,mt,"setState")},Se.prototype.forceUpdate=function(ct){this.updater.enqueueForceUpdate(this,ct,"forceUpdate")};function xe(){}xe.prototype=Se.prototype;function je(ct,mt,st){this.props=ct,this.context=mt,this.refs=we,this.updater=st||ge}var Me=je.prototype=new xe;Me.constructor=je,_e(Me,Se.prototype),Me.isPureReactComponent=!0;var Ae=Array.isArray,Pe=Object.prototype.hasOwnProperty,Le={current:null},Oe={key:!0,ref:!0,__self:!0,__source:!0};function Ne(ct,mt,st){var dt,wt={},Pt=null,pt=null;if(mt!=null)for(dt in mt.ref!==void 0&&(pt=mt.ref),mt.key!==void 0&&(Pt=""+mt.key),mt)Pe.call(mt,dt)&&!Oe.hasOwnProperty(dt)&&(wt[dt]=mt[dt]);var St=arguments.length-2;if(St===1)wt.children=st;else if(1<St){for(var Vt=Array(St),jt=0;jt<St;jt++)Vt[jt]=arguments[jt+2];wt.children=Vt}if(ct&&ct.defaultProps)for(dt in St=ct.defaultProps,St)wt[dt]===void 0&&(wt[dt]=St[dt]);return{$$typeof:De,type:ct,key:Pt,ref:pt,props:wt,_owner:Le.current}}function Ue(ct,mt){return{$$typeof:De,type:ct.type,key:mt,ref:ct.ref,props:ct.props,_owner:ct._owner}}function He(ct){return typeof ct=="object"&&ct!==null&&ct.$$typeof===De}function Ve(ct){var mt={"=":"=0",":":"=2"};return"$"+ct.replace(/[=:]/g,function(st){return mt[st]})}var Ge=/\/+/g;function Ye(ct,mt){return typeof ct=="object"&&ct!==null&&ct.key!=null?Ve(""+ct.key):mt.toString(36)}function Xe(ct,mt,st,dt,wt){var Pt=typeof ct;(Pt==="undefined"||Pt==="boolean")&&(ct=null);var pt=!1;if(ct===null)pt=!0;else switch(Pt){case"string":case"number":pt=!0;break;case"object":switch(ct.$$typeof){case De:case O:pt=!0}}if(pt)return pt=ct,wt=wt(pt),ct=dt===""?"."+Ye(pt,0):dt,Ae(wt)?(st="",ct!=null&&(st=ct.replace(Ge,"$&/")+"/"),Xe(wt,mt,st,"",function(jt){return jt})):wt!=null&&(He(wt)&&(wt=Ue(wt,st+(!wt.key||pt&&pt.key===wt.key?"":(""+wt.key).replace(Ge,"$&/")+"/")+ct)),mt.push(wt)),1;if(pt=0,dt=dt===""?".":dt+":",Ae(ct))for(var St=0;St<ct.length;St++){Pt=ct[St];var Vt=dt+Ye(Pt,St);pt+=Xe(Pt,mt,st,Vt,wt)}else if(Vt=pe(ct),typeof Vt=="function")for(ct=Vt.call(ct),St=0;!(Pt=ct.next()).done;)Pt=Pt.value,Vt=dt+Ye(Pt,St++),pt+=Xe(Pt,mt,st,Vt,wt);else if(Pt==="object")throw mt=String(ct),Error("Objects are not valid as a React child (found: "+(mt==="[object Object]"?"object with keys {"+Object.keys(ct).join(", ")+"}":mt)+"). If you meant to render a collection of children, use an array instead.");return pt}function Ke(ct,mt,st){if(ct==null)return ct;var dt=[],wt=0;return Xe(ct,dt,"","",function(Pt){return mt.call(st,Pt,wt++)}),dt}function Qe(ct){if(ct._status===-1){var mt=ct._result;mt=mt(),mt.then(function(st){(ct._status===0||ct._status===-1)&&(ct._status=1,ct._result=st)},function(st){(ct._status===0||ct._status===-1)&&(ct._status=2,ct._result=st)}),ct._status===-1&&(ct._status=0,ct._result=mt)}if(ct._status===1)return ct._result.default;throw ct._result}var tt={current:null},qe={transition:null},nt={ReactCurrentDispatcher:tt,ReactCurrentBatchConfig:qe,ReactCurrentOwner:Le};function lt(){throw Error("act(...) is not supported in production builds of React.")}return react_production_min.Children={map:Ke,forEach:function(ct,mt,st){Ke(ct,function(){mt.apply(this,arguments)},st)},count:function(ct){var mt=0;return Ke(ct,function(){mt++}),mt},toArray:function(ct){return Ke(ct,function(mt){return mt})||[]},only:function(ct){if(!He(ct))throw Error("React.Children.only expected to receive a single React element child.");return ct}},react_production_min.Component=Se,react_production_min.Fragment=M,react_production_min.Profiler=ue,react_production_min.PureComponent=je,react_production_min.StrictMode=V,react_production_min.Suspense=he,react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=nt,react_production_min.act=lt,react_production_min.cloneElement=function(ct,mt,st){if(ct==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+ct+".");var dt=_e({},ct.props),wt=ct.key,Pt=ct.ref,pt=ct._owner;if(mt!=null){if(mt.ref!==void 0&&(Pt=mt.ref,pt=Le.current),mt.key!==void 0&&(wt=""+mt.key),ct.type&&ct.type.defaultProps)var St=ct.type.defaultProps;for(Vt in mt)Pe.call(mt,Vt)&&!Oe.hasOwnProperty(Vt)&&(dt[Vt]=mt[Vt]===void 0&&St!==void 0?St[Vt]:mt[Vt])}var Vt=arguments.length-2;if(Vt===1)dt.children=st;else if(1<Vt){St=Array(Vt);for(var jt=0;jt<Vt;jt++)St[jt]=arguments[jt+2];dt.children=St}return{$$typeof:De,type:ct.type,key:wt,ref:Pt,props:dt,_owner:pt}},react_production_min.createContext=function(ct){return ct={$$typeof:me,_currentValue:ct,_currentValue2:ct,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},ct.Provider={$$typeof:$,_context:ct},ct.Consumer=ct},react_production_min.createElement=Ne,react_production_min.createFactory=function(ct){var mt=Ne.bind(null,ct);return mt.type=ct,mt},react_production_min.createRef=function(){return{current:null}},react_production_min.forwardRef=function(ct){return{$$typeof:fe,render:ct}},react_production_min.isValidElement=He,react_production_min.lazy=function(ct){return{$$typeof:re,_payload:{_status:-1,_result:ct},_init:Qe}},react_production_min.memo=function(ct,mt){return{$$typeof:ye,type:ct,compare:mt===void 0?null:mt}},react_production_min.startTransition=function(ct){var mt=qe.transition;qe.transition={};try{ct()}finally{qe.transition=mt}},react_production_min.unstable_act=lt,react_production_min.useCallback=function(ct,mt){return tt.current.useCallback(ct,mt)},react_production_min.useContext=function(ct){return tt.current.useContext(ct)},react_production_min.useDebugValue=function(){},react_production_min.useDeferredValue=function(ct){return tt.current.useDeferredValue(ct)},react_production_min.useEffect=function(ct,mt){return tt.current.useEffect(ct,mt)},react_production_min.useId=function(){return tt.current.useId()},react_production_min.useImperativeHandle=function(ct,mt,st){return tt.current.useImperativeHandle(ct,mt,st)},react_production_min.useInsertionEffect=function(ct,mt){return tt.current.useInsertionEffect(ct,mt)},react_production_min.useLayoutEffect=function(ct,mt){return tt.current.useLayoutEffect(ct,mt)},react_production_min.useMemo=function(ct,mt){return tt.current.useMemo(ct,mt)},react_production_min.useReducer=function(ct,mt,st){return tt.current.useReducer(ct,mt,st)},react_production_min.useRef=function(ct){return tt.current.useRef(ct)},react_production_min.useState=function(ct){return tt.current.useState(ct)},react_production_min.useSyncExternalStore=function(ct,mt,st){return tt.current.useSyncExternalStore(ct,mt,st)},react_production_min.useTransition=function(){return tt.current.useTransition()},react_production_min.version="18.3.1",react_production_min}var react_development={exports:{}};react_development.exports;var hasRequiredReact_development;function requireReact_development(){return hasRequiredReact_development||(hasRequiredReact_development=1,(function(De,O){process.env.NODE_ENV!=="production"&&(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var M="18.3.1",V=Symbol.for("react.element"),ue=Symbol.for("react.portal"),$=Symbol.for("react.fragment"),me=Symbol.for("react.strict_mode"),fe=Symbol.for("react.profiler"),he=Symbol.for("react.provider"),ye=Symbol.for("react.context"),re=Symbol.for("react.forward_ref"),ce=Symbol.for("react.suspense"),pe=Symbol.for("react.suspense_list"),ge=Symbol.for("react.memo"),_e=Symbol.for("react.lazy"),we=Symbol.for("react.offscreen"),Se=Symbol.iterator,xe="@@iterator";function je(vo){if(vo===null||typeof vo!="object")return null;var Ai=Se&&vo[Se]||vo[xe];return typeof Ai=="function"?Ai:null}var Me={current:null},Ae={transition:null},Pe={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},Le={current:null},Oe={},Ne=null;function Ue(vo){Ne=vo}Oe.setExtraStackFrame=function(vo){Ne=vo},Oe.getCurrentStack=null,Oe.getStackAddendum=function(){var vo="";Ne&&(vo+=Ne);var Ai=Oe.getCurrentStack;return Ai&&(vo+=Ai()||""),vo};var He=!1,Ve=!1,Ge=!1,Ye=!1,Xe=!1,Ke={ReactCurrentDispatcher:Me,ReactCurrentBatchConfig:Ae,ReactCurrentOwner:Le};Ke.ReactDebugCurrentFrame=Oe,Ke.ReactCurrentActQueue=Pe;function Qe(vo){{for(var Ai=arguments.length,Hi=new Array(Ai>1?Ai-1:0),Ts=1;Ts<Ai;Ts++)Hi[Ts-1]=arguments[Ts];qe("warn",vo,Hi)}}function tt(vo){{for(var Ai=arguments.length,Hi=new Array(Ai>1?Ai-1:0),Ts=1;Ts<Ai;Ts++)Hi[Ts-1]=arguments[Ts];qe("error",vo,Hi)}}function qe(vo,Ai,Hi){{var Ts=Ke.ReactDebugCurrentFrame,si=Ts.getStackAddendum();si!==""&&(Ai+="%s",Hi=Hi.concat([si]));var ii=Hi.map(function(Si){return String(Si)});ii.unshift("Warning: "+Ai),Function.prototype.apply.call(console[vo],console,ii)}}var nt={};function lt(vo,Ai){{var Hi=vo.constructor,Ts=Hi&&(Hi.displayName||Hi.name)||"ReactClass",si=Ts+"."+Ai;if(nt[si])return;tt("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",Ai,Ts),nt[si]=!0}}var ct={isMounted:function(vo){return!1},enqueueForceUpdate:function(vo,Ai,Hi){lt(vo,"forceUpdate")},enqueueReplaceState:function(vo,Ai,Hi,Ts){lt(vo,"replaceState")},enqueueSetState:function(vo,Ai,Hi,Ts){lt(vo,"setState")}},mt=Object.assign,st={};Object.freeze(st);function dt(vo,Ai,Hi){this.props=vo,this.context=Ai,this.refs=st,this.updater=Hi||ct}dt.prototype.isReactComponent={},dt.prototype.setState=function(vo,Ai){if(typeof vo!="object"&&typeof vo!="function"&&vo!=null)throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,vo,Ai,"setState")},dt.prototype.forceUpdate=function(vo){this.updater.enqueueForceUpdate(this,vo,"forceUpdate")};{var wt={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},Pt=function(vo,Ai){Object.defineProperty(dt.prototype,vo,{get:function(){Qe("%s(...) is deprecated in plain JavaScript React classes. %s",Ai[0],Ai[1])}})};for(var pt in wt)wt.hasOwnProperty(pt)&&Pt(pt,wt[pt])}function St(){}St.prototype=dt.prototype;function Vt(vo,Ai,Hi){this.props=vo,this.context=Ai,this.refs=st,this.updater=Hi||ct}var jt=Vt.prototype=new St;jt.constructor=Vt,mt(jt,dt.prototype),jt.isPureReactComponent=!0;function yt(){var vo={current:null};return Object.seal(vo),vo}var vt=Array.isArray;function Nt(vo){return vt(vo)}function Wt(vo){{var Ai=typeof Symbol=="function"&&Symbol.toStringTag,Hi=Ai&&vo[Symbol.toStringTag]||vo.constructor.name||"Object";return Hi}}function en(vo){try{return sn(vo),!1}catch{return!0}}function sn(vo){return""+vo}function on(vo){if(en(vo))return tt("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Wt(vo)),sn(vo)}function Rt(vo,Ai,Hi){var Ts=vo.displayName;if(Ts)return Ts;var si=Ai.displayName||Ai.name||"";return si!==""?Hi+"("+si+")":Hi}function rn(vo){return vo.displayName||"Context"}function Gt(vo){if(vo==null)return null;if(typeof vo.tag=="number"&&tt("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof vo=="function")return vo.displayName||vo.name||null;if(typeof vo=="string")return vo;switch(vo){case $:return"Fragment";case ue:return"Portal";case fe:return"Profiler";case me:return"StrictMode";case ce:return"Suspense";case pe:return"SuspenseList"}if(typeof vo=="object")switch(vo.$$typeof){case ye:var Ai=vo;return rn(Ai)+".Consumer";case he:var Hi=vo;return rn(Hi._context)+".Provider";case re:return Rt(vo,vo.render,"ForwardRef");case ge:var Ts=vo.displayName||null;return Ts!==null?Ts:Gt(vo.type)||"Memo";case _e:{var si=vo,ii=si._payload,Si=si._init;try{return Gt(Si(ii))}catch{return null}}}return null}var tn=Object.prototype.hasOwnProperty,_n={key:!0,ref:!0,__self:!0,__source:!0},Mn,mn,pn;pn={};function En(vo){if(tn.call(vo,"ref")){var Ai=Object.getOwnPropertyDescriptor(vo,"ref").get;if(Ai&&Ai.isReactWarning)return!1}return vo.ref!==void 0}function Cn(vo){if(tn.call(vo,"key")){var Ai=Object.getOwnPropertyDescriptor(vo,"key").get;if(Ai&&Ai.isReactWarning)return!1}return vo.key!==void 0}function Wn(vo,Ai){var Hi=function(){Mn||(Mn=!0,tt("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",Ai))};Hi.isReactWarning=!0,Object.defineProperty(vo,"key",{get:Hi,configurable:!0})}function Kn(vo,Ai){var Hi=function(){mn||(mn=!0,tt("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",Ai))};Hi.isReactWarning=!0,Object.defineProperty(vo,"ref",{get:Hi,configurable:!0})}function mr(vo){if(typeof vo.ref=="string"&&Le.current&&vo.__self&&Le.current.stateNode!==vo.__self){var Ai=Gt(Le.current.type);pn[Ai]||(tt('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',Ai,vo.ref),pn[Ai]=!0)}}var Fn=function(vo,Ai,Hi,Ts,si,ii,Si){var ms={$$typeof:V,type:vo,key:Ai,ref:Hi,props:Si,_owner:ii};return ms._store={},Object.defineProperty(ms._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(ms,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Ts}),Object.defineProperty(ms,"_source",{configurable:!1,enumerable:!1,writable:!1,value:si}),Object.freeze&&(Object.freeze(ms.props),Object.freeze(ms)),ms};function er(vo,Ai,Hi){var Ts,si={},ii=null,Si=null,ms=null,ps=null;if(Ai!=null){En(Ai)&&(Si=Ai.ref,mr(Ai)),Cn(Ai)&&(on(Ai.key),ii=""+Ai.key),ms=Ai.__self===void 0?null:Ai.__self,ps=Ai.__source===void 0?null:Ai.__source;for(Ts in Ai)tn.call(Ai,Ts)&&!_n.hasOwnProperty(Ts)&&(si[Ts]=Ai[Ts])}var ji=arguments.length-2;if(ji===1)si.children=Hi;else if(ji>1){for(var xr=Array(ji),dr=0;dr<ji;dr++)xr[dr]=arguments[dr+2];Object.freeze&&Object.freeze(xr),si.children=xr}if(vo&&vo.defaultProps){var Zs=vo.defaultProps;for(Ts in Zs)si[Ts]===void 0&&(si[Ts]=Zs[Ts])}if(ii||Si){var Pi=typeof vo=="function"?vo.displayName||vo.name||"Unknown":vo;ii&&Wn(si,Pi),Si&&Kn(si,Pi)}return Fn(vo,ii,Si,ms,ps,Le.current,si)}function hr(vo,Ai){var Hi=Fn(vo.type,Ai,vo.ref,vo._self,vo._source,vo._owner,vo.props);return Hi}function sr(vo,Ai,Hi){if(vo==null)throw new Error("React.cloneElement(...): The argument must be a React element, but you passed "+vo+".");var Ts,si=mt({},vo.props),ii=vo.key,Si=vo.ref,ms=vo._self,ps=vo._source,ji=vo._owner;if(Ai!=null){En(Ai)&&(Si=Ai.ref,ji=Le.current),Cn(Ai)&&(on(Ai.key),ii=""+Ai.key);var xr;vo.type&&vo.type.defaultProps&&(xr=vo.type.defaultProps);for(Ts in Ai)tn.call(Ai,Ts)&&!_n.hasOwnProperty(Ts)&&(Ai[Ts]===void 0&&xr!==void 0?si[Ts]=xr[Ts]:si[Ts]=Ai[Ts])}var dr=arguments.length-2;if(dr===1)si.children=Hi;else if(dr>1){for(var Zs=Array(dr),Pi=0;Pi<dr;Pi++)Zs[Pi]=arguments[Pi+2];si.children=Zs}return Fn(vo.type,ii,Si,ms,ps,ji,si)}function Tr(vo){return typeof vo=="object"&&vo!==null&&vo.$$typeof===V}var Nn=".",ir=":";function Er(vo){var Ai=/[=:]/g,Hi={"=":"=0",":":"=2"},Ts=vo.replace(Ai,function(si){return Hi[si]});return"$"+Ts}var Yr=!1,gr=/\/+/g;function Cr(vo){return vo.replace(gr,"$&/")}function ho(vo,Ai){return typeof vo=="object"&&vo!==null&&vo.key!=null?(on(vo.key),Er(""+vo.key)):Ai.toString(36)}function io(vo,Ai,Hi,Ts,si){var ii=typeof vo;(ii==="undefined"||ii==="boolean")&&(vo=null);var Si=!1;if(vo===null)Si=!0;else switch(ii){case"string":case"number":Si=!0;break;case"object":switch(vo.$$typeof){case V:case ue:Si=!0}}if(Si){var ms=vo,ps=si(ms),ji=Ts===""?Nn+ho(ms,0):Ts;if(Nt(ps)){var xr="";ji!=null&&(xr=Cr(ji)+"/"),io(ps,Ai,xr,"",function(ni){return ni})}else ps!=null&&(Tr(ps)&&(ps.key&&(!ms||ms.key!==ps.key)&&on(ps.key),ps=hr(ps,Hi+(ps.key&&(!ms||ms.key!==ps.key)?Cr(""+ps.key)+"/":"")+ji)),Ai.push(ps));return 1}var dr,Zs,Pi=0,hn=Ts===""?Nn:Ts+ir;if(Nt(vo))for(var Gn=0;Gn<vo.length;Gn++)dr=vo[Gn],Zs=hn+ho(dr,Gn),Pi+=io(dr,Ai,Hi,Zs,si);else{var Tn=je(vo);if(typeof Tn=="function"){var Nr=vo;Tn===Nr.entries&&(Yr||Qe("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Yr=!0);for(var Lr=Tn.call(Nr),yo,bo=0;!(yo=Lr.next()).done;)dr=yo.value,Zs=hn+ho(dr,bo++),Pi+=io(dr,Ai,Hi,Zs,si)}else if(ii==="object"){var xo=String(vo);throw new Error("Objects are not valid as a React child (found: "+(xo==="[object Object]"?"object with keys {"+Object.keys(vo).join(", ")+"}":xo)+"). If you meant to render a collection of children, use an array instead.")}}return Pi}function Sr(vo,Ai,Hi){if(vo==null)return vo;var Ts=[],si=0;return io(vo,Ts,"","",function(ii){return Ai.call(Hi,ii,si++)}),Ts}function Gr(vo){var Ai=0;return Sr(vo,function(){Ai++}),Ai}function eo(vo,Ai,Hi){Sr(vo,function(){Ai.apply(this,arguments)},Hi)}function wo(vo){return Sr(vo,function(Ai){return Ai})||[]}function so(vo){if(!Tr(vo))throw new Error("React.Children.only expected to receive a single React element child.");return vo}function Ro(vo){var Ai={$$typeof:ye,_currentValue:vo,_currentValue2:vo,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};Ai.Provider={$$typeof:he,_context:Ai};var Hi=!1,Ts=!1,si=!1;{var ii={$$typeof:ye,_context:Ai};Object.defineProperties(ii,{Provider:{get:function(){return Ts||(Ts=!0,tt("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")),Ai.Provider},set:function(Si){Ai.Provider=Si}},_currentValue:{get:function(){return Ai._currentValue},set:function(Si){Ai._currentValue=Si}},_currentValue2:{get:function(){return Ai._currentValue2},set:function(Si){Ai._currentValue2=Si}},_threadCount:{get:function(){return Ai._threadCount},set:function(Si){Ai._threadCount=Si}},Consumer:{get:function(){return Hi||(Hi=!0,tt("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")),Ai.Consumer}},displayName:{get:function(){return Ai.displayName},set:function(Si){si||(Qe("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",Si),si=!0)}}}),Ai.Consumer=ii}return Ai._currentRenderer=null,Ai._currentRenderer2=null,Ai}var Xr=-1,Rr=0,$r=1,Or=2;function Vr(vo){if(vo._status===Xr){var Ai=vo._result,Hi=Ai();if(Hi.then(function(ii){if(vo._status===Rr||vo._status===Xr){var Si=vo;Si._status=$r,Si._result=ii}},function(ii){if(vo._status===Rr||vo._status===Xr){var Si=vo;Si._status=Or,Si._result=ii}}),vo._status===Xr){var Ts=vo;Ts._status=Rr,Ts._result=Hi}}if(vo._status===$r){var si=vo._result;return si===void 0&&tt(`lazy: Expected the result of a dynamic import() call. Instead received: %s
634
634
 
@@ -6443,4 +6443,4 @@ void main() {
6443
6443
  </ogc:And>
6444
6444
  </ogc:Filter>
6445
6445
  </wfs:Query>
6446
- </wfs:GetFeature>`}function parseRecordingXml(De){try{const O=pe=>De.getElementsByTagNameNS("*",pe)[0]?.textContent?.trim()||"",M=O("imageId");if(!M)return null;const V=O("pos");let ue,$;if(V){const[pe,ge]=V.split(" ");ue=parseFloat(pe),$=parseFloat(ge)}else ue=parseFloat(O("longitude")||O("lng")),$=parseFloat(O("latitude")||O("lat"));if(isNaN(ue)||isNaN($))return null;const me=parseInt(O("year"),10),fe={imageId:M,lng:ue,lat:$,year:isNaN(me)?new Date().getFullYear():me},he=parseFloat(O("height"));isNaN(he)||(fe.height=he);const ye=O("productType");ye&&(fe.productType=ye);const re=O("recordedAt");if(re){const pe=new Date(re);isNaN(pe.getTime())||(fe.recordedAt=pe)}const ce=O("expiredAt");if(ce){const pe=new Date(ce);isNaN(pe.getTime())||(fe.expiredAt=pe)}return fe}catch{return null}}function buildCyclomediaUrl(De,O,M){const V="https://cyclomedia.phila.gov/",ue=new URLSearchParams({lat:O.toString(),lng:De.toString()});return`${V}?${ue.toString()}`}function sanitizeCredentials(De){const O=[];if((!De.username||typeof De.username!="string"||De.username.trim()==="")&&O.push("username is required and must be a non-empty string"),(!De.password||typeof De.password!="string"||De.password.trim()==="")&&O.push("password is required and must be a non-empty string"),(!De.apiKey||typeof De.apiKey!="string"||De.apiKey.trim()==="")&&O.push("apiKey is required and must be a non-empty string"),(!De.srs||typeof De.srs!="string"||De.srs.trim()==="")&&O.push("srs is required and must be a non-empty string"),O.length>0)throw new Error(`Invalid Cyclomedia credentials: ${O.join(", ")}`);return{...De,username:De.username.trim(),password:De.password.trim(),apiKey:De.apiKey.trim(),srs:De.srs.trim(),locale:De.locale?.trim()||"en-US"}}function debounce(De,O){let M=null;return(...V)=>{M&&clearTimeout(M),M=setTimeout(()=>{De(...V)},O)}}const _hoisted_1$2={class:"cyclomedia-panel"},_hoisted_2$2=["aria-busy"],_hoisted_3$2={key:0,class:"cyclomedia-loading-overlay"},_hoisted_4$1={key:0,class:"cyclomedia-error-overlay",role:"alert"},_hoisted_5$1={class:"cyclomedia-error-content"},_hoisted_6$1={"aria-live":"polite",class:"cyclomedia-sr-only"},_hoisted_7$1={key:0},_sfc_main$6=vue.defineComponent({__name:"CyclomediaPanel",props:{year:{default:void 0},autoOpen:{type:Boolean,default:!1},popOutEnabled:{type:Boolean,default:!0}},emits:["view-change","location-change","year-change","ready","error"],setup(De,{expose:O,emit:M}){const V=faUpRightFromSquare,ue=De,$=vue.inject("cyclomediaConfig",null),me=vue.inject("toolLocation",vue.ref(null)),fe=M,he=vue.ref(null),ye=vue.ref(me.value||null),{isActive:re,isInitialized:ce,isLoading:pe,cameraPosition:ge,currentYear:_e,error:we,initializeStreetSmart:Se,openPanorama:xe,updateLocation:je,cleanup:Me}=useCyclomedia();async function Ae(){if(he.value&&me.value&&$)try{const Le=sanitizeCredentials($);await Se(Le,he.value),await xe({lng:me.value.lng,lat:me.value.lat,year:ue.year,pitch:0}),ye.value=me.value,fe("ready")}catch(Le){fe("error",Le)}}function Pe(){if(!ye.value)return;const Le=buildCyclomediaUrl(ye.value.lng,ye.value.lat,_e.value||void 0);window.open(Le,"_blank","noopener,noreferrer")}return vue.watch(()=>me.value,Le=>{Le&&ce.value&&(je(Le,ue.year),ye.value=Le,fe("location-change",Le))},{deep:!0}),vue.watch(()=>ue.year,Le=>{Le&&ce.value&&ye.value&&je(ye.value,Le)}),vue.watch(ge,Le=>{if(Le&&(fe("view-change",Le),ye.value)){const Oe=Math.abs(Le.lng-ye.value.lng),Ne=Math.abs(Le.lat-ye.value.lat);(Oe>1e-5||Ne>1e-5)&&(ye.value={lng:Le.lng,lat:Le.lat},fe("location-change",ye.value))}}),vue.watch(_e,Le=>{Le!==null&&fe("year-change",Le)}),vue.onMounted(()=>{ue.autoOpen&&me.value&&Ae()}),vue.onBeforeUnmount(()=>{Me()}),O({initializeViewer:Ae,updateLocation:je,isActive:vue.computed(()=>re.value),isLoading:vue.computed(()=>pe.value),error:vue.computed(()=>we.value)}),(Le,Oe)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("div",{ref_key:"viewerContainer",ref:he,class:vue.normalizeClass(["cyclomedia-viewer",{"is-loading":vue.unref(pe)}]),"aria-busy":vue.unref(pe),"aria-hidden":"true"},[vue.unref(pe)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[...Oe[0]||(Oe[0]=[vue.createElementVNode("div",{class:"cyclomedia-spinner"},null,-1),vue.createElementVNode("p",null,"Loading Cyclomedia viewer...",-1)])])):vue.createCommentVNode("",!0)],10,_hoisted_2$2),vue.unref(we)&&!vue.unref(pe)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("div",_hoisted_5$1,[Oe[1]||(Oe[1]=vue.createStaticVNode('<svg class="cyclomedia-error-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" data-v-f2e8a59d><circle cx="12" cy="12" r="10" data-v-f2e8a59d></circle><line x1="12" y1="8" x2="12" y2="12" data-v-f2e8a59d></line><line x1="12" y1="16" x2="12.01" y2="16" data-v-f2e8a59d></line></svg><p class="cyclomedia-error-heading" data-v-f2e8a59d>Error Loading Viewer</p>',2)),vue.createElementVNode("p",null,vue.toDisplayString(vue.unref(we).message),1),vue.unref(me)?(vue.openBlock(),vue.createElementBlock("button",{key:0,class:"cyclomedia-retry-button",onClick:Ae},"Retry")):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.unref(pe)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$1,"Loading Cyclomedia viewer...")):vue.createCommentVNode("",!0)]),De.popOutEnabled?(vue.openBlock(),vue.createElementBlock("button",{key:1,class:"cyclomedia-popout-button",title:"Open in Cyclomedia website","aria-label":"Open in Cyclomedia website",onClick:Pe},[vue.createVNode(vue.unref(FontAwesomeIcon),{icon:vue.unref(V)},null,8,["icon"])])):vue.createCommentVNode("",!0)]))}}),CyclomediaPanel=_export_sfc(_sfc_main$6,[["__scopeId","data-v-f2e8a59d"]]),CyclomediaPanel$1=Object.freeze(Object.defineProperty({__proto__:null,default:CyclomediaPanel},Symbol.toStringTag,{value:"Module"}));function useCyclomediaRecordings(De){const O=vue.ref([]),M=vue.ref(!1),V=vue.ref(null),ue=vue.ref(0),$={baseUrl:"https://streetsmart.cyclomedia.com/api/v1/recordings",srid:4326,maxFeatures:1e3,typeName:"atlas:Recording",...De};function me(re){try{const pe=new DOMParser().parseFromString(re,"text/xml"),ge=pe.querySelector("parsererror");if(ge)throw new Error("XML parsing error: "+ge.textContent);const _e=pe.querySelectorAll("Recording"),we=[];return _e.forEach(Se=>{const xe=parseRecordingXml(Se);xe&&we.push(xe)}),we}catch(ce){throw ce}}function fe(re){try{if(!re.features||!Array.isArray(re.features))throw new Error("Invalid GeoJSON response");return re.features.map(ce=>{const pe=ce.properties,ge=ce.geometry?.coordinates||[],_e={imageId:String(pe.imageId||pe.id||""),lng:ge[0]||0,lat:ge[1]||0,year:Number(pe.year)||new Date().getFullYear()};return pe.height&&(_e.height=Number(pe.height)),pe.productType&&(_e.productType=String(pe.productType)),pe.recordedAt&&(_e.recordedAt=new Date(pe.recordedAt)),pe.expiredAt&&(_e.expiredAt=new Date(pe.expiredAt)),_e})}catch(ce){throw ce}}async function he(re){try{M.value=!0,V.value=null;const ce=buildRecordingsWfsQuery(re,$.srid,$.typeName),pe=$.proxy||$.baseUrl,ge={"Content-Type":"text/xml; charset=utf-8"};$.credentials&&(ge.Authorization=`Basic ${btoa(`${$.credentials.username}:${$.credentials.password}`)}`);const _e=await fetch(pe,{method:"POST",headers:ge,body:ce,credentials:"omit"});if(!_e.ok)throw new Error(`WFS request failed: ${_e.status} ${_e.statusText}`);const we=_e.headers.get("content-type");let Se=[];if(we?.includes("application/json")){const xe=await _e.json();Se=fe(xe)}else{const xe=await _e.text();Se=me(xe)}return O.value=Se,ue.value=Se.length,M.value=!1,Se}catch(ce){throw M.value=!1,V.value={message:ce instanceof Error?ce.message:"Failed to fetch recordings",type:"FETCH_RECORDINGS_ERROR",details:ce},V.value}}function ye(){O.value=[],ue.value=0,V.value=null}return{recordings:vue.readonly(O),isLoading:vue.readonly(M),error:vue.readonly(V),totalCount:vue.readonly(ue),fetchRecordings:he,clearRecordings:ye}}const sourceId="cyclomedia-recordings",layerId="cyclomedia-recordings-layer",_sfc_main$5=vue.defineComponent({__name:"CyclomediaRecordingsLayer",props:{config:{default:void 0},visible:{type:Boolean,default:!0},year:{default:void 0},autoFetch:{type:Boolean,default:!0},selectedRecordingId:{default:void 0},minZoom:{default:17},maxZoom:{default:void 0}},emits:["recording-click","recordings-loaded","error"],setup(De,{expose:O,emit:M}){const V=De,ue=M,$=vue.inject("map"),me=vue.inject("cyclomediaConfig",null),fe=vue.computed(()=>{if(V.config)return V.config;if(me)return{baseUrl:"https://atlasapi.cyclomedia.com/api/recording/wfs",srid:4326,typeName:"atlas:Recording",credentials:{username:me.username,password:me.password}}}),{recordings:he,isLoading:ye,error:re,totalCount:ce,fetchRecordings:pe,clearRecordings:ge}=useCyclomediaRecordings(fe.value),_e=vue.ref(!1),we=vue.computed(()=>({type:"FeatureCollection",features:he.value.filter(Oe=>!(V.year&&Oe.year!==V.year)).map(Oe=>({type:"Feature",geometry:{type:"Point",coordinates:[Oe.lng,Oe.lat]},properties:{imageId:Oe.imageId,year:Oe.year,height:Oe.height,productType:Oe.productType,recordedAt:Oe.recordedAt?.toISOString(),isSelected:Oe.imageId===V.selectedRecordingId}}))}));async function Se(){if(!$?.value||!V.visible)return;const Le=$.value.getBounds(),Oe={minLng:Le.getWest(),minLat:Le.getSouth(),maxLng:Le.getEast(),maxLat:Le.getNorth()};try{await pe(Oe),ue("recordings-loaded",ce.value)}catch(Ne){ue("error",Ne)}}const xe=debounce(Se,500);function je(){if(!$?.value||_e.value)return;const Le=$.value;Le.getSource(sourceId)||Le.addSource(sourceId,{type:"geojson",data:we.value}),Le.getLayer(layerId)||(Le.addLayer({id:layerId,type:"circle",source:sourceId,minzoom:V.minZoom,maxzoom:V.maxZoom,paint:{"circle-radius":["case",["get","isSelected"],10,7],"circle-color":["case",["get","isSelected"],"#2176d2","#0066ff"],"circle-stroke-width":["case",["get","isSelected"],2,1],"circle-stroke-color":["case",["get","isSelected"],"#0044cc","#0044cc"],"circle-opacity":.25}}),Le.on("click",layerId,Ae),Le.on("mouseenter",layerId,()=>{Le.getCanvas().style.cursor="pointer"}),Le.on("mouseleave",layerId,()=>{Le.getCanvas().style.cursor=""}),_e.value=!0)}function Me(){if(!$?.value||!_e.value)return;const Le=$.value;Le.off("click",layerId,Ae),Le.off("mouseenter",layerId,()=>{Le.getCanvas().style.cursor="pointer"}),Le.off("mouseleave",layerId,()=>{Le.getCanvas().style.cursor=""}),Le.getLayer(layerId)&&Le.removeLayer(layerId),Le.getSource(sourceId)&&Le.removeSource(sourceId),_e.value=!1}function Ae(Le){if(!Le.features||Le.features.length===0)return;const Ne=Le.features[0].properties;if(!Ne)return;const Ue=he.value.find(He=>He.imageId===Ne.imageId);Ue&&ue("recording-click",Ue)}vue.watch(we,Le=>{if(!$?.value||!_e.value)return;const Oe=$.value.getSource(sourceId);Oe&&Oe.setData(Le)}),vue.watch(()=>V.visible,Le=>{Le?(je(),V.autoFetch&&Se()):Me()});let Pe=null;return vue.onMounted(()=>{$?.value&&(V.visible&&(je(),V.autoFetch&&Se()),V.autoFetch&&(Pe=()=>xe(),$.value.on("moveend",Pe)))}),vue.onBeforeUnmount(()=>{$?.value&&Pe&&$.value.off("moveend",Pe),Me(),ge()}),O({fetchRecordings:Se,clearRecordings:ge,recordings:vue.computed(()=>he.value),isLoading:vue.computed(()=>ye.value),error:vue.computed(()=>re.value)}),(Le,Oe)=>vue.renderSlot(Le.$slots,"default")}}),pictometryImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAdCAMAAAEfoQfRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKCUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGQAAAAAAAAAAAAAAAAAAAAAREQAAAAAADwANDQAAAAAMDAAAAAsLCwoKCgAAAAAKCgAJCQkJCQkJCQAAAAAAAAgICAcHBwcHBwcHBwcHBwYGBgYGBgAGBgYGBgAGBgYGBgYGBgUFBQAFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQJBAQJCQQEBAQJCQQEBAQEBAQEBAQEBAQECAMDBwMHBwMDAwMHBwMDAwMDAwMGBgMGBgMGBgMGBgMDBgMGBgIFBQUFBQICBQIFBQUFBQIFBQIFBQUFBQIFBQUFBQIFBQIFBQQHBwIEBAIEBAQGBgQEBAQEBgIGBgQGBgQEBAQGBgQGBgMFBQMFBQEFBQUFBwMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQUFBwUFBQMGBgMGBgMFBQMGBgUFBQMGBAMGBgMGBgMGBgQEBAQGBgQGBgMEBAQEBgQGBgQGBgQEBgQFBQQFBQUFBQQFBQQFBQQFBQQGBgQGBgQFBQMFBQIGBgUFBQUFBgIGBgIFBgMGBgIGBgMGBgMGBgMGBgUFBgMGBgQEBgQGBgMGBgMGBgMGBgQEBQQFBQQEBQQFBQMFBQQEBQMEBQQFBQQFBQQFBQMEBQMFBQQEBQQEBQQFBQQFBQQFBQUFBgQEBQQFBQQFBgUEBgQEBQQFBQMFBgQFBgUFBgQFBgQFBQMGBgQFBQUFBgQFBQQFBgUFBgQFBQUFBgQFBgQFBQUFBgQFBgQFBgQGBgUFBgUFBQQGBgUFBgQGBgQGBgQGBgUFBgQGBgUFBgQGBgQGBgUFBgQGBgUFBgUGBlYVBVQAAADTdFJOUwABAgMEBQYJCgoLDA0ODw8QEBMUFRcXGBkZGxscHR4fISIjJCUmJygpKSorLCwtLi8wMTM2Njg4OTo8Pj9AQUJDRUZKS05PU1NXV1haXF5fYmNjZGVoaW1ucnJ0dHd7fIGDhYWGh4iJi4yNjo+Rk5aXmJmZnJ6foKCgoaOlpamqrbCxsrO4u7y/wMTExcbHx8jIycrKy87P0dLT19fY2Nra29vc3d7e3t/f4OHi4+Pj4+Tk5eXl5ufo6enq6urr6+3u7u/x8fLz9fb3+Pr7/Pz9/v6JgfUlAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB00lEQVQoU2OAgMtgYiGIdAAREJDdM4GB4RKIJXlRBkSlbO8xA9EMLXOjJMEMVMCVBqYK9QpAVLXBZCB5eZLmfBDvsibYkhwtEIkMNJShDKB+IQcLzjgxCIdV5arvZb7LByG80st7fK7oVWX6gXksOy6LntfyvdwL5jEwJKttVL+sBuUAgaYllIEBFI2ZoCwGBmen7khmKDuMIZpVOgbKKTslK88v4QZm6+cUr6or2qQKYrPYi55V2j83XQAsc7m1Yv6avd4cbGDO5Ssm21bMugw2PfByXuWquX0QDgP3+ZL1u1w6wGwGhjlm69ctgrIZBE6vnAFlgkAtlMYFRLihDFTArhMSwmttBOXBAaOwRbCrkHNDqrmCFcLTIMDSPNWRgcc/3C7Ljl1LGyoIAkxMGZePX14XxMjA4LX4silUFCiuy8Pmc66GQXzRIcMDCU4zpaDiQNB4IpZv3snL+45t1V++dHe7Oi9UnIEh/zIQNLEKLtiitcCqIClxIiysGUIvAGWmLzl9cpX63nT3c5e7kJxn1Hl5rSfDlG3qG460nbpcDnQJAuTWx5+5slJrdsSyqXJQISjQ7D8aMG2L+uHNxlABZOCxeqetDZSNDlihNAMDAwMAk1OIZ5nKvpIAAAAASUVORK5CYII=",_sfc_main$4=vue.defineComponent({__name:"PictometryButton",props:{position:{default:"top-right"},icon:{},image:{},title:{default:"Oblique View"},active:{type:Boolean,default:!1},iconSize:{default:29},disabled:{type:Boolean,default:!1}},emits:["toggle","error"],setup(De,{emit:O}){const M=De,V=O,ue=vue.inject("map"),$=M.image||pictometryImage,me=vue.ref(M.active),fe=()=>{if(M.disabled)return;if(!ue?.value){V("error",new Error("Map not available"));return}me.value=!me.value;const he=ue.value.getCenter(),ye={lat:he.lat,lng:he.lng};V("toggle",{active:me.value,location:ye})};return vue.watch(()=>M.active,he=>{me.value=he}),(he,ye)=>(vue.openBlock(),vue.createBlock(_sfc_main$n,{class:"pictometry-button",image:vue.unref($),position:M.position,title:M.title,"icon-size":M.iconSize,toggleable:!0,active:me.value,disabled:M.disabled,onClick:fe},null,8,["image","position","title","icon-size","active","disabled"]))}}),PictometryButton=_export_sfc(_sfc_main$4,[["__scopeId","data-v-ef9749b3"]]),PictometryButton$1=Object.freeze(Object.defineProperty({__proto__:null,default:PictometryButton},Symbol.toStringTag,{value:"Module"})),DEFAULT_TOKEN_ENDPOINT="https://apicenter.eagleview.com/oauth2/v1/token",TOKEN_EXPIRY_BUFFER_MS=300*1e3;let cachedToken=null;async function fetchPictometryToken(De,O=DEFAULT_TOKEN_ENDPOINT){if(!De.clientId||!De.clientSecret)throw createAuthError("Missing client credentials",{hasClientId:!!De.clientId,hasClientSecret:!!De.clientSecret});const M=btoa(`${De.clientId}:${De.clientSecret}`);try{const V=await fetch(O,{method:"POST",headers:{Authorization:`Basic ${M}`,"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"client_credentials"})});if(!V.ok){const $=await V.text().catch(()=>"Unknown error");throw createAuthError(`Authentication failed: ${V.status} ${V.statusText}`,{status:V.status,statusText:V.statusText,body:$})}const ue=await V.json();if(!ue.access_token)throw createAuthError("Invalid token response: missing access_token",{response:ue});return ue}catch(V){throw isPictometryError(V)?V:V instanceof TypeError&&V.message.includes("fetch")?createAuthError("Network error: Unable to reach authentication server",{originalError:V.message}):createAuthError(`Authentication request failed: ${V instanceof Error?V.message:"Unknown error"}`,{originalError:V})}}async function getValidToken(De){if(cachedToken&&isTokenValid(cachedToken))return cachedToken.token;const O=await fetchPictometryToken(De.credentials,De.tokenEndpoint||DEFAULT_TOKEN_ENDPOINT);return cachedToken={token:O.access_token,expiresAt:Date.now()+O.expires_in*1e3},cachedToken.token}function isTokenValid(De){return!De.token||!De.expiresAt?!1:De.expiresAt>Date.now()+TOKEN_EXPIRY_BUFFER_MS}function validateCredentials(De){return typeof De.clientId=="string"&&De.clientId.trim().length>0&&typeof De.clientSecret=="string"&&De.clientSecret.trim().length>0}function clearTokenCache(){cachedToken=null}function createAuthError(De,O){return{message:De,type:"auth",details:O}}function isPictometryError(De){return typeof De=="object"&&De!==null&&"message"in De&&"type"in De&&typeof De.type=="string"}const DEFAULT_SDK_URL="https://embedded-explorer.eagleview.com/static/embedded-explorer-widget.js",SCRIPT_ID="pictometry-sdk-script";let loadingPromise=null;function isPictometryLoaded(){return typeof window<"u"&&!!window.ev?.EmbeddedExplorer}async function loadPictometryScript(De=DEFAULT_SDK_URL){if(!isPictometryLoaded()){if(loadingPromise)return loadingPromise;loadingPromise=new Promise((O,M)=>{let V=document.getElementById(SCRIPT_ID);if(V){const ue=()=>{isPictometryLoaded()?O():setTimeout(ue,100)};ue();return}V=document.createElement("script"),V.id=SCRIPT_ID,V.src=De,V.async=!0,V.onload=()=>{const ue=()=>{isPictometryLoaded()?O():setTimeout(ue,50)};ue()},V.onerror=()=>{loadingPromise=null,M(createSdkLoadError(`Failed to load Pictometry SDK from ${De}`))},document.head.appendChild(V)});try{await loadingPromise}catch(O){throw loadingPromise=null,O}}}function getEmbeddedExplorerClass(){if(!isPictometryLoaded())throw createSdkLoadError("Pictometry SDK not loaded. Call loadPictometryScript() first.");return window.ev.EmbeddedExplorer}function createSdkLoadError(De,O){return{message:De,type:"sdk_load",details:O}}const DEFAULT_MARKER_PROPERTIES={eagleview:{subType:"Marker",icon:"FaMapMarkerAlt",style:{color:"#2c63c7",size:34}}};function usePictometry(){const De=vue.ref(!1),O=vue.ref(!1),M=vue.ref(null),V=vue.ref([]),ue=vue.ref(null);let $=null;async function me(Me,Ae,Pe,Le){if(!De.value){O.value=!0,ue.value=null;try{isPictometryLoaded()||await loadPictometryScript();const Ue={authToken:await getValidToken({credentials:Me}),measurementPanelEnabled:Le?.measurementPanelEnabled??!1,searchBarEnabled:Le?.searchBarEnabled??!1,enableDualPaneButton:Le?.enableDualPaneButton??!1,view:{lonLat:Pe?.lonLat??{lon:-75.1652,lat:39.9526},zoom:Pe?.zoom??17,pitch:Pe?.pitch??0,rotation:Pe?.rotation??0},preferences:{imageDisplay:{mainPane:"oblique"}}},He=getEmbeddedExplorerClass();$=new He().mount(Ae,Ue),fe(),M.value=Ue.view,De.value=!0}catch(Oe){throw ue.value=xe(Oe),ue.value}finally{O.value=!1}}}function fe(){$&&($.getLayers(),$.on("onLayersDataLoad",()=>{$&&$.updateLayers({filter:Me=>{Me.visible=!1}})}))}function he(Me,Ae,Pe,Le){if(!$||!De.value)return;const Oe={lonLat:Me};Ae!==void 0&&(Oe.zoom=Ae),Pe!==void 0&&(Oe.pitch=Pe),Le!==void 0&&(Oe.rotation=Le),$.setView(Oe),M.value={...M.value,...Oe}}function ye(Me,Ae){!$||!De.value||(he({lon:Me,lat:Ae}),$.removeFeatures(),re(Me,Ae))}function re(Me,Ae,Pe){if(!$||!De.value)return;const Le=utils.point([Me,Ae],Pe??DEFAULT_MARKER_PROPERTIES);$.addFeatures({geoJson:[Le]})}function ce(){!$||!De.value||$.removeFeatures()}function pe(Me,Ae){!$||!De.value||($.updateLayers({filter:Pe=>{Pe.name===Me&&(Pe.visible=Ae)}}),V.value=V.value.map(Pe=>Pe.name===Me?{...Pe,visible:Ae}:Pe))}function ge(Me){pe("US Parcels",Me)}function _e(Me){pe("Streets",Me)}function we(){return V.value}function Se(){$&&(typeof $.destroy=="function"&&$.destroy(),$=null),De.value=!1,O.value=!1,M.value=null,V.value=[],ue.value=null,clearTokenCache()}function xe(Me){return je(Me)?Me:Me instanceof Error?{message:Me.message,type:"unknown",details:{name:Me.name,stack:Me.stack}}:{message:String(Me),type:"unknown",details:Me}}function je(Me){return typeof Me=="object"&&Me!==null&&"message"in Me&&"type"in Me}return{isInitialized:vue.readonly(De),isLoading:vue.readonly(O),currentView:vue.readonly(M),layers:vue.readonly(V),error:vue.readonly(ue),initializeViewer:me,setView:he,updateLocation:ye,addMarker:re,removeMarkers:ce,setLayerVisibility:pe,setParcelsVisible:ge,setLabelsVisible:_e,getLayers:we,cleanup:Se}}const _hoisted_1$1={class:"pictometry-layer-control"},_hoisted_2$1=["checked"],_hoisted_3$1={class:"pictometry-layer-control-label"},_sfc_main$3=vue.defineComponent({__name:"PictometryLayerControl",props:{layerName:{},label:{},initialState:{type:Boolean,default:!1}},emits:["toggle"],setup(De,{emit:O}){const M=De,V=O,ue=vue.ref(M.initialState);function $(){ue.value=!ue.value,V("toggle",{layerName:M.layerName,visible:ue.value})}return vue.watch(()=>M.initialState,me=>{ue.value=me}),(me,fe)=>(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$1,[vue.createElementVNode("input",{type:"checkbox",checked:ue.value,onChange:$},null,40,_hoisted_2$1),vue.createElementVNode("span",_hoisted_3$1,vue.toDisplayString(De.label),1)]))}}),PictometryLayerControl=_export_sfc(_sfc_main$3,[["__scopeId","data-v-b6d2342b"]]),_sfc_main$2=vue.defineComponent({__name:"PictometryParcelsControl",props:{initialState:{type:Boolean,default:!1}},emits:["toggle"],setup(De,{emit:O}){const M=O;function V(ue){M("toggle",ue)}return(ue,$)=>(vue.openBlock(),vue.createBlock(PictometryLayerControl,{"layer-name":"US Parcels",label:"Parcels","initial-state":De.initialState,onToggle:V},null,8,["initial-state"]))}}),_sfc_main$1=vue.defineComponent({__name:"PictometryLabelsControl",props:{initialState:{type:Boolean,default:!1}},emits:["toggle"],setup(De,{emit:O}){const M=O;function V(ue){M("toggle",ue)}return(ue,$)=>(vue.openBlock(),vue.createBlock(PictometryLayerControl,{"layer-name":"Streets",label:"Street Labels","initial-state":De.initialState,onToggle:V},null,8,["initial-state"]))}}),_hoisted_1={class:"pictometry-panel"},_hoisted_2=["aria-busy"],_hoisted_3={key:0,style:{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",display:"flex","flex-direction":"column","align-items":"center","justify-content":"center","background-color":"#333",color:"#fff","z-index":"1000"}},_hoisted_4={key:0,class:"pictometry-error-overlay",role:"alert"},_hoisted_5={class:"pictometry-error-content"},_hoisted_6={"aria-live":"polite",class:"pictometry-sr-only"},_hoisted_7={key:0},_hoisted_8={key:1,class:"pictometry-layer-controls"},_sfc_main=vue.defineComponent({__name:"PictometryPanel",props:{autoOpen:{type:Boolean,default:!1},popOutEnabled:{type:Boolean,default:!0},showParcels:{type:Boolean,default:!1},showLabels:{type:Boolean,default:!1}},emits:["ready","view-change","error"],setup(De,{expose:O,emit:M}){const V=faUpRightFromSquare,ue=De,$=vue.inject("pictometryCredentials",null),me=vue.inject("toolLocation",vue.ref(null)),fe=M,he=vue.ref(null),ye=vue.ref(me.value||null),{isInitialized:re,isLoading:ce,currentView:pe,error:ge,initializeViewer:_e,updateLocation:we,setParcelsVisible:Se,setLabelsVisible:xe,cleanup:je}=usePictometry(),Me=`pictometry-viewer-${Math.random().toString(36).substring(2,9)}`,Ae=vue.ref(!1);async function Pe(){if(he.value&&me.value){if(!$){fe("error",{message:"Pictometry credentials not provided",type:"config"});return}try{await _e($,Me,{lonLat:{lon:me.value.lng,lat:me.value.lat},zoom:17,pitch:0,rotation:0},{measurementPanelEnabled:!1,searchBarEnabled:!1,enableDualPaneButton:!1}),ue.showParcels&&Se(!0),ue.showLabels&&xe(!0),ye.value=me.value,fe("ready")}catch(He){fe("error",He)}}}function Le(He){Se(He.visible)}function Oe(He){xe(He.visible)}function Ne(){if(!ye.value)return;const He=`https://pictometry.phila.gov/?lat=${ye.value.lat}&lng=${ye.value.lng}`;window.open(He,"_blank","noopener,noreferrer")}async function Ue(){!Ae.value||!me.value||re.value||ce.value||ue.autoOpen&&(await vue.nextTick(),Pe())}return vue.onMounted(async()=>{Ae.value=!0,await Ue()}),vue.watch(()=>me.value,async He=>{He&&(re.value?(we(He.lng,He.lat),ye.value=He):await Ue())},{deep:!0}),vue.watch(pe,He=>{He&&(fe("view-change",He),He.lonLat&&(ye.value={lng:He.lonLat.lon,lat:He.lonLat.lat}))}),vue.onBeforeUnmount(()=>{je()}),O({initializeViewer:Pe,updateLocation:we,isInitialized:vue.computed(()=>re.value),isLoading:vue.computed(()=>ce.value),error:vue.computed(()=>ge.value)}),(He,Ve)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{id:Me,ref_key:"viewerContainer",ref:he,class:vue.normalizeClass(["pictometry-viewer",{"is-loading":vue.unref(ce)}]),"aria-busy":vue.unref(ce),"aria-hidden":"true"},[vue.unref(ce)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3,[...Ve[0]||(Ve[0]=[vue.createElementVNode("div",{style:{width:"40px",height:"40px",border:"3px solid rgba(255, 255, 255, 0.3)","border-top-color":"#fff","border-radius":"50%",animation:"pictometry-spin 1s linear infinite"}},null,-1),vue.createElementVNode("p",{style:{"margin-top":"16px","font-size":"14px",color:"#fff"}},"Loading Pictometry viewer...",-1)])])):vue.createCommentVNode("",!0)],10,_hoisted_2),vue.unref(ge)&&!vue.unref(ce)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[vue.createElementVNode("div",_hoisted_5,[Ve[1]||(Ve[1]=vue.createStaticVNode('<svg class="pictometry-error-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" data-v-0a2fb143><circle cx="12" cy="12" r="10" data-v-0a2fb143></circle><line x1="12" y1="8" x2="12" y2="12" data-v-0a2fb143></line><line x1="12" y1="16" x2="12.01" y2="16" data-v-0a2fb143></line></svg><p class="pictometry-error-heading" data-v-0a2fb143>Error Loading Viewer</p>',2)),vue.createElementVNode("p",null,vue.toDisplayString(vue.unref(ge).message),1),vue.unref(me)?(vue.openBlock(),vue.createElementBlock("button",{key:0,class:"pictometry-retry-button",onClick:Pe},"Retry")):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6,[vue.unref(ce)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7,"Loading Pictometry viewer...")):vue.createCommentVNode("",!0)]),vue.unref(re)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8,[vue.createVNode(_sfc_main$2,{"initial-state":De.showParcels,onToggle:Le},null,8,["initial-state"]),vue.createVNode(_sfc_main$1,{"initial-state":De.showLabels,onToggle:Oe},null,8,["initial-state"])])):vue.createCommentVNode("",!0),De.popOutEnabled?(vue.openBlock(),vue.createElementBlock("button",{key:2,class:"pictometry-popout-button",title:"Open in Pictometry website","aria-label":"Open in Pictometry website",onClick:Ne},[vue.createVNode(vue.unref(FontAwesomeIcon),{icon:vue.unref(V)},null,8,["icon"])])):vue.createCommentVNode("",!0)]))}}),PictometryPanel=_export_sfc(_sfc_main,[["__scopeId","data-v-0a2fb143"]]),PictometryPanel$1=Object.freeze(Object.defineProperty({__proto__:null,default:PictometryPanel},Symbol.toStringTag,{value:"Module"}));exports.CyclomediaButton=CyclomediaButton;exports.CyclomediaPanel=CyclomediaPanel;exports.Map=Map$1;exports.MapIconTextPin=MapIconTextPin;exports.MapLoadingOverlay=MapLoadingOverlay;exports.PictometryButton=PictometryButton;exports.PictometryLayerControl=PictometryLayerControl;exports.PictometryPanel=PictometryPanel;exports._sfc_main=_sfc_main$h;exports._sfc_main$1=_sfc_main$f;exports._sfc_main$10=_sfc_main$n;exports._sfc_main$11=_sfc_main$j;exports._sfc_main$12=_sfc_main$l;exports._sfc_main$13=_sfc_main$m;exports._sfc_main$14=_sfc_main$o;exports._sfc_main$15=_sfc_main$5;exports._sfc_main$16=_sfc_main$2;exports._sfc_main$17=_sfc_main$1;exports._sfc_main$2=_sfc_main$e;exports._sfc_main$3=_sfc_main$d;exports._sfc_main$4=_sfc_main$c;exports._sfc_main$5=_sfc_main$b;exports._sfc_main$6=_sfc_main$q;exports._sfc_main$7=_sfc_main$k;exports._sfc_main$8=_sfc_main$9;exports._sfc_main$9=_sfc_main$8;exports.clearTokenCache=clearTokenCache;exports.defaultBasemapSource=defaultBasemapSource;exports.defaultImageryOptions=defaultImageryOptions;exports.defaultLabelsSource=defaultLabelsSource;exports.getValidToken=getValidToken;exports.imageryLabelsSource=imageryLabelsSource;exports.imageryLabelsUrl=imageryLabelsUrl;exports.imageryParcelOutlinesSource=imageryParcelOutlinesSource;exports.imagerySources=imagerySources;exports.isPictometryLoaded=isPictometryLoaded;exports.loadPictometryScript=loadPictometryScript;exports.validateCredentials=validateCredentials;
6446
+ </wfs:GetFeature>`}function parseRecordingXml(De){try{const O=pe=>De.getElementsByTagNameNS("*",pe)[0]?.textContent?.trim()||"",M=O("imageId");if(!M)return null;const V=O("pos");let ue,$;if(V){const[pe,ge]=V.split(" ");ue=parseFloat(pe),$=parseFloat(ge)}else ue=parseFloat(O("longitude")||O("lng")),$=parseFloat(O("latitude")||O("lat"));if(isNaN(ue)||isNaN($))return null;const me=parseInt(O("year"),10),fe={imageId:M,lng:ue,lat:$,year:isNaN(me)?new Date().getFullYear():me},he=parseFloat(O("height"));isNaN(he)||(fe.height=he);const ye=O("productType");ye&&(fe.productType=ye);const re=O("recordedAt");if(re){const pe=new Date(re);isNaN(pe.getTime())||(fe.recordedAt=pe)}const ce=O("expiredAt");if(ce){const pe=new Date(ce);isNaN(pe.getTime())||(fe.expiredAt=pe)}return fe}catch{return null}}function buildCyclomediaUrl(De,O,M){const V="https://cyclomedia.phila.gov/",ue=new URLSearchParams({lat:O.toString(),lng:De.toString()});return`${V}?${ue.toString()}`}function sanitizeCredentials(De){const O=[];if((!De.username||typeof De.username!="string"||De.username.trim()==="")&&O.push("username is required and must be a non-empty string"),(!De.password||typeof De.password!="string"||De.password.trim()==="")&&O.push("password is required and must be a non-empty string"),(!De.apiKey||typeof De.apiKey!="string"||De.apiKey.trim()==="")&&O.push("apiKey is required and must be a non-empty string"),(!De.srs||typeof De.srs!="string"||De.srs.trim()==="")&&O.push("srs is required and must be a non-empty string"),O.length>0)throw new Error(`Invalid Cyclomedia credentials: ${O.join(", ")}`);return{...De,username:De.username.trim(),password:De.password.trim(),apiKey:De.apiKey.trim(),srs:De.srs.trim(),locale:De.locale?.trim()||"en-US"}}function debounce(De,O){let M=null;return(...V)=>{M&&clearTimeout(M),M=setTimeout(()=>{De(...V)},O)}}const _hoisted_1$2={class:"cyclomedia-panel"},_hoisted_2$2=["aria-busy"],_hoisted_3$2={key:0,class:"cyclomedia-loading-overlay"},_hoisted_4$1={key:0,class:"cyclomedia-error-overlay",role:"alert"},_hoisted_5$1={class:"cyclomedia-error-content"},_hoisted_6$1={"aria-live":"polite",class:"cyclomedia-sr-only"},_hoisted_7$1={key:0},_sfc_main$6=vue.defineComponent({__name:"CyclomediaPanel",props:{year:{default:void 0},autoOpen:{type:Boolean,default:!1},popOutEnabled:{type:Boolean,default:!0}},emits:["view-change","location-change","year-change","ready","error"],setup(De,{expose:O,emit:M}){const V=faUpRightFromSquare,ue=De,$=vue.inject("cyclomediaConfig",null),me=vue.inject("toolLocation",vue.ref(null)),fe=M,he=vue.ref(null),ye=vue.ref(me.value||null),{isActive:re,isInitialized:ce,isLoading:pe,cameraPosition:ge,currentYear:_e,error:we,initializeStreetSmart:Se,openPanorama:xe,updateLocation:je,cleanup:Me}=useCyclomedia();async function Ae(){if(he.value&&me.value&&$)try{const Le=sanitizeCredentials($);await Se(Le,he.value),await xe({lng:me.value.lng,lat:me.value.lat,year:ue.year,pitch:0}),ye.value=me.value,fe("ready")}catch(Le){fe("error",Le)}}function Pe(){if(!ye.value)return;const Le=buildCyclomediaUrl(ye.value.lng,ye.value.lat,_e.value||void 0);window.open(Le,"_blank","noopener,noreferrer")}return vue.watch(()=>me.value,Le=>{Le&&ce.value&&(je(Le,ue.year),ye.value=Le,fe("location-change",Le))},{deep:!0}),vue.watch(()=>ue.year,Le=>{Le&&ce.value&&ye.value&&je(ye.value,Le)}),vue.watch(ge,Le=>{if(Le&&(fe("view-change",Le),ye.value)){const Oe=Math.abs(Le.lng-ye.value.lng),Ne=Math.abs(Le.lat-ye.value.lat);(Oe>1e-5||Ne>1e-5)&&(ye.value={lng:Le.lng,lat:Le.lat},fe("location-change",ye.value))}}),vue.watch(_e,Le=>{Le!==null&&fe("year-change",Le)}),vue.onMounted(()=>{ue.autoOpen&&me.value&&Ae()}),vue.onBeforeUnmount(()=>{Me()}),O({initializeViewer:Ae,updateLocation:je,isActive:vue.computed(()=>re.value),isLoading:vue.computed(()=>pe.value),error:vue.computed(()=>we.value)}),(Le,Oe)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("div",{ref_key:"viewerContainer",ref:he,class:vue.normalizeClass(["cyclomedia-viewer",{"is-loading":vue.unref(pe)}]),"aria-busy":vue.unref(pe),"aria-hidden":"true"},[vue.unref(pe)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[...Oe[0]||(Oe[0]=[vue.createElementVNode("div",{class:"cyclomedia-spinner"},null,-1),vue.createElementVNode("p",null,"Loading Cyclomedia viewer...",-1)])])):vue.createCommentVNode("",!0)],10,_hoisted_2$2),vue.unref(we)&&!vue.unref(pe)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("div",_hoisted_5$1,[Oe[1]||(Oe[1]=vue.createStaticVNode('<svg class="cyclomedia-error-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" data-v-f2e8a59d><circle cx="12" cy="12" r="10" data-v-f2e8a59d></circle><line x1="12" y1="8" x2="12" y2="12" data-v-f2e8a59d></line><line x1="12" y1="16" x2="12.01" y2="16" data-v-f2e8a59d></line></svg><p class="cyclomedia-error-heading" data-v-f2e8a59d>Error Loading Viewer</p>',2)),vue.createElementVNode("p",null,vue.toDisplayString(vue.unref(we).message),1),vue.unref(me)?(vue.openBlock(),vue.createElementBlock("button",{key:0,class:"cyclomedia-retry-button",onClick:Ae},"Retry")):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.unref(pe)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$1,"Loading Cyclomedia viewer...")):vue.createCommentVNode("",!0)]),De.popOutEnabled?(vue.openBlock(),vue.createElementBlock("button",{key:1,class:"cyclomedia-popout-button",title:"Open in Cyclomedia website","aria-label":"Open in Cyclomedia website",onClick:Pe},[vue.createVNode(vue.unref(FontAwesomeIcon),{icon:vue.unref(V)},null,8,["icon"])])):vue.createCommentVNode("",!0)]))}}),CyclomediaPanel=_export_sfc(_sfc_main$6,[["__scopeId","data-v-f2e8a59d"]]),CyclomediaPanel$1=Object.freeze(Object.defineProperty({__proto__:null,default:CyclomediaPanel},Symbol.toStringTag,{value:"Module"}));function useCyclomediaRecordings(De){const O=vue.ref([]),M=vue.ref(!1),V=vue.ref(null),ue=vue.ref(0),$={baseUrl:"https://streetsmart.cyclomedia.com/api/v1/recordings",srid:4326,maxFeatures:1e3,typeName:"atlas:Recording",...De};function me(re){try{const pe=new DOMParser().parseFromString(re,"text/xml"),ge=pe.querySelector("parsererror");if(ge)throw new Error("XML parsing error: "+ge.textContent);const _e=pe.querySelectorAll("Recording"),we=[];return _e.forEach(Se=>{const xe=parseRecordingXml(Se);xe&&we.push(xe)}),we}catch(ce){throw ce}}function fe(re){try{if(!re.features||!Array.isArray(re.features))throw new Error("Invalid GeoJSON response");return re.features.map(ce=>{const pe=ce.properties,ge=ce.geometry?.coordinates||[],_e={imageId:String(pe.imageId||pe.id||""),lng:ge[0]||0,lat:ge[1]||0,year:Number(pe.year)||new Date().getFullYear()};return pe.height&&(_e.height=Number(pe.height)),pe.productType&&(_e.productType=String(pe.productType)),pe.recordedAt&&(_e.recordedAt=new Date(pe.recordedAt)),pe.expiredAt&&(_e.expiredAt=new Date(pe.expiredAt)),_e})}catch(ce){throw ce}}async function he(re){try{M.value=!0,V.value=null;const ce=buildRecordingsWfsQuery(re,$.srid,$.typeName),pe=$.proxy||$.baseUrl,ge={"Content-Type":"text/xml; charset=utf-8"};$.credentials&&(ge.Authorization=`Basic ${btoa(`${$.credentials.username}:${$.credentials.password}`)}`);const _e=await fetch(pe,{method:"POST",headers:ge,body:ce,credentials:"omit"});if(!_e.ok)throw new Error(`WFS request failed: ${_e.status} ${_e.statusText}`);const we=_e.headers.get("content-type");let Se=[];if(we?.includes("application/json")){const xe=await _e.json();Se=fe(xe)}else{const xe=await _e.text();Se=me(xe)}return O.value=Se,ue.value=Se.length,M.value=!1,Se}catch(ce){throw M.value=!1,V.value={message:ce instanceof Error?ce.message:"Failed to fetch recordings",type:"FETCH_RECORDINGS_ERROR",details:ce},V.value}}function ye(){O.value=[],ue.value=0,V.value=null}return{recordings:vue.readonly(O),isLoading:vue.readonly(M),error:vue.readonly(V),totalCount:vue.readonly(ue),fetchRecordings:he,clearRecordings:ye}}const sourceId="cyclomedia-recordings",layerId="cyclomedia-recordings-layer",_sfc_main$5=vue.defineComponent({__name:"CyclomediaRecordingsLayer",props:{config:{default:void 0},visible:{type:Boolean,default:!0},year:{default:void 0},autoFetch:{type:Boolean,default:!0},selectedRecordingId:{default:void 0},minZoom:{default:17},maxZoom:{default:void 0}},emits:["recording-click","recordings-loaded","error"],setup(De,{expose:O,emit:M}){const V=De,ue=M,$=vue.inject("map"),me=vue.inject("cyclomediaConfig",null),fe=vue.computed(()=>{if(V.config)return V.config;if(me)return{baseUrl:"https://atlasapi.cyclomedia.com/api/recording/wfs",srid:4326,typeName:"atlas:Recording",credentials:{username:me.username,password:me.password}}}),{recordings:he,isLoading:ye,error:re,totalCount:ce,fetchRecordings:pe,clearRecordings:ge}=useCyclomediaRecordings(fe.value),_e=vue.ref(!1),we=vue.computed(()=>({type:"FeatureCollection",features:he.value.filter(Oe=>!(V.year&&Oe.year!==V.year)).map(Oe=>({type:"Feature",geometry:{type:"Point",coordinates:[Oe.lng,Oe.lat]},properties:{imageId:Oe.imageId,year:Oe.year,height:Oe.height,productType:Oe.productType,recordedAt:Oe.recordedAt?.toISOString(),isSelected:Oe.imageId===V.selectedRecordingId}}))}));async function Se(){if(!$?.value||!V.visible)return;const Le=$.value.getBounds(),Oe={minLng:Le.getWest(),minLat:Le.getSouth(),maxLng:Le.getEast(),maxLat:Le.getNorth()};try{await pe(Oe),ue("recordings-loaded",ce.value)}catch(Ne){ue("error",Ne)}}const xe=debounce(Se,500);function je(){if(!$?.value||_e.value)return;const Le=$.value;Le.getSource(sourceId)||Le.addSource(sourceId,{type:"geojson",data:we.value}),Le.getLayer(layerId)||(Le.addLayer({id:layerId,type:"circle",source:sourceId,minzoom:V.minZoom,maxzoom:V.maxZoom,paint:{"circle-radius":["case",["get","isSelected"],10,7],"circle-color":["case",["get","isSelected"],"#2176d2","#0066ff"],"circle-stroke-width":["case",["get","isSelected"],2,1],"circle-stroke-color":["case",["get","isSelected"],"#0044cc","#0044cc"],"circle-opacity":.25}}),Le.on("click",layerId,Ae),Le.on("mouseenter",layerId,()=>{Le.getCanvas().style.cursor="pointer"}),Le.on("mouseleave",layerId,()=>{Le.getCanvas().style.cursor=""}),_e.value=!0)}function Me(){if(!$?.value||!_e.value)return;const Le=$.value;Le.off("click",layerId,Ae),Le.off("mouseenter",layerId,()=>{Le.getCanvas().style.cursor="pointer"}),Le.off("mouseleave",layerId,()=>{Le.getCanvas().style.cursor=""}),Le.getLayer(layerId)&&Le.removeLayer(layerId),Le.getSource(sourceId)&&Le.removeSource(sourceId),_e.value=!1}function Ae(Le){if(!Le.features||Le.features.length===0)return;const Ne=Le.features[0].properties;if(!Ne)return;const Ue=he.value.find(He=>He.imageId===Ne.imageId);Ue&&ue("recording-click",Ue)}vue.watch(we,Le=>{if(!$?.value||!_e.value)return;const Oe=$.value.getSource(sourceId);Oe&&Oe.setData(Le)}),vue.watch(()=>V.visible,Le=>{Le?(je(),V.autoFetch&&Se()):Me()});let Pe=null;return vue.onMounted(()=>{$?.value&&(V.visible&&(je(),V.autoFetch&&Se()),V.autoFetch&&(Pe=()=>xe(),$.value.on("moveend",Pe)))}),vue.onBeforeUnmount(()=>{$?.value&&Pe&&$.value.off("moveend",Pe),Me(),ge()}),O({fetchRecordings:Se,clearRecordings:ge,recordings:vue.computed(()=>he.value),isLoading:vue.computed(()=>ye.value),error:vue.computed(()=>re.value)}),(Le,Oe)=>vue.renderSlot(Le.$slots,"default")}}),pictometryImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAdCAMAAAEfoQfRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKCUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGQAAAAAAAAAAAAAAAAAAAAAREQAAAAAADwANDQAAAAAMDAAAAAsLCwoKCgAAAAAKCgAJCQkJCQkJCQAAAAAAAAgICAcHBwcHBwcHBwcHBwYGBgYGBgAGBgYGBgAGBgYGBgYGBgUFBQAFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQJBAQJCQQEBAQJCQQEBAQEBAQEBAQEBAQECAMDBwMHBwMDAwMHBwMDAwMDAwMGBgMGBgMGBgMGBgMDBgMGBgIFBQUFBQICBQIFBQUFBQIFBQIFBQUFBQIFBQUFBQIFBQIFBQQHBwIEBAIEBAQGBgQEBAQEBgIGBgQGBgQEBAQGBgQGBgMFBQMFBQEFBQUFBwMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQMFBQUFBwUFBQMGBgMGBgMFBQMGBgUFBQMGBAMGBgMGBgMGBgQEBAQGBgQGBgMEBAQEBgQGBgQGBgQEBgQFBQQFBQUFBQQFBQQFBQQFBQQGBgQGBgQFBQMFBQIGBgUFBQUFBgIGBgIFBgMGBgIGBgMGBgMGBgMGBgUFBgMGBgQEBgQGBgMGBgMGBgMGBgQEBQQFBQQEBQQFBQMFBQQEBQMEBQQFBQQFBQQFBQMEBQMFBQQEBQQEBQQFBQQFBQQFBQUFBgQEBQQFBQQFBgUEBgQEBQQFBQMFBgQFBgUFBgQFBgQFBQMGBgQFBQUFBgQFBQQFBgUFBgQFBQUFBgQFBgQFBQUFBgQFBgQFBgQGBgUFBgUFBQQGBgUFBgQGBgQGBgQGBgUFBgQGBgUFBgQGBgQGBgUFBgQGBgUFBgUGBlYVBVQAAADTdFJOUwABAgMEBQYJCgoLDA0ODw8QEBMUFRcXGBkZGxscHR4fISIjJCUmJygpKSorLCwtLi8wMTM2Njg4OTo8Pj9AQUJDRUZKS05PU1NXV1haXF5fYmNjZGVoaW1ucnJ0dHd7fIGDhYWGh4iJi4yNjo+Rk5aXmJmZnJ6foKCgoaOlpamqrbCxsrO4u7y/wMTExcbHx8jIycrKy87P0dLT19fY2Nra29vc3d7e3t/f4OHi4+Pj4+Tk5eXl5ufo6enq6urr6+3u7u/x8fLz9fb3+Pr7/Pz9/v6JgfUlAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB00lEQVQoU2OAgMtgYiGIdAAREJDdM4GB4RKIJXlRBkSlbO8xA9EMLXOjJMEMVMCVBqYK9QpAVLXBZCB5eZLmfBDvsibYkhwtEIkMNJShDKB+IQcLzjgxCIdV5arvZb7LByG80st7fK7oVWX6gXksOy6LntfyvdwL5jEwJKttVL+sBuUAgaYllIEBFI2ZoCwGBmen7khmKDuMIZpVOgbKKTslK88v4QZm6+cUr6or2qQKYrPYi55V2j83XQAsc7m1Yv6avd4cbGDO5Ssm21bMugw2PfByXuWquX0QDgP3+ZL1u1w6wGwGhjlm69ctgrIZBE6vnAFlgkAtlMYFRLihDFTArhMSwmttBOXBAaOwRbCrkHNDqrmCFcLTIMDSPNWRgcc/3C7Ljl1LGyoIAkxMGZePX14XxMjA4LX4silUFCiuy8Pmc66GQXzRIcMDCU4zpaDiQNB4IpZv3snL+45t1V++dHe7Oi9UnIEh/zIQNLEKLtiitcCqIClxIiysGUIvAGWmLzl9cpX63nT3c5e7kJxn1Hl5rSfDlG3qG460nbpcDnQJAuTWx5+5slJrdsSyqXJQISjQ7D8aMG2L+uHNxlABZOCxeqetDZSNDlihNAMDAwMAk1OIZ5nKvpIAAAAASUVORK5CYII=",_sfc_main$4=vue.defineComponent({__name:"PictometryButton",props:{position:{default:"top-right"},icon:{},image:{},title:{default:"Oblique View"},active:{type:Boolean,default:!1},iconSize:{default:29},disabled:{type:Boolean,default:!1}},emits:["toggle","error"],setup(De,{emit:O}){const M=De,V=O,ue=vue.inject("map"),$=M.image||pictometryImage,me=vue.ref(M.active),fe=()=>{if(M.disabled)return;if(!ue?.value){V("error",new Error("Map not available"));return}me.value=!me.value;const he=ue.value.getCenter(),ye={lat:he.lat,lng:he.lng};V("toggle",{active:me.value,location:ye})};return vue.watch(()=>M.active,he=>{me.value=he}),(he,ye)=>(vue.openBlock(),vue.createBlock(_sfc_main$o,{class:"pictometry-button",image:vue.unref($),position:M.position,title:M.title,"icon-size":M.iconSize,toggleable:!0,active:me.value,disabled:M.disabled,onClick:fe},null,8,["image","position","title","icon-size","active","disabled"]))}}),PictometryButton=_export_sfc(_sfc_main$4,[["__scopeId","data-v-ef9749b3"]]),PictometryButton$1=Object.freeze(Object.defineProperty({__proto__:null,default:PictometryButton},Symbol.toStringTag,{value:"Module"})),DEFAULT_TOKEN_ENDPOINT="https://apicenter.eagleview.com/oauth2/v1/token",TOKEN_EXPIRY_BUFFER_MS=300*1e3;let cachedToken=null;async function fetchPictometryToken(De,O=DEFAULT_TOKEN_ENDPOINT){if(!De.clientId||!De.clientSecret)throw createAuthError("Missing client credentials",{hasClientId:!!De.clientId,hasClientSecret:!!De.clientSecret});const M=btoa(`${De.clientId}:${De.clientSecret}`);try{const V=await fetch(O,{method:"POST",headers:{Authorization:`Basic ${M}`,"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"client_credentials"})});if(!V.ok){const $=await V.text().catch(()=>"Unknown error");throw createAuthError(`Authentication failed: ${V.status} ${V.statusText}`,{status:V.status,statusText:V.statusText,body:$})}const ue=await V.json();if(!ue.access_token)throw createAuthError("Invalid token response: missing access_token",{response:ue});return ue}catch(V){throw isPictometryError(V)?V:V instanceof TypeError&&V.message.includes("fetch")?createAuthError("Network error: Unable to reach authentication server",{originalError:V.message}):createAuthError(`Authentication request failed: ${V instanceof Error?V.message:"Unknown error"}`,{originalError:V})}}async function getValidToken(De){if(cachedToken&&isTokenValid(cachedToken))return cachedToken.token;const O=await fetchPictometryToken(De.credentials,De.tokenEndpoint||DEFAULT_TOKEN_ENDPOINT);return cachedToken={token:O.access_token,expiresAt:Date.now()+O.expires_in*1e3},cachedToken.token}function isTokenValid(De){return!De.token||!De.expiresAt?!1:De.expiresAt>Date.now()+TOKEN_EXPIRY_BUFFER_MS}function validateCredentials(De){return typeof De.clientId=="string"&&De.clientId.trim().length>0&&typeof De.clientSecret=="string"&&De.clientSecret.trim().length>0}function clearTokenCache(){cachedToken=null}function createAuthError(De,O){return{message:De,type:"auth",details:O}}function isPictometryError(De){return typeof De=="object"&&De!==null&&"message"in De&&"type"in De&&typeof De.type=="string"}const DEFAULT_SDK_URL="https://embedded-explorer.eagleview.com/static/embedded-explorer-widget.js",SCRIPT_ID="pictometry-sdk-script";let loadingPromise=null;function isPictometryLoaded(){return typeof window<"u"&&!!window.ev?.EmbeddedExplorer}async function loadPictometryScript(De=DEFAULT_SDK_URL){if(!isPictometryLoaded()){if(loadingPromise)return loadingPromise;loadingPromise=new Promise((O,M)=>{let V=document.getElementById(SCRIPT_ID);if(V){const ue=()=>{isPictometryLoaded()?O():setTimeout(ue,100)};ue();return}V=document.createElement("script"),V.id=SCRIPT_ID,V.src=De,V.async=!0,V.onload=()=>{const ue=()=>{isPictometryLoaded()?O():setTimeout(ue,50)};ue()},V.onerror=()=>{loadingPromise=null,M(createSdkLoadError(`Failed to load Pictometry SDK from ${De}`))},document.head.appendChild(V)});try{await loadingPromise}catch(O){throw loadingPromise=null,O}}}function getEmbeddedExplorerClass(){if(!isPictometryLoaded())throw createSdkLoadError("Pictometry SDK not loaded. Call loadPictometryScript() first.");return window.ev.EmbeddedExplorer}function createSdkLoadError(De,O){return{message:De,type:"sdk_load",details:O}}const DEFAULT_MARKER_PROPERTIES={eagleview:{subType:"Marker",icon:"FaMapMarkerAlt",style:{color:"#2c63c7",size:34}}};function usePictometry(){const De=vue.ref(!1),O=vue.ref(!1),M=vue.ref(null),V=vue.ref([]),ue=vue.ref(null);let $=null;async function me(Me,Ae,Pe,Le){if(!De.value){O.value=!0,ue.value=null;try{isPictometryLoaded()||await loadPictometryScript();const Ue={authToken:await getValidToken({credentials:Me}),measurementPanelEnabled:Le?.measurementPanelEnabled??!1,searchBarEnabled:Le?.searchBarEnabled??!1,enableDualPaneButton:Le?.enableDualPaneButton??!1,view:{lonLat:Pe?.lonLat??{lon:-75.1652,lat:39.9526},zoom:Pe?.zoom??17,pitch:Pe?.pitch??0,rotation:Pe?.rotation??0},preferences:{imageDisplay:{mainPane:"oblique"}}},He=getEmbeddedExplorerClass();$=new He().mount(Ae,Ue),fe(),M.value=Ue.view,De.value=!0}catch(Oe){throw ue.value=xe(Oe),ue.value}finally{O.value=!1}}}function fe(){$&&($.getLayers(),$.on("onLayersDataLoad",()=>{$&&$.updateLayers({filter:Me=>{Me.visible=!1}})}))}function he(Me,Ae,Pe,Le){if(!$||!De.value)return;const Oe={lonLat:Me};Ae!==void 0&&(Oe.zoom=Ae),Pe!==void 0&&(Oe.pitch=Pe),Le!==void 0&&(Oe.rotation=Le),$.setView(Oe),M.value={...M.value,...Oe}}function ye(Me,Ae){!$||!De.value||(he({lon:Me,lat:Ae}),$.removeFeatures(),re(Me,Ae))}function re(Me,Ae,Pe){if(!$||!De.value)return;const Le=utils.point([Me,Ae],Pe??DEFAULT_MARKER_PROPERTIES);$.addFeatures({geoJson:[Le]})}function ce(){!$||!De.value||$.removeFeatures()}function pe(Me,Ae){!$||!De.value||($.updateLayers({filter:Pe=>{Pe.name===Me&&(Pe.visible=Ae)}}),V.value=V.value.map(Pe=>Pe.name===Me?{...Pe,visible:Ae}:Pe))}function ge(Me){pe("US Parcels",Me)}function _e(Me){pe("Streets",Me)}function we(){return V.value}function Se(){$&&(typeof $.destroy=="function"&&$.destroy(),$=null),De.value=!1,O.value=!1,M.value=null,V.value=[],ue.value=null,clearTokenCache()}function xe(Me){return je(Me)?Me:Me instanceof Error?{message:Me.message,type:"unknown",details:{name:Me.name,stack:Me.stack}}:{message:String(Me),type:"unknown",details:Me}}function je(Me){return typeof Me=="object"&&Me!==null&&"message"in Me&&"type"in Me}return{isInitialized:vue.readonly(De),isLoading:vue.readonly(O),currentView:vue.readonly(M),layers:vue.readonly(V),error:vue.readonly(ue),initializeViewer:me,setView:he,updateLocation:ye,addMarker:re,removeMarkers:ce,setLayerVisibility:pe,setParcelsVisible:ge,setLabelsVisible:_e,getLayers:we,cleanup:Se}}const _hoisted_1$1={class:"pictometry-layer-control"},_hoisted_2$1=["checked"],_hoisted_3$1={class:"pictometry-layer-control-label"},_sfc_main$3=vue.defineComponent({__name:"PictometryLayerControl",props:{layerName:{},label:{},initialState:{type:Boolean,default:!1}},emits:["toggle"],setup(De,{emit:O}){const M=De,V=O,ue=vue.ref(M.initialState);function $(){ue.value=!ue.value,V("toggle",{layerName:M.layerName,visible:ue.value})}return vue.watch(()=>M.initialState,me=>{ue.value=me}),(me,fe)=>(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$1,[vue.createElementVNode("input",{type:"checkbox",checked:ue.value,onChange:$},null,40,_hoisted_2$1),vue.createElementVNode("span",_hoisted_3$1,vue.toDisplayString(De.label),1)]))}}),PictometryLayerControl=_export_sfc(_sfc_main$3,[["__scopeId","data-v-b6d2342b"]]),_sfc_main$2=vue.defineComponent({__name:"PictometryParcelsControl",props:{initialState:{type:Boolean,default:!1}},emits:["toggle"],setup(De,{emit:O}){const M=O;function V(ue){M("toggle",ue)}return(ue,$)=>(vue.openBlock(),vue.createBlock(PictometryLayerControl,{"layer-name":"US Parcels",label:"Parcels","initial-state":De.initialState,onToggle:V},null,8,["initial-state"]))}}),_sfc_main$1=vue.defineComponent({__name:"PictometryLabelsControl",props:{initialState:{type:Boolean,default:!1}},emits:["toggle"],setup(De,{emit:O}){const M=O;function V(ue){M("toggle",ue)}return(ue,$)=>(vue.openBlock(),vue.createBlock(PictometryLayerControl,{"layer-name":"Streets",label:"Street Labels","initial-state":De.initialState,onToggle:V},null,8,["initial-state"]))}}),_hoisted_1={class:"pictometry-panel"},_hoisted_2=["aria-busy"],_hoisted_3={key:0,style:{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",display:"flex","flex-direction":"column","align-items":"center","justify-content":"center","background-color":"#333",color:"#fff","z-index":"1000"}},_hoisted_4={key:0,class:"pictometry-error-overlay",role:"alert"},_hoisted_5={class:"pictometry-error-content"},_hoisted_6={"aria-live":"polite",class:"pictometry-sr-only"},_hoisted_7={key:0},_hoisted_8={key:1,class:"pictometry-layer-controls"},_sfc_main=vue.defineComponent({__name:"PictometryPanel",props:{autoOpen:{type:Boolean,default:!1},popOutEnabled:{type:Boolean,default:!0},showParcels:{type:Boolean,default:!1},showLabels:{type:Boolean,default:!1}},emits:["ready","view-change","error"],setup(De,{expose:O,emit:M}){const V=faUpRightFromSquare,ue=De,$=vue.inject("pictometryCredentials",null),me=vue.inject("toolLocation",vue.ref(null)),fe=M,he=vue.ref(null),ye=vue.ref(me.value||null),{isInitialized:re,isLoading:ce,currentView:pe,error:ge,initializeViewer:_e,updateLocation:we,setParcelsVisible:Se,setLabelsVisible:xe,cleanup:je}=usePictometry(),Me=`pictometry-viewer-${Math.random().toString(36).substring(2,9)}`,Ae=vue.ref(!1);async function Pe(){if(he.value&&me.value){if(!$){fe("error",{message:"Pictometry credentials not provided",type:"config"});return}try{await _e($,Me,{lonLat:{lon:me.value.lng,lat:me.value.lat},zoom:17,pitch:0,rotation:0},{measurementPanelEnabled:!1,searchBarEnabled:!1,enableDualPaneButton:!1}),ue.showParcels&&Se(!0),ue.showLabels&&xe(!0),ye.value=me.value,fe("ready")}catch(He){fe("error",He)}}}function Le(He){Se(He.visible)}function Oe(He){xe(He.visible)}function Ne(){if(!ye.value)return;const He=`https://pictometry.phila.gov/?lat=${ye.value.lat}&lng=${ye.value.lng}`;window.open(He,"_blank","noopener,noreferrer")}async function Ue(){!Ae.value||!me.value||re.value||ce.value||ue.autoOpen&&(await vue.nextTick(),Pe())}return vue.onMounted(async()=>{Ae.value=!0,await Ue()}),vue.watch(()=>me.value,async He=>{He&&(re.value?(we(He.lng,He.lat),ye.value=He):await Ue())},{deep:!0}),vue.watch(pe,He=>{He&&(fe("view-change",He),He.lonLat&&(ye.value={lng:He.lonLat.lon,lat:He.lonLat.lat}))}),vue.onBeforeUnmount(()=>{je()}),O({initializeViewer:Pe,updateLocation:we,isInitialized:vue.computed(()=>re.value),isLoading:vue.computed(()=>ce.value),error:vue.computed(()=>ge.value)}),(He,Ve)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{id:Me,ref_key:"viewerContainer",ref:he,class:vue.normalizeClass(["pictometry-viewer",{"is-loading":vue.unref(ce)}]),"aria-busy":vue.unref(ce),"aria-hidden":"true"},[vue.unref(ce)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3,[...Ve[0]||(Ve[0]=[vue.createElementVNode("div",{style:{width:"40px",height:"40px",border:"3px solid rgba(255, 255, 255, 0.3)","border-top-color":"#fff","border-radius":"50%",animation:"pictometry-spin 1s linear infinite"}},null,-1),vue.createElementVNode("p",{style:{"margin-top":"16px","font-size":"14px",color:"#fff"}},"Loading Pictometry viewer...",-1)])])):vue.createCommentVNode("",!0)],10,_hoisted_2),vue.unref(ge)&&!vue.unref(ce)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[vue.createElementVNode("div",_hoisted_5,[Ve[1]||(Ve[1]=vue.createStaticVNode('<svg class="pictometry-error-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" data-v-0a2fb143><circle cx="12" cy="12" r="10" data-v-0a2fb143></circle><line x1="12" y1="8" x2="12" y2="12" data-v-0a2fb143></line><line x1="12" y1="16" x2="12.01" y2="16" data-v-0a2fb143></line></svg><p class="pictometry-error-heading" data-v-0a2fb143>Error Loading Viewer</p>',2)),vue.createElementVNode("p",null,vue.toDisplayString(vue.unref(ge).message),1),vue.unref(me)?(vue.openBlock(),vue.createElementBlock("button",{key:0,class:"pictometry-retry-button",onClick:Pe},"Retry")):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6,[vue.unref(ce)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7,"Loading Pictometry viewer...")):vue.createCommentVNode("",!0)]),vue.unref(re)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8,[vue.createVNode(_sfc_main$2,{"initial-state":De.showParcels,onToggle:Le},null,8,["initial-state"]),vue.createVNode(_sfc_main$1,{"initial-state":De.showLabels,onToggle:Oe},null,8,["initial-state"])])):vue.createCommentVNode("",!0),De.popOutEnabled?(vue.openBlock(),vue.createElementBlock("button",{key:2,class:"pictometry-popout-button",title:"Open in Pictometry website","aria-label":"Open in Pictometry website",onClick:Ne},[vue.createVNode(vue.unref(FontAwesomeIcon),{icon:vue.unref(V)},null,8,["icon"])])):vue.createCommentVNode("",!0)]))}}),PictometryPanel=_export_sfc(_sfc_main,[["__scopeId","data-v-0a2fb143"]]),PictometryPanel$1=Object.freeze(Object.defineProperty({__proto__:null,default:PictometryPanel},Symbol.toStringTag,{value:"Module"}));exports.CyclomediaButton=CyclomediaButton;exports.CyclomediaPanel=CyclomediaPanel;exports.Map=Map$1;exports.MapIconTextPin=MapIconTextPin;exports.MapLoadingOverlay=MapLoadingOverlay;exports.MapTooltip=MapTooltip;exports.PictometryButton=PictometryButton;exports.PictometryLayerControl=PictometryLayerControl;exports.PictometryPanel=PictometryPanel;exports._sfc_main=_sfc_main$i;exports._sfc_main$1=_sfc_main$f;exports._sfc_main$10=_sfc_main$o;exports._sfc_main$11=_sfc_main$k;exports._sfc_main$12=_sfc_main$m;exports._sfc_main$13=_sfc_main$n;exports._sfc_main$14=_sfc_main$p;exports._sfc_main$15=_sfc_main$5;exports._sfc_main$16=_sfc_main$2;exports._sfc_main$17=_sfc_main$1;exports._sfc_main$2=_sfc_main$e;exports._sfc_main$3=_sfc_main$d;exports._sfc_main$4=_sfc_main$c;exports._sfc_main$5=_sfc_main$b;exports._sfc_main$6=_sfc_main$r;exports._sfc_main$7=_sfc_main$l;exports._sfc_main$8=_sfc_main$9;exports._sfc_main$9=_sfc_main$8;exports.clearTokenCache=clearTokenCache;exports.defaultBasemapSource=defaultBasemapSource;exports.defaultImageryOptions=defaultImageryOptions;exports.defaultLabelsSource=defaultLabelsSource;exports.getValidToken=getValidToken;exports.imageryLabelsSource=imageryLabelsSource;exports.imageryLabelsUrl=imageryLabelsUrl;exports.imageryParcelOutlinesSource=imageryParcelOutlinesSource;exports.imagerySources=imagerySources;exports.isPictometryLoaded=isPictometryLoaded;exports.loadPictometryScript=loadPictometryScript;exports.validateCredentials=validateCredentials;