diff --git a/dist/assets/main-BPbDmD4L.js b/dist/assets/main-BPbDmD4L.js new file mode 100644 index 0000000..1ec3701 --- /dev/null +++ b/dist/assets/main-BPbDmD4L.js @@ -0,0 +1,2 @@ +const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return aB}},Symbol.toStringTag,{value:"Module"}));!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))e(t);new MutationObserver(t=>{for(const n of t)if("childList"===n.type)for(const t of n.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&e(t)}).observe(document,{childList:!0,subtree:!0})}function e(t){if(t.ep)return;t.ep=!0;const e=function(t){const e={};return t.integrity&&(e.integrity=t.integrity),t.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?e.credentials="include":"anonymous"===t.crossOrigin?e.credentials="omit":e.credentials="same-origin",e}(t);fetch(t.href,e)}}();const e="object"==typeof self&&null!==self&&self.Object===Object&&"undefined"!=typeof Window&&self.constructor===Window&&"object"==typeof document&&null!==document&&self.document===document&&"object"==typeof location&&null!==location&&self.location===location&&"object"==typeof history&&null!==history&&self.history===history&&"object"==typeof navigator&&null!==navigator&&self.navigator===navigator&&"string"==typeof navigator.userAgent,n=e?self:null,i=e?self.location:null,r=e?self.history:null,s=e?self.navigator.userAgent:"Lynx (textmode)",o=!(!e||"object"!=typeof chrome||"object"==typeof opera),a=!!e&&/Firefox|FxiOS/.test(s),l=Object.freeze(Object.defineProperty({__proto__:null,hasDOM:e,history:r,isChrome:o,isFirefox:a,location:i,userAgent:s,window:n},Symbol.toStringTag,{value:"Module"}));function u(t){return t&&t.Object===Object?t:void 0}const h=u((c="object"==typeof global&&global)&&void 0===c.nodeType?c:void 0)||u("object"==typeof self&&self)||u("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var c;const d=function(t,e){return void 0===e?{imports:t,exports:t,lookup:t}:{imports:e.imports||t,exports:e.exports||t,lookup:e.lookup||t}}(h,h.Ember);function p(){return d.lookup}function f(t){d.lookup=t}const g={ENABLE_OPTIONAL_FEATURES:!1,EXTEND_PROTOTYPES:{Array:!1},LOG_STACKTRACE_ON_DEPRECATION:!0,LOG_VERSION:!0,RAISE_ON_DEPRECATION:!1,STRUCTURED_PROFILE:!1,_DEBUG_RENDER_TREE:!1,_ALL_DEPRECATIONS_ENABLED:!1,_OVERRIDE_DEPRECATION_VERSION:null,_DEFAULT_ASYNC_OBSERVERS:!1,_RERENDER_LOOP_LIMIT:1e3,EMBER_LOAD_HOOKS:{},FEATURES:{}};function m(){return g}(t=>{if("object"!=typeof t||null===t)return;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||"EXTEND_PROTOTYPES"===i||"EMBER_LOAD_HOOKS"===i)continue;let e=g[i];g[i]=!0===e?!1!==t[i]:!1===e?!0===t[i]:t[i]}let{EMBER_LOAD_HOOKS:e}=t;if("object"==typeof e&&null!==e)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let t=e[i];Array.isArray(t)&&(g.EMBER_LOAD_HOOKS[i]=t.filter(t=>"function"==typeof t))}let{FEATURES:n}=t;if("object"==typeof n&&null!==n)for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(g.FEATURES[i]=!0===n[i])})(h.EmberENV);let y=()=>{},_=!1;function v(){return _}function b(t){_=Boolean(t)}const{toString:w}=Object.prototype,{toString:x}=Function.prototype,{isArray:S}=Array,{keys:E}=Object,{stringify:C}=JSON,k=100,T=/^[\w$]+$/;function R(t){return"number"==typeof t&&2===arguments.length?this:P(t,0)}function P(t,e,n){let i=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(S(t)){i=!0;break}if(t.toString===w||void 0===t.toString)break;return t.toString();case"function":return t.toString===x?t.name?`[Function:${t.name}]`:"[Function]":t.toString();case"string":return C(t);default:return t.toString()}if(void 0===n)n=new WeakSet;else if(n.has(t))return"[Circular]";return n.add(t),i?function(t,e,n){if(e>4)return"[Array]";let i="[";for(let r=0;r=k){i+=`... ${t.length-k} more items`;break}i+=P(t[r],e,n)}return i+=" ]",i}(t,e+1,n):function(t,e,n){if(e>4)return"[Object]";let i="{",r=E(t);for(let s=0;s=k){i+=`... ${r.length-k} more keys`;break}let o=r[s];i+=`${M(String(o))}: ${P(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function M(t){return T.test(t)?t:C(t)}function I(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function O(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let A=0;function F(){return++A}const L="ember",D=new WeakMap,N=new Map,j=I(`__ember${Date.now()}`);function z(t,e=L){let n=e+F().toString();return O(t)&&D.set(t,n),n}function U(t){let e;if(O(t))e=D.get(t),void 0===e&&(e=`${L}${F()}`,D.set(t,e));else if(e=N.get(t),void 0===e){let n=typeof t;e="string"===n?`st${F()}`:"number"===n?`nu${F()}`:"symbol"===n?`sy${F()}`:`(${t})`,N.set(t,e)}return e}const B=void 0,q=/\.(_super|call\(this|apply\(this)/,$=Function.prototype.toString,G=$.call(function(){return this}).indexOf("return this")>-1?function(t){return q.test($.call(t))}:function(){return!0},V=new WeakMap,W=Object.freeze(function(){});function H(t){let e=V.get(t);return void 0===e&&(e=G(t),V.set(t,e)),e}V.set(W,!1);class K{listeners=void 0;observers=void 0}const X=new WeakMap;function Y(t){let e=X.get(t);return void 0===e&&(e=new K,X.set(t,e)),e}function Z(t){return X.get(t)}function J(t,e){Y(t).observers=e}function Q(t,e){Y(t).listeners=e}const tt=new WeakSet;function et(t,e){return H(t)?!tt.has(e)&&H(e)?nt(t,nt(e,W)):nt(t,e):t}function nt(t,e){function n(){let n=this._super;this._super=e;let i=t.apply(this,arguments);return this._super=n,i}tt.add(n);let i=X.get(t);return void 0!==i&&X.set(n,i),n}function it(t,e){let n=t;do{let t=Object.getOwnPropertyDescriptor(n,e);if(void 0!==t)return t;n=Object.getPrototypeOf(n)}while(null!==n);return null}let rt,st,ot;const at=[];function lt(t){return-1!==at.indexOf(t)}function ut(t){return I(`__${t}${j+Math.floor(Math.random()*Date.now()).toString()}__`)}const ht=Symbol,ct=Object.prototype.toString;function dt(t){return null==t}function pt(t){if("string"==typeof t)return t;if(null===t)return"null";if(void 0===t)return"undefined";if(Array.isArray(t)){let e="";for(let n=0;n0&&(e+=","),dt(t[n])||(e+=pt(t[n]));return e}return"function"==typeof t.toString?t.toString():ct.call(t)}let ft,gt,mt,yt,_t,vt,bt,wt,xt,St,Et=()=>{},Ct=new WeakMap;function kt(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function Tt(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function Rt(t,e){if(Array.isArray(t)&&t.length>1){let n=t.indexOf(e);return t.splice(n,1),t}return null}function Pt(t){let e=Ct.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Ct.set(t,e)),e}function Mt(t,e){let n=Pt(t),i=Pt(e);return n.children=kt(n.children,e),i.parents=kt(i.parents,t),e}function It(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";return i[r]=kt(i[r],e),e}function Ot(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";i[r]=Rt(i[r],e)}function At(t){let e=Pt(t);if(e.state>=1)return;let{parents:n,children:i,eagerDestructors:r,destructors:s}=e;e.state=1,Tt(i,At),Tt(r,e=>{e(t)}),Tt(s,e=>{ft(t,e)}),gt(()=>{Tt(n,e=>{!function(t,e){let n=Pt(e);0===n.state&&(n.children=Rt(n.children,t))}(t,e)}),e.state=2})}function Ft(t){let e=Ct.get(t);return void 0!==e&&null!==e.children}function Lt(t){let e=Ct.get(t);return void 0!==e&&e.state>=1}function Dt(t){let e=Ct.get(t);return void 0!==e&&e.state>=2}const Nt=Object.prototype;let jt;const zt=ht("undefined");var Ut=function(t){return t[t.ADD=0]="ADD",t[t.ONCE=1]="ONCE",t[t.REMOVE=2]="REMOVE",t}(Ut||{});let Bt=1;class qt{_descriptors;_mixins;_isInit;_lazyChains;_values;_revisions;source;proto;_parent;_listeners;_listenersVersion=1;_inheritedEnd=-1;_flattenedVersion=0;constructor(t){this._parent=void 0,this._descriptors=void 0,this._mixins=void 0,this._lazyChains=void 0,this._values=void 0,this._revisions=void 0,this._isInit=!1,this.source=t,this.proto=void 0===t.constructor?void 0:t.constructor.prototype,this._listeners=void 0}get parent(){let t=this._parent;if(void 0===t){let e=$t(this.source);this._parent=t=null===e||e===Nt?null:Ht(e)}return t}setInitializing(){this._isInit=!0}unsetInitializing(){this._isInit=!1}isInitializing(){return this._isInit}isPrototypeMeta(t){return this.proto===this.source&&this.source===t}_getOrCreateOwnMap(t){return this[t]||(this[t]=Object.create(null))}_getOrCreateOwnSet(t){return this[t]||(this[t]=new Set)}_findInheritedMap(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i){let t=i.get(e);if(void 0!==t)return t}n=n.parent}}_hasInInheritedSet(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i&&i.has(e))return!0;n=n.parent}return!1}valueFor(t){let e=this._values;return void 0!==e?e[t]:void 0}setValueFor(t,e){this._getOrCreateOwnMap("_values")[t]=e}revisionFor(t){let e=this._revisions;return void 0!==e?e[t]:void 0}setRevisionFor(t,e){this._getOrCreateOwnMap("_revisions")[t]=e}writableLazyChainsFor(t){let e=this._getOrCreateOwnMap("_lazyChains"),n=e[t];return void 0===n&&(n=e[t]=[]),n}readableLazyChainsFor(t){let e=this._lazyChains;if(void 0!==e)return e[t]}addMixin(t){this._getOrCreateOwnSet("_mixins").add(t)}hasMixin(t){return this._hasInInheritedSet("_mixins",t)}forEachMixins(t){let e,n=this;for(;null!==n;){let i=n._mixins;void 0!==i&&(e=void 0===e?new Set:e,i.forEach(n=>{e.has(n)||(e.add(n),t(n))})),n=n.parent}}writeDescriptors(t,e){(this._descriptors||(this._descriptors=new Map)).set(t,e)}peekDescriptors(t){let e=this._findInheritedMap("_descriptors",t);return e===zt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,zt)}forEachDescriptors(t){let e,n=this;for(;null!==n;){let i=n._descriptors;void 0!==i&&(e=void 0===e?new Set:e,i.forEach((n,i)=>{e.has(i)||(e.add(i),n!==zt&&t(i,n))})),n=n.parent}}addToListeners(t,e,n,i,r){this.pushListener(t,e,n,i?Ut.ONCE:Ut.ADD,r)}removeFromListeners(t,e,n){this.pushListener(t,e,n,Ut.REMOVE)}pushListener(t,e,n,i,r=!1){let s=this.writableListeners(),o=Kt(s,t,e,n);if(-1!==o&&o0&&(t.splice(0,this._inheritedEnd),this._inheritedEnd=0);for(let n of e)-1===Kt(t,n.event,n.target,n.method)&&(t.unshift(n),this._inheritedEnd++)}}this._flattenedVersion=Bt}return this._listeners}matchingListeners(t){let e,n=this.flattenedListeners();if(void 0!==n)for(let i of n)i.event!==t||i.kind!==Ut.ADD&&i.kind!==Ut.ONCE||(void 0===e&&(e=[]),e.push(i.target,i.method,i.kind===Ut.ONCE));return e}observerEvents(){let t,e=this.flattenedListeners();if(void 0!==e)for(let n of e)n.kind!==Ut.ADD&&n.kind!==Ut.ONCE||-1===n.event.indexOf(":change")||(void 0===t&&(t=[]),t.push(n));return t}}const $t=Object.getPrototypeOf,Gt=new WeakMap;function Vt(t,e){Gt.set(t,e)}function Wt(t){let e=Gt.get(t);if(void 0!==e)return e;let n=$t(t);for(;null!==n;){if(e=Gt.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=$t(n)}return null}const Ht=function(t){let e=Wt(t);if(null!==e&&e.source===t)return e;let n=new qt(t);return Vt(t,n),n};function Kt(t,e,n,i){for(let r=t.length-1;r>=0;r--){let s=t[r];if(s.event===e&&s.target===n&&s.method===i)return r}return-1}let Xt=1;const Yt=Symbol("TAG_COMPUTE");function Zt(t){return t[Yt]()}function Jt(t,e){return e>=t[Yt]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",Yt);const Qt=Symbol("TAG_TYPE");class te{static combine(t){switch(t.length){case 0:return se;case 1:return t[0];default:{let e=new te(2);return e.subtag=t,e}}}constructor(t){this.revision=1,this.lastChecked=1,this.lastValue=1,this.isUpdating=!1,this.subtag=null,this.subtagBufferCache=null,this[Qt]=t}[Yt](){let{lastChecked:t}=this;if(this.isUpdating)this.lastChecked=++Xt;else if(t!==Xt){this.isUpdating=!0,this.lastChecked=Xt;try{let{subtag:t,revision:e}=this;if(null!==t)if(Array.isArray(t))for(const n of t){let t=n[Yt]();e=Math.max(t,e)}else{let n=t[Yt]();n===this.subtagBufferCache?e=Math.max(e,this.lastValue):(this.subtagBufferCache=null,e=Math.max(e,n))}this.lastValue=e}finally{this.isUpdating=!1}}return this.lastValue}static updateTag(t,e){let n=t,i=e;i===se?n.subtag=null:(n.subtagBufferCache=i[Yt](),n.subtag=i)}static dirtyTag(t,e){t.revision=++Xt,Et()}}const ee=te.dirtyTag,ne=te.updateTag;function ie(){return new te(0)}function re(){return new te(1)}const se=new te(3);function oe(t){return t===se}class ae{[Yt](){return NaN}constructor(){this[Qt]=100}}const le=new ae;class ue{[Yt](){return Xt}constructor(){this[Qt]=101}}const he=new ue,ce=te.combine;let de=re(),pe=re(),fe=re();Zt(de),ee(de),Zt(de),ne(de,ce([pe,fe])),Zt(de),ee(pe),Zt(de),ee(fe),Zt(de),ne(de,fe),Zt(de),ee(fe),Zt(de);class ge{add(t){t!==se&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?se:1===t.size?this.last:ce(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let me=null;const ye=[];function _e(){ye.push(me),me=new ge}function ve(){let t=me;return me=ye.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function be(){ye.push(me),me=null}function we(){me=ye.pop()||null}function xe(){return null!==me}function Se(t){null!==me&&me.add(t)}const Ee=Symbol("FN"),Ce=Symbol("LAST_VALUE"),ke=Symbol("TAG"),Te=Symbol("SNAPSHOT");function Re(t){return{[Ee]:t,[Ce]:void 0,[ke]:void 0,[Te]:-1}}function Pe(t){let e=t[Ee],n=t[ke],i=t[Te];if(void 0!==n&&Jt(n,i))Se(n);else{_e();try{t[Ce]=e()}finally{n=ve(),t[ke]=n,t[Te]=Zt(n),Se(n)}}return t[Ce]}function Me(t){return oe(t[ke])}function Ie(t){let e;_e();try{t()}finally{e=ve()}return e}function Oe(t){be();try{return t()}finally{we()}}const Ae=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),Fe=new Set(["fill","push","unshift"]);function Le(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class De{#t;constructor(t,e){this.#e=re(),this.#n=new Map,this.#t=e;const n=t.slice(),i=this,r=new Map;let s=!1;return new Proxy(n,{get(t,e){const n=Le(e);if(null!==n)return i.#i(n),Se(i.#e),t[n];if("length"===e)return s?s=!1:Se(i.#e),t[e];if(Fe.has(e)&&(s=!0),Ae.has(e)){let n=r.get(e);return void 0===n&&(n=(...n)=>(Se(i.#e),t[e](...n)),r.set(e,n)),n}return t[e]},set(t,e,n){if(i.#t.equals(t[e],n))return!0;t[e]=n;const r=Le(e);return null!==r?(i.#r(r),i.#s()):"length"===e&&i.#s(),!0},getPrototypeOf:()=>De.prototype})}#e;#n;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e),this.#n.clear()}}Object.setPrototypeOf(De.prototype,Array.prototype);class Ne{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){let t=this.keys(),e=this;return{next(){let n=t.next(),i=n.value;return n.done?{value:[void 0,void 0],done:!0}:{value:[i,e.get(i)],done:!1}}}}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),n||ee(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),this.#n.clear(),ee(this.#e),this.#o.clear())}}Object.setPrototypeOf(Ne.prototype,Map.prototype);class je{#t;#n;#e;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e)}constructor(t,e){this.#n=new Map,this.#e=re(),this.#t=e;const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyDescriptors(t),r=Object.create(n);for(const o in i)Object.defineProperty(r,o,i[o]);const s=this;return new Proxy(r,{get:(t,e)=>(s.#i(e),t[e]),has:(t,e)=>(s.#i(e),e in t),ownKeys:t=>(Se(s.#e),Reflect.ownKeys(t)),set:(t,e,n)=>(s.#t.equals(t[e],n)||(t[e]=n,s.#r(e),s.#s()),!0),deleteProperty:(t,e)=>(e in t&&(delete t[e],s.#r(e),s.#n.delete(e),s.#s()),!0),getPrototypeOf:()=>je.prototype})}}class ze{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}union(t){return Se(this.#e),this.#o.union(t)}intersection(t){return Se(this.#e),this.#o.intersection(t)}difference(t){return Se(this.#e),this.#o.difference(t)}symmetricDifference(t){return Se(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return Se(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return Se(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return Se(this.#e),this.#o.isDisjointFrom(t)}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){return Se(this.#e),this.#o[Symbol.iterator]()}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}add(t){if(this.#o.has(t)){if(this.#t.equals(t,t))return this}else ee(this.#e);return this.#r(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),ee(this.#e),this.#n.clear(),this.#o.clear())}}Object.setPrototypeOf(ze.prototype,Set.prototype);class Ue{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#o=t instanceof WeakMap?t:new WeakMap(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Ue.prototype,WeakMap.prototype);class Be{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#t=e,this.#o=new WeakSet(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}add(t){return this.#o.has(t)&&this.#t.equals(t,t)||(this.#o.add(t),this.#r(t)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Be.prototype,WeakSet.prototype);const qe=new WeakMap;function $e(t,e,n){let i=void 0===n?qe.get(t):n;if(void 0===i)return;let r=i.get(e);void 0!==r&&ee(r,!0)}function Ge(t){let e=qe.get(t);return void 0===e&&(e=new Map,qe.set(t,e)),e}function Ve(t,e,n){let i=void 0===n?Ge(t):n,r=i.get(e);return void 0===r&&(r=re(),i.set(e,r)),r}function We(t,e){let n=new WeakMap,i="function"==typeof e;return{getter:function(r){let s;return Se(Ve(r,t)),i&&!n.has(r)?(s=e.call(r),n.set(r,s)):s=n.get(r),s},setter:function(e,i){$e(e,t),n.set(e,i)}}}const He=Symbol("GLIMMER_VALIDATOR_REGISTRATION");if(Reflect.has(globalThis,He))throw new Error("The `@glimmer/validator` library has been included twice in this application. It could be different versions of the package, or the same version included twice by mistake. `@glimmer/validator` depends on having a single copy of the package in use at any time in an application, even if they are the same version. You must dedupe your build to remove the duplicate packages in order to prevent this error.");Reflect.set(globalThis,He,!0);const Ke=Object.freeze(Object.defineProperty({__proto__:null,ALLOW_CYCLES:void 0,COMPUTE:Yt,CONSTANT:0,CONSTANT_TAG:se,CURRENT_TAG:he,CurrentTag:ue,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:le,VolatileTag:ae,beginTrackFrame:_e,beginUntrackFrame:be,bump:function(){Xt++},combine:ce,consumeTag:Se,createCache:Re,createTag:ie,createUpdatableTag:re,debug:{},dirtyTag:ee,dirtyTagFor:$e,endTrackFrame:ve,endUntrackFrame:we,getValue:Pe,isConst:Me,isConstTag:oe,isTracking:xe,resetTracking:function(){for(;ye.length>0;)ye.pop();me=null},tagFor:Ve,tagMetaFor:Ge,track:Ie,trackedArray:function(t,e){return new De(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:We,trackedMap:function(t,e){return new Ne(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedObject:function(t,e){return new je(t??{},{equals:e?.equals??Object.is,description:e?.description})},trackedSet:function(t,e){return new ze(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakMap:function(t,e){return new Ue(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakSet:function(t,e){return new Be(t??[],{equals:e?.equals??Object.is,description:e?.description})},untrack:Oe,updateTag:ne,validateTag:Jt,valueForTag:Zt},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze([]);function Ye(){return Xe}const Ze=Ye(),Je=Ye();function*Qe(t){for(let e=t.length-1;e>=0;e--)yield t[e]}function*tn(t){let e=0;for(const n of t)yield[e++,n]}function en(t){return!!t&&t.length>0}function nn(t){return 0===t.length?void 0:t[t.length-1]}function rn(){return Object.create(null)}function sn(t){return null!=t}function on(t){return"function"==typeof t||"object"==typeof t&&null!==t}class an{constructor(t=[]){this.current=null,this.stack=t}get size(){return this.stack.length}push(t){this.current=t,this.stack.push(t)}pop(){let t=this.stack.pop();return this.current=nn(this.stack)??null,void 0===t?null:t}nth(t){let e=this.stack.length;return eRn(t),null,t.debugLabel):t}function En(t){return 3===t[pn]}function Cn(t){const e=xn(()=>Rn(t),e=>Pn(t,e));return e.debugLabel=t.debugLabel,e[pn]=3,e}function kn(t){return t.tag===se}function Tn(t){return null!==t.update}function Rn(t){const e=t;let{tag:n}=e;if(n===se)return e.lastValue;const{lastRevision:i}=e;let r;if(null!==n&&Jt(n,i))r=e.lastValue;else{const{compute:t}=e,i=Ie(()=>{r=e.lastValue=t()});n=e.tag=i,e.lastRevision=Zt(i)}return Se(n),r}function Pn(t,e){(0,t.update)(e)}function Mn(t,e){const n=t,i=n[pn];let r,s=n.children;if(null===s)s=n.children=new Map;else{const t=s.get(e);if(t)return t}if(2===i){const t=Rn(n);r=sn(t)?wn(t[e]):mn}else r=xn(()=>{const t=Rn(n);if(sn(t))return _t(t,e)},t=>{const i=Rn(n);if(sn(i))return vt(i,e,t)});return s.set(e,r),r}function In(t,e){let n=t;for(const i of e)n=Mn(n,i);return n}const On={},An=(t,e)=>e,Fn=(t,e)=>String(e),Ln=t=>null===t?On:t;class Dn{get weakMap(){return void 0===this._weakMap&&(this._weakMap=new WeakMap),this._weakMap}get primitiveMap(){return void 0===this._primitiveMap&&(this._primitiveMap=new Map),this._primitiveMap}set(t,e){on(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return on(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Nn=new Dn;function jn(t){let e=new Dn;return(n,i)=>{let r=t(n,i),s=e.get(r)||0;return e.set(r,s+1),0===s?r:function(t,e){let n=Nn.get(t);void 0===n&&(n=[],Nn.set(t,n));let i=n[e];return void 0===i&&(i={value:t,count:e},n[e]=i),i}(r,s)}}function zn(t,e){return xn(()=>{let n=Rn(t),i=function(t){switch(t){case"@key":return jn(An);case"@index":return jn(Fn);case"@identity":return jn(Ln);default:return e=t,jn(t=>bt(t,e))}var e}(e);if(Array.isArray(n))return new qn(n,i);let r=mt(n);return null===r?new qn(Xe,()=>null):new Bn(r,i)})}function Un(t){let e=t,n=ie();return xn(()=>(Se(n),e),t=>{e!==t&&(e=t,ee(n))})}class Bn{constructor(t,e){this.inner=t,this.keyFor=e}isEmpty(){return this.inner.isEmpty()}next(){let t=this.inner.next();return null!==t&&(t.key=this.keyFor(t.value,t.memo)),t}}let qn=class{constructor(t,e){this.iterator=t,this.keyFor=e,this.pos=0,0===t.length?this.current={kind:"empty"}:this.current={kind:"first",value:t[this.pos]}}isEmpty(){return"empty"===this.current.kind}next(){let t,e=this.current;if("first"===e.kind)this.current={kind:"progress"},t=e.value;else{if(this.pos>=this.iterator.length-1)return null;t=this.iterator[++this.pos]}let{keyFor:n}=this;return{key:n(t,this.pos),value:t,memo:this.pos}}};const $n=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:vn,NULL_REFERENCE:yn,REFERENCE:pn,TRUE_REFERENCE:_n,UNDEFINED_REFERENCE:mn,childRefFor:Mn,childRefFromParts:In,createComputeRef:xn,createConstRef:bn,createDebugAliasRef:void 0,createInvokableRef:Cn,createIteratorItemRef:Un,createIteratorRef:zn,createPrimitiveRef:gn,createReadOnlyRef:Sn,createUnboundRef:wn,isConstRef:kn,isInvokableRef:En,isUpdatableRef:Tn,updateRef:Pn,valueForRef:Rn},Symbol.toStringTag,{value:"Module"})),Gn={Empty:0,dynamicLayout:1,dynamicTag:2,prepareArgs:4,createArgs:8,attributeHook:16,elementHook:32,dynamicScope:64,createCaller:128,updateHook:256,createInstance:512,wrapped:1024,willDestroy:2048,hasSubOwner:4096},Vn=1024,Wn=new WeakMap;function Hn(t){return Wn.get(t)}function Kn(t,e){Wn.set(t,e)}function Xn(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Yn{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return Rn(n)}has(t,e){return e in this.named}ownKeys(){return Object.keys(this.named)}isExtensible(){return!1}getOwnPropertyDescriptor(t,e){return{enumerable:!0,configurable:!0}}}class Zn{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const i=Xn(e);return null!==i&&i{const{named:e,positional:n}=t,i=new Yn(e),r=new Zn(n),s=Object.create(null),o=new Proxy(s,i),a=new Proxy([],r);return Kn(o,(t,n)=>function(t,e){return Ie(()=>{e in t&&Rn(t[e])})}(e,n)),Kn(a,(t,e)=>function(t,e){return Ie(()=>{"[]"===e&&t.forEach(Rn);const n=Xn(e);null!==n&&n{let i=this.getDelegateFor(n);const r=Jn(e),s=i.createHelper(t,r);if(si(i)){let t=xn(()=>i.getValue(s),null);return oi(i)&&Mt(t,i.getDestroyable(s)),t}if(oi(i)){let t=bn(void 0);return Mt(t,i.getDestroyable(s)),t}return mn}}}class li{createHelper(t,e){return{fn:t,args:e}}getValue({fn:t,args:e}){return Object.keys(e.named).length>0?t(...e.positional,e.named):t(...e.positional)}getDebugName(t){return t.name?`(helper function ${t.name})`:"(anonymous helper function)"}constructor(){this.capabilities={hasValue:!0,hasDestroyable:!1,hasScheduledEffect:!1}}}const ui=new WeakMap,hi=new WeakMap,ci=new WeakMap,di=Object.getPrototypeOf;function pi(t,e,n){return t.set(n,e),n}function fi(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=di(n)}}function gi(t,e){return pi(hi,t,e)}function mi(t){const e=fi(hi,t);return void 0===e?null:e}function yi(t,e){return pi(ci,t,e)}const _i=new ai(()=>new li);function vi(t){let e=fi(ci,t);return void 0===e&&"function"==typeof t&&(e=_i),e||null}function bi(t,e){return pi(ui,t,e)}function wi(t){const e=fi(ui,t);return void 0===e?null:e}function xi(t){return void 0!==fi(ui,t)}function Si(t){return function(t){return"function"==typeof t}(t)||void 0!==fi(ci,t)}const Ei={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1};function Ci(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function ki(t){return t.capabilities.asyncLifeCycleCallbacks}function Ti(t){return t.capabilities.updateHook}class Ri{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n){let i=this.getDelegateFor(t),r=Jn(n.capture()),s=i.createComponent(e,r);return new Pi(s,i,r)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Ti(e)){let{component:n,args:i}=t;e.updateComponent(n,i)}}didCreate({component:t,delegate:e}){ki(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return ki(t)&&Ti(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return bn(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return It(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Ei}}class Pi{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Mi(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Ii{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n,i){let r,s=this.getDelegateFor(t),o=Jn(i),a=s.createModifier(n,o);return r={tag:re(),element:e,delegate:s,args:o,modifier:a},It(r,()=>s.destroyModifier(a,o)),r}getDebugName(t){return"function"==typeof t?t.name||t.toString():""}getDebugInstance({modifier:t}){return t}getTag({tag:t}){return t}install({element:t,args:e,modifier:n,delegate:i}){let{capabilities:r}=i;r.disableAutoTracking?Oe(()=>i.installModifier(n,t,e)):i.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:i}=n;i.disableAutoTracking?Oe(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Oi(t,e){return bi(new Ri(t),e)}function Ai(t,e){return gi(new Ii(t),e)}function Fi(t,e){return yi(new ai(t),e)}const Li=new WeakMap,Di=Reflect.getPrototypeOf;function Ni(t,e){return Li.set(e,t),e}function ji(t){let e=t;for(;null!==e;){let t=Li.get(e);if(void 0!==t)return t;e=Di(e)}}const zi=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:Ri,CustomHelperManager:ai,CustomModifierManager:Ii,capabilityFlagsFrom:ti,componentCapabilities:Ci,getComponentTemplate:ji,getCustomTagFor:Hn,getInternalComponentManager:wi,getInternalHelperManager:vi,getInternalModifierManager:mi,hasCapability:ii,hasDestroyable:oi,hasInternalComponentManager:xi,hasInternalHelperManager:Si,hasInternalModifierManager:function(t){return void 0!==fi(hi,t)},hasValue:si,helperCapabilities:ri,managerHasCapability:ni,modifierCapabilities:Mi,setComponentManager:Oi,setComponentTemplate:Ni,setCustomTagFor:Kn,setHelperManager:Fi,setInternalComponentManager:bi,setInternalHelperManager:yi,setInternalModifierManager:gi,setModifierManager:Ai},Symbol.toStringTag,{value:"Module"})),Ui=new WeakSet;function Bi(t){return!!O(t)&&Ui.has(t)}function qi(t){O(t)&&Ui.add(t)}const $i=new WeakSet;function Gi(t){return $i.has(t)}let Vi=class{size=0;misses=0;hits=0;constructor(t,e,n=new Map){this.limit=t,this.func=e,this.store=n}get(t){return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,this.set(t,this.func(t)))}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}};const Wi="6.11.0-beta.1",Hi=Object.freeze(Object.defineProperty({__proto__:null,default:Wi},Symbol.toStringTag,{value:"Module"})),Ki=Symbol("OWNER");function Xi(t){return t[Ki]}function Yi(t){return Xi(t)}function Zi(t,e){!function(t,e){t[Ki]=e}(t,e)}function Ji(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const Qi=ht("SELF_TAG");function tr(t,e,n=!1,i){let r=Hn(t);return void 0!==r?r(t,e,n):Ve(t,e,i)}function er(t){return O(t)?Ve(t,Qi):se}function nr(t,e){$e(t,e),$e(t,Qi)}const ir=new WeakSet;function rr(t,e,n){let i=t.readableLazyChainsFor(e);if(void 0!==i){if(O(n))for(let[t,e]of i)ne(t,or(n,e,Ge(n),Wt(n)));i.length=0}}function sr(t,e,n,i){let r=[];for(let s of e)ar(r,t,s,n,i);return ce(r)}function or(t,e,n,i){return ce(ar([],t,e,n,i))}function ar(t,e,n,i,r){let s,o,a=e,l=i,u=r,h=n.length,c=-1;for(;;){let e=c+1;if(c=n.indexOf(".",e),-1===c&&(c=h),s=n.slice(e,c),"@each"===s&&c!==h){e=c+1,c=n.indexOf(".",e);let i=a.length;if("number"!=typeof i||!Array.isArray(a)&&!("objectAt"in a))break;if(0===i){t.push(tr(a,"[]"));break}s=-1===c?n.slice(e):n.slice(e,c);for(let e=0;e=0;s-=3){let r=i[s],o=i[s+1],a=i[s+2];if(!o)continue;a&&Cr(t,e,r,o),r||(r=t);let l=typeof o;"string"!==l&&"symbol"!==l||(o=r[o]),o.apply(r,n)}return!0}function Tr(t,e){let n=Wt(t);if(null===n)return!1;let i=n.matchingListeners(e);return void 0!==i&&i.length>0}function Rr(...t){let e=t.pop();return Q(e,t),e}const Pr=!g._DEFAULT_ASYNC_OBSERVERS,Mr=new Map,Ir=new Map;function Or(t,e,n,i,r=Pr){let s=Sr(e);Er(t,s,n,i,!1,r);let o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Fr(t,s,r)}function Ar(t,e,n,i,r=Pr){let s=Sr(e),o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Nr(t,s,r),Cr(t,s,n,i)}function Fr(t,e,n=!1){let i=function(t,e){let n=!0===e?Mr:Ir;return n.has(t)||(n.set(t,new Map),It(t,()=>function(t){Mr.size>0&&Mr.delete(t),Ir.size>0&&Ir.delete(t)}(t),!0)),n.get(t)}(t,n);if(i.has(e))i.get(e).count++;else{let n=e.substring(0,e.lastIndexOf(":")),r=or(t,n,Ge(t),Wt(t));i.set(e,{count:1,path:n,tag:r,lastRevision:Zt(r),suspended:!1})}}let Lr=!1,Dr=[];function Nr(t,e,n=!1){if(!0===Lr)return void Dr.push([t,e,n]);let i=!0===n?Mr:Ir,r=i.get(t);if(void 0!==r){let n=r.get(e);n.count--,0===n.count&&(r.delete(e),0===r.size&&i.delete(t))}}function jr(t){Ir.has(t)&&Ir.get(t).forEach(e=>{e.tag=or(t,e.path,Ge(t),Wt(t)),e.lastRevision=Zt(e.tag)}),Mr.has(t)&&Mr.get(t).forEach(e=>{e.tag=or(t,e.path,Ge(t),Wt(t)),e.lastRevision=Zt(e.tag)})}let zr=0;function Ur(t){let e=Zt(he);zr!==e&&(zr=e,Ir.forEach((e,n)=>{let i=Wt(n);e.forEach((e,r)=>{if(!Jt(e.tag,e.lastRevision)){let s=()=>{try{kr(n,r,[n,e.path],void 0,i)}finally{e.tag=or(n,e.path,Ge(n),Wt(n)),e.lastRevision=Zt(e.tag)}};t?t("actions",s):s()}})}))}function Br(){Mr.forEach((t,e)=>{let n=Wt(e);t.forEach((t,i)=>{if(!t.suspended&&!Jt(t.tag,t.lastRevision))try{t.suspended=!0,kr(e,i,[e,t.path],void 0,n)}finally{t.tag=or(e,t.path,Ge(e),Wt(e)),t.lastRevision=Zt(t.tag),t.suspended=!1}})})}function qr(t,e,n){let i=Mr.get(t);if(!i)return;let r=i.get(Sr(e));r&&(r.suspended=n)}const $r=Symbol("PROPERTY_DID_CHANGE");let Gr=0;function Vr(t,e,n,i){let r=void 0===n?Wt(t):n;null!==r&&(r.isInitializing()||r.isPrototypeMeta(t))||(nr(t,e),Gr<=0&&Br(),$r in t&&(4===arguments.length?t[$r](e,i):t[$r](e)))}function Wr(){Gr++,Lr=!0}function Hr(){Gr--,Gr<=0&&(Br(),function(){Lr=!1;for(let[t,e,n]of Dr)Nr(t,e,n);Dr=[]}())}function Kr(t){Wr();try{t()}finally{Hr()}}function Xr(){}class Yr extends hr{_readOnly=!1;_hasConfig=!1;_getter=void 0;_setter=void 0;constructor(t){super();let e=t[t.length-1];if("function"==typeof e||null!==e&&"object"==typeof e){this._hasConfig=!0;let e=t.pop();if("function"==typeof e)this._getter=e;else{const t=e;this._getter=t.get||Xr,this._setter=t.set}}t.length>0&&this._property(...t)}setup(t,e,n,i){if(super.setup(t,e,n,i),!1===this._hasConfig){let{get:t,set:e}=n;void 0!==t&&(this._getter=t),void 0!==e&&(this._setter=function(n,i){let r=e.call(this,i);return void 0!==t&&void 0===r?t.call(this):r})}}_property(...t){let e=[];function n(t){e.push(t)}for(let i of t)wr(i,n);this._dependentKeys=e}get(t,e){let n,i=Ht(t),r=Ge(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;Oe(()=>{n=o.call(t,e)}),void 0!==a&&ne(s,sr(t,a,r,i)),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let i,r=Ht(t);r.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[$r]&&t.isComponent&&Or(t,e,()=>{t[$r](e)},void 0,!0);try{Wr(),i=this._set(t,e,n,r),rr(r,e,i);let s=Ge(t),o=Ve(t,e,s),{_dependentKeys:a}=this;void 0!==a&&ne(o,sr(t,a,s,r)),r.setRevisionFor(e,Zt(o))}finally{Hr()}return i}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${R(t)}`)}_set(t,e,n,i){let r,s=void 0!==i.revisionFor(e),o=i.valueFor(e),{_setter:a}=this;qr(t,e,!0);try{r=a.call(t,e,n,o)}finally{qr(t,e,!1)}return s&&o===r||(i.setValueFor(e,r),Vr(t,e,i,n)),r}teardown(t,e,n){void 0!==n.revisionFor(e)&&(n.setRevisionFor(e,void 0),n.setValueFor(e,void 0)),super.teardown(t,e,n)}}class Zr extends Yr{get(t,e){let n,i=Ht(t),r=Ge(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:r}=this,o=Ie(()=>{n=r.call(t,e)});ne(s,o),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]",r)),n}}class Jr extends Function{readOnly(){return yr(this)._readOnly=!0,this}meta(t){let e=yr(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return yr(this)._getter}set enumerable(t){yr(this).enumerable=t}}function Qr(...t){return lr(t)?fr(new Yr([]),Jr)(t[0],t[1],t[2]):fr(new Yr(t),Jr)}function ts(...t){return fr(new Zr(t),Jr)}function es(t,e){return Boolean(mr(t,e))}function ns(t,e,n,i,r){let s=void 0===r?Ht(t):r,o=mr(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),_r(n)?is(t,e,n,s):null==n?rs(t,e,i,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||jr(t)}function is(t,e,n,i){let r;return r=n(t,e,void 0,i),Object.defineProperty(t,e,r),n}function rs(t,e,n,i,r=!0){return!0===i||!1===r?Object.defineProperty(t,e,{configurable:!0,enumerable:r,writable:!0,value:n}):t[e]=n,n}const ss=new Vi(1e3,t=>t.indexOf("."));function os(t){return"string"==typeof t&&-1!==ss.get(t)}const as=ht("PROXY_CONTENT");function ls(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function us(t,e){return os(e)?cs(t,e):hs(t,e)}function hs(t,e){if(null==t)return;let n;return"object"==typeof t||"function"==typeof t?(n=t[e],void 0===n&&"object"==typeof t&&!(e in t)&&ls(t)&&(n=t.unknownProperty(e)),xe()&&(Se(Ve(t,e)),(Array.isArray(n)||Gi(n))&&Se(Ve(n,"[]")))):n=t[e],n}function cs(t,e,n){let i="string"==typeof e?e.split("."):e;for(let r of i){if(null==t||t.isDestroyed)return;if(n&&("__proto__"===r||"constructor"===r))return;t=hs(t,r)}return t}hs("foo","a"),hs("foo",1),hs({},"a"),hs({},1),hs({unknownProperty(){}},"a"),hs({unknownProperty(){}},1),us({},"foo"),us({},"foo.bar");let ds={};qi(ds),Ie(()=>hs({},"a")),Ie(()=>hs({},1)),Ie(()=>hs({a:[]},"a")),Ie(()=>hs({a:ds},"a"));class ps{_registry;_coreLibIndex;constructor(){this._registry=[],this._coreLibIndex=0}_getLibraryByName(t){let e=this._registry;for(let n of e)if(n.name===t)return n}register(t,e,n){let i=this._registry.length;this._getLibraryByName(t)||(n&&(i=this._coreLibIndex++),this._registry.splice(i,0,{name:t,version:e}))}registerCoreLibrary(t,e){this.register(t,e,!0)}deRegister(t){let e,n=this._getLibraryByName(t);n&&(e=this._registry.indexOf(n),this._registry.splice(e,1))}}const fs=new ps;let gs;function ms(t,...e){let n,i;lr(e)?n=e:"string"==typeof e[0]&&(i=e[0]);let r=Qr({get:function(e){return(Yi(this)||this.container).lookup(`${t}:${i||e}`)},set(t,e){ns(this,t,null,e)}});return n?r(n[0],n[1],n[2]):r}function ys(...t){if(!lr(t)){let e=t[0],n=e?e.initializer:void 0,i=e?e.value:void 0,r=function(t,e){return _s([t,e,{initializer:n||(()=>i)}])};return vr(r),r}return _s(t)}function _s([t,e,n]){let{getter:i,setter:r}=We(e,n?n.initializer:void 0);function s(){let t=i(this);return(Array.isArray(t)||Gi(t))&&Se(Ve(t,"[]")),t}function o(t){r(this,t),$e(this,Qi)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return pr.add(o),Ht(t).writeDescriptors(e,new vs(s,o)),a}fs.registerCoreLibrary("Ember",Wi);class vs{constructor(t,e){this._get=t,this._set=e,ir.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function bs(t,e,n,i){return t.isDestroyed?n:os(e)?function(t,e,n,i){let r=e.split("."),s=r.pop(),o=cs(t,r,!0);if(null!=o)return bs(o,s,n);if(!i)throw new Error(`Property set failed: object in path "${r.join(".")}" could not be found.`)}(t,e,n,i):ws(t,e,n)}function ws(t,e,n){let i,r=it(t,e);return null!==r&&pr.has(r.set)?(t[e]=n,n):(i=t[e],void 0!==i||"object"!=typeof t||e in t||"function"!=typeof t.setUnknownProperty?(t[e]=n,i!==n&&Vr(t,e)):t.setUnknownProperty(e,n),n)}function xs(t,e,n){return bs(t,e,n,!0)}function Ss(t){return fr(new Cs(t),Es)}class Es extends Function{readOnly(){return yr(this).readOnly(),this}oneWay(){return yr(this).oneWay(),this}meta(t){let e=yr(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Cs extends hr{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,i){super.setup(t,e,n,i),ir.add(this)}get(t,e){let n,i=Ht(t),r=Ge(t),s=Ve(t,e,r);Oe(()=>{n=us(t,this.altKey)});let o=i.revisionFor(e);return void 0!==o&&Jt(s,o)||(ne(s,or(t,this.altKey,r,i)),i.setRevisionFor(e,Zt(s)),rr(i,e,n)),Se(s),n}set(t,e,n){return bs(t,this.altKey,n)}readOnly(){this.set=ks}oneWay(){this.set=Ts}}function ks(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${R(t)}`)}function Ts(t,e,n){return ns(t,e,null),bs(t,e,n)}function Rs(t,e,n,i){return void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1)),kr(t,"@array:before",[t,e,n,i]),t}function Ps(t,e,n,i,r=!0){void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1));let s=Wt(t);if(r&&((i<0||n<0||i-n!==0)&&Vr(t,"length",s),Vr(t,"[]",s)),kr(t,"@array:change",[t,e,n,i]),null!==s){let r=-1===n?0:n,o=t.length-((-1===i?0:i)-r),a=e<0?o+e:e;void 0!==s.revisionFor("firstObject")&&0===a&&Vr(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1{let n=Object.keys(e);for(let i of n)bs(t,i,e[i])}),e}const zs=new WeakMap;function Us(t,e){O(t)&&zs.set(t,e)}function Bs(t){return zs.get(t)}const qs=Object.prototype.hasOwnProperty;let $s=!1;const Gs={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(t){this._set++,this._unprocessedNamespaces=t}};let Vs=!1;const Ws=[],Hs=Object.create(null);function Ks(t){Gs.unprocessedNamespaces=!0,Ws.push(t)}function Xs(t){let e=Bs(t);delete Hs[e],Ws.splice(Ws.indexOf(t),1),e in d.lookup&&t===d.lookup[e]&&(d.lookup[e]=void 0)}function Ys(){if(!Gs.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!so(n.charCodeAt(0)))continue;let e=oo(t,n);e&&Us(e,n)}}function Zs(t){return $s||Qs(),Hs[t]}function Js(t){io([t.toString()],t,new Set)}function Qs(){let t=Gs.unprocessedNamespaces;if(t&&(Ys(),Gs.unprocessedNamespaces=!1),t||Vs){let t=Ws;for(let e of t)Js(e);Vs=!1}}function to(){return $s}function eo(t){$s=Boolean(t)}function no(){Vs=!0}function io(t,e,n){let i=t.length,r=t.join(".");Hs[r]=e,Us(e,r);for(let s in e){if(!qs.call(e,s))continue;let r=e[s];if(t[i]=s,r&&void 0===Bs(r))Us(r,t.join("."));else if(r&&ro(r)){if(n.has(r))continue;n.add(r),io(t,r,n)}}t.length=i}function ro(t){return null!=t&&"object"==typeof t&&t.isNamespace}function so(t){return t>=65&&t<=90}function oo(t,e){try{let n=t[e];return(null!==n&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(n){}}const ao={get onerror(){}},lo=setTimeout,uo=()=>{};function ho(t){if("function"==typeof Promise){const e=Promise.resolve();return()=>e.then(t)}if("function"==typeof MutationObserver){let e=0,n=new MutationObserver(t),i=document.createTextNode("");return n.observe(i,{characterData:!0}),()=>(e=++e%2,i.data=""+e,e)}return()=>lo(t,0)}function co(t){let e=uo;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:ho(t),clearNext:e}}const po=/\d+/;function fo(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&po.test(t)}function go(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function mo(t,e,n){let i=-1;for(let r=0,s=n.length;r=e[n]?r=n+6:s=n;return t>=e[r]?r+6:r}class bo{constructor(t,e={},n={}){this._queueBeingFlushed=[],this.targetQueues=new Map,this.index=0,this._queue=[],this.name=t,this.options=e,this.globalOptions=n}stackFor(t){if(t0){let t=go(this.globalOptions);s=t?this.invokeWithOnError:this.invoke;for(let o=this.index;o0&&this.flush(!0)}hasWork(){return this._queueBeingFlushed.length>0||this._queue.length>0}cancel({target:t,method:e}){let n=this._queue,i=this.targetQueues.get(t);void 0!==i&&i.delete(e);let r=mo(t,e,n);return r>-1?(n[r+1]=null,!0):(n=this._queueBeingFlushed,r=mo(t,e,n),r>-1&&(n[r+1]=null,!0))}push(t,e,n,i){return this._queue.push(t,e,n,i),{queue:this,target:t,method:e}}pushUnique(t,e,n,i){let r=this.targetQueues.get(t);void 0===r&&(r=new Map,this.targetQueues.set(t,r));let s=r.get(e);if(void 0===s){let s=this._queue.push(t,e,n,i)-4;r.set(e,s)}else{let t=this._queue;t[s+2]=n,t[s+3]=i}return{queue:this,target:t,method:e}}_getDebugInfo(t){if(t)return _o(this._queue,4)}invoke(t,e,n){void 0===n?e.call(t):e.apply(t,n)}invokeWithOnError(t,e,n,i,r){try{void 0===n?e.call(t):e.apply(t,n)}catch(JD){i(JD,r)}}}class wo{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new bo(n,e[n],e),t},this.queues)}schedule(t,e,n,i,r,s){let o=this.queues[t];if(void 0===o)throw new Error(`You attempted to schedule an action in a queue (${t}) that doesn't exist`);if(null==n)throw new Error(`You attempted to schedule an action in a queue (${t}) for a method that doesn't exist`);return this.queueNameIndex=0,r?o.pushUnique(e,n,i,s):o.push(e,n,i,s)}flush(t=!1){let e,n,i=this.queueNames.length;for(;this.queueNameIndexr){let e=i-r;t=new Array(e);for(let n=0;n{Vo++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||co;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Ro,end:Po,events:{begin:Mo,end:0},autoruns:{created:Go,completed:Vo},run:Io,join:Oo,defer:Ao,schedule:Fo,scheduleIterable:Lo,deferOnce:Do,scheduleOnce:No,setTimeout:jo,later:zo,throttle:Uo,debounce:Bo,cancelTimers:qo,cancel:$o,loops:{total:Wo,nested:Ho}}}get defaultQueue(){return this._defaultQueue}begin(){Ro++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(Ho++,this.instanceStack.push(n)),Wo++,t=this.currentInstance=new wo(this.queueNames,e),Mo++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Po++,this._end(!1)}on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=this._eventCallbacks[t];if(void 0===n)throw new TypeError(`Cannot on() event ${t} because it does not exist`);n.push(e)}off(t,e){let n=this._eventCallbacks[t];if(!t||void 0===n)throw new TypeError(`Cannot off() event ${t} because it does not exist`);let i=!1;if(e)for(let r=0;r0&&fo(n[r-1])&&(i=parseInt(n.pop(),10)),[t,e,n,i]}(...arguments);return this._later(t,e,n,i)}throttle(){Uo++;let t,[e,n,i,r,s=!0]=ko(...arguments),o=yo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Eo&&(this._timers[e]=i)}return t}debounce(){Bo++;let t,[e,n,i,r,s=!1]=ko(...arguments),o=this._timers,a=yo(e,n,o);if(-1===a)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{let s=this._platform.now()+r,l=a+4;o[l]===Eo&&(i=Eo),t=o[a+1];let u=vo(s,o);if(a+6===u)o[a]=s,o[l]=i;else{let r=this._timers[a+5];this._timers.splice(u,0,s,t,e,n,i,r),this._timers.splice(a,6)}0===a&&this._reinstallTimerTimeout()}return t}cancelTimers(){qo++,this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()}hasTimers(){return this._timers.length>0||this._autorun}cancel(t){if($o++,null==t)return!1;let e=typeof t;return"number"===e?this._cancelLaterTimer(t):!("object"!==e||!t.queue||!t.method)&&t.queue.cancel(t)}ensureInstance(){this._ensureInstance()}getDebugInfo(){if(this.DEBUG)return{autorun:this._autorunStack,counters:this.counters,timers:_o(this._timers,6,2),instanceStack:[this.currentInstance,...this.instanceStack].map(t=>t&&t._getDebugInfo(this.DEBUG))}}_end(t){let e=this.currentInstance,n=null;if(null===e)throw new Error("end called without begin");let i,r=!1;try{i=e.flush(t)}finally{if(!r)if(r=!0,1===i){const t=this.queueNames[e.queueNameIndex];this._scheduleAutorun(t)}else this.currentInstance=null,this.instanceStack.length>0&&(n=this.instanceStack.pop(),this.currentInstance=n),this._trigger("end",e,n),this._onEnd(e,n)}}_join(t,e,n){return null===this.currentInstance?this._run(t,e,n):void 0===t&&void 0===n?e():e.apply(t,n)}_run(t,e,n){let i=go(this.options);if(this.begin(),i)try{return e.apply(t,n)}catch(JD){i(JD)}finally{this.end()}else try{return e.apply(t,n)}finally{this.end()}}_cancelAutorun(){this._autorun&&(this._platform.clearNext(),this._autorun=!1,this._autorunStack=null)}_later(t,e,n,i){let r=this.DEBUG?new Error:void 0,s=this._platform.now()+i,o=To++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,r),this._installTimerTimeout();else{let i=vo(s,this._timers);this._timers.splice(i,0,s,o,t,e,n,r),this._reinstallTimerTimeout()}return o}_cancelLaterTimer(t){for(let e=1;e0&&(this.begin(),this._scheduleExpiredTimers(),this.end())}_scheduleExpiredTimers(){let t=this._timers,e=0,n=t.length,i=this._defaultQueue,r=this._platform.now();for(;er);e+=6){let n=t[e+4];if(n!==Eo){let r=t[e+2],s=t[e+3],o=t[e+5];this.currentInstance.schedule(i,r,s,n,!1,o)}}t.splice(0,e),this._installTimerTimeout()}_reinstallTimerTimeout(){this._clearTimerTimeout(),this._installTimerTimeout()}_clearTimerTimeout(){null!==this._timerTimeoutId&&(this._platform.clearTimeout(this._timerTimeoutId),this._timerTimeoutId=null)}_installTimerTimeout(){if(0===this._timers.length)return;let t=this._timers[0],e=this._platform.now(),n=Math.max(0,t-e);this._timerTimeoutId=this._platform.setTimeout(this._boundRunExpiredTimers,n)}_ensureInstance(){let t=this.currentInstance;return null===t&&(this._autorunStack=this.DEBUG?new Error:void 0,t=this.begin(),this._scheduleAutorun(this.queueNames[0])),t}_scheduleAutorun(t){Go++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}Ko.Queue=bo,Ko.buildPlatform=co,Ko.buildNext=ho;let Xo=null;function Yo(){return Xo}const Zo=`${Math.random()}${Date.now()}`.replace(".",""),Jo=["actions","routerTransitions","render","afterRender","destroy",Zo],Qo=new Ko(Jo,{defaultQueue:"actions",onBegin:function(t){Xo=t},onEnd:function(t,e){Xo=e,Ur(ia)},onErrorTarget:ao,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==Zo||Ur(ia),e()}});function ta(...t){return Qo.run(...t)}function ea(t,e,...n){return Qo.join(t,e,...n)}function na(...t){return(...e)=>ea(...t.concat(e))}function ia(...t){return Qo.schedule(...t)}function ra(...t){return Qo.scheduleOnce("actions",...t)}function sa(...t){return Qo.scheduleOnce(...t)}function oa(t){return Qo.cancel(t)}function aa(...t){return Qo.debounce(...t)}const la=Object.freeze(Object.defineProperty({__proto__:null,_backburner:Qo,_cancelTimers:function(){Qo.cancelTimers()},_getCurrentRunLoop:Yo,_hasScheduledTimers:function(){return Qo.hasTimers()},_queues:Jo,_rsvpErrorQueue:Zo,begin:function(){Qo.begin()},bind:na,cancel:oa,debounce:aa,end:function(){Qo.end()},join:ea,later:function(...t){return Qo.later(...t)},next:function(...t){return Qo.later(...t,1)},once:ra,run:ta,schedule:ia,scheduleOnce:sa,throttle:function(...t){return Qo.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),ua="@warp-drive/core",ha=globalThis;ha.__warpDrive_universalCache=ha.__warpDrive_universalCache??{},ha[ua]=ha[ua]??{__version:"5.8.1"};const ca=ha[ua],da=ca.__warpDrive_ModuleScopedCaches??{};if(ca.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function pa(t,e){return e}function fa(t){return da[`(transient) ${t}`]??null}ca.__warpDrive_hasOtherCopy=!0;const ga=new WeakMap;function ma(t,e){ga.set(t,e)}const ya=pa(0,Symbol("#[]"));function _a(t,e){return fa("signalHooks").createSignal(t,e)}const va={};function ba(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===va}const wa=pa(0,Symbol("Signals"));function xa(t){return t[wa]||function(t){t[wa]=new Map}(t),t[wa]}function Sa(t,e,n,i){const r={key:n,context:e,signal:_a(e,n),value:ba(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function Ea(t,e){return t?.get(e)}function Ca(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=Ea(t,n);return r||(r=Sa(t,e,n,i)),s=r.signal,fa("signalHooks").consumeSignal(s),r;var s}(xa(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=Ea(t,n);return r||(r=Sa(t,e,n,i)),r}(xa(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){fa("signalHooks").notifySignal(t)}(r.signal)))}}}function ka(t,e,n){Object.defineProperty(t,e,Ca(e,n))}function Ta(t,e,n){const i=Ca(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ra(t,e,n){const i=n.get;return n.get=function(){const t=xa(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return fa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Pa=new WeakMap;function Ma(t){return t instanceof DOMException&&"AbortError"===t.name}class Ia{_stream=null;_future;_triggered=!1;_trigger(){if(this._triggered)return;this._triggered=!0;const t=this._future.getStream();t.sizeHint&&(this._sizeHint=t.sizeHint),this.promise=t.then(t=>t?async function(t,e){const n=e,i=t.getReader();let r=0,s=null!==n._stream&&n._stream.readable.locked,o=s,a=n._stream?.writable.getWriter();const l=[];for(n._isPending=!1,n._isStarted=!0,n._startTime=performance.now();;){const{value:t,done:e}=await i.read();if(e)break;if(r+=t.byteLength,n._bytesLoaded=r,n._lastPacketTime=performance.now(),s=s||null!==n._stream&&n._stream.readable.locked,s){if(!o){o=!0,a=n._stream.writable.getWriter();for(const t of l)await a.ready,await a.write(t);l.length=0}await a.ready,await a.write(t)}else l.push(t)}o?(await a.ready,await a.close()):n._stream&&(await n._stream.readable.cancel("The Stream Has Already Ended"),n._stream=null);const u=performance.now();n._endTime=u,n._isComplete=!0,n._isStarted=!1}(t,this):(this._isPending=!1,void(this._isComplete=!0)),t=>{this._isPending=!1,this._isStarted=!1,Ma(t)&&(this._isCancelled=!0,this._isComplete=!0),this._isErrored=!0,this._error=t})}promise=null;get isPending(){return this._trigger(),this._isPending}get sizeHint(){return this._trigger(),this._sizeHint}get stream(){if(this._trigger(),!this._stream){if(this._isComplete||this._isCancelled||this._isErrored)return null;this._stream=new TransformStream}return this._stream.readable}get isStarted(){return this._trigger(),this._isStarted}get bytesLoaded(){return this._trigger(),this._bytesLoaded}get startTime(){return this._trigger(),this._startTime}get endTime(){return this._trigger(),this._endTime}get lastPacketTime(){return this._trigger(),this._lastPacketTime}get isComplete(){return this._trigger(),this._isComplete}get isCancelled(){return this._trigger(),this._isCancelled}get isErrored(){return this._trigger(),this._isErrored}get error(){return this._trigger(),this._error}get elapsedTime(){return(this.endTime||this.lastPacketTime)-this.startTime}get completedRatio(){return this.sizeHint?this.bytesLoaded/this.sizeHint:0}get remainingRatio(){return 1-this.completedRatio}get duration(){return this.endTime-this.startTime}get speed(){return this.bytesLoaded/(this.elapsedTime/1e3)}constructor(t){this._future=t}abort=()=>{this._future.abort()}}Ta(Ia.prototype,"_isPending",!0),Ta(Ia.prototype,"_isStarted",!1),Ta(Ia.prototype,"_isComplete",!1),Ta(Ia.prototype,"_isCancelled",!1),Ta(Ia.prototype,"_isErrored",!1),Ta(Ia.prototype,"_error",null),Ta(Ia.prototype,"_sizeHint",0),Ta(Ia.prototype,"_bytesLoaded",0),Ta(Ia.prototype,"_startTime",0),Ta(Ia.prototype,"_endTime",0),Ta(Ia.prototype,"_lastPacketTime",0);const Oa={};function Aa(t,e,n){const i=Object.assign({},e),r=Object.assign({},i.cacheOptions);return n?r.reload=!0:!1===n?(delete r.reload,r.backgroundReload=!0):(delete r.backgroundReload,delete r.reload),i.cacheOptions=r,t.request(i)}function Fa(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}ka(Oa,"reason",null),ka(Oa,"value",null),ka(Oa,"result",null),ka(Oa,"error",null),ka(Oa,"status","pending"),ka(Oa,"isPending",!0),ka(Oa,"isLoading",!0),ka(Oa,"isSuccess",!1),ka(Oa,"isError",!1),ka(Oa,"request",null),ka(Oa,"response",null),Object.defineProperty(Oa,"isCancelled",{get(){return this.isError&&Ma(this.reason)}}),Object.defineProperty(Oa,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ia(this._request)),this._loadingState}});const La=Symbol.dispose||Symbol.for("dispose");class Da{_requester;constructor(t,e){this._args=e,this.store=t,this._subscribedTo=null,this._subscription=null,this._intervalStart=null,this._invalidated=!1,this._nextInterval=null,this._requester=null,this.isDestroyed=!1,this[La]=ja,this._installListeners(),this._beginPolling()}async _beginPolling(){try{this.isIdle||await this.request}catch{}finally{this.isDestroyed||this._scheduleInterval()}}get isIdle(){const{request:t,query:e}=this._args;return Boolean(!t&&!e)}static{Fa(this.prototype,"isIdle",[Ra])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Fa(this.prototype,"autorefreshTypes",[Ra])}async _scheduleInterval(){const{autorefreshThreshold:t}=this._args;if("undefined"!=typeof window&&"number"==typeof t&&t>0&&this.autorefreshTypes.has("interval")&&null===this._intervalStart){if(this._latestRequest){try{await this._latestRequest}catch{}if(this.isDestroyed)return}this._intervalStart=Date.now(),this._nextInterval=setTimeout(()=>{this._maybeUpdate()},t)}}_clearInterval(){this._nextInterval&&(clearTimeout(this._nextInterval),this._intervalStart=null)}_updateSubscriptions(){if(this.isIdle)return;const t=this._request.lid;if(this._subscribedTo===t)return;this._removeSubscriptions();const e=this._getRequester();this._requester=e,t&&Na(e)&&(this._subscribedTo=t,this._subscription=e.notifications.subscribe(t,(n,i)=>{if(!this._isUpdating)switch(i){case"invalidated":this.autorefreshTypes.has("invalid")&&(this._invalidated=!0,this._maybeUpdate());break;case"state":{const n=e.requestManager._deduped.get(t),i=n?.priority,r=this.reqState;i?i.blocking&&!r.isLoading?(this.isRefreshing=!1,this._maybeUpdate("policy",!0)):this.isRefreshing=!0:this.isRefreshing=!1}}}))}_removeSubscriptions(){const t=this._requester;this._subscription&&t&&Na(t)&&(t.notifications.unsubscribe(this._subscription),this._subscribedTo=null,this._subscription=null,this._requester=null)}_installListeners(){"undefined"!=typeof window&&(this.isOnline=window.navigator.onLine,this._unavailableStart=this.isOnline?null:Date.now(),this.isHidden="hidden"===document.visibilityState,this._onlineChanged=t=>{this.isOnline="online"===t.type,"offline"===t.type&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},this._backgroundChanged=()=>{const t="hidden"===document.visibilityState;this.isHidden=t,t&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},window.addEventListener("online",this._onlineChanged,{passive:!0,capture:!0}),window.addEventListener("offline",this._onlineChanged,{passive:!0,capture:!0}),document.addEventListener("visibilitychange",this._backgroundChanged,{passive:!0,capture:!0}))}_maybeUpdate(t,e){if(this.isIdle)return;const{reqState:n}=this;if(n.isPending)return;if(!Boolean(this.isOnline&&!this.isHidden&&(t||this.autorefreshTypes.size))){if(!e&&t&&"_invalidated"!==t)throw new Error("Reload not available: the network is not online or the tab is hidden");return}const{autorefreshTypes:i}=this;let r=this._invalidated||Boolean(t);if(!r&&i.has("online")){const{_unavailableStart:t}=this,{autorefreshThreshold:e}=this._args,n="number"==typeof e?e:3e4;r=Boolean(t&&Date.now()-t>n)}if(!r&&i.has("interval")){const{_intervalStart:t}=this,{autorefreshThreshold:e}=this._args;t&&"number"==typeof e&&e>0&&(r=Boolean(Date.now()-t>=e))}if(this._unavailableStart=null,this._invalidated=!1,r){this._clearInterval(),this._isUpdating=!0;const e=("_invalidated"===t?null:t)??this._args.autorefreshBehavior??"policy",i=this._getRequester();switch(n._request.requester||(n._request.requester=i),e){case"reload":this._latestRequest=n.reload();break;case"refresh":this._latestRequest=n.refresh();break;case"policy":this._latestRequest=n.refresh(!0)}"refresh"!==e&&(this._localRequest=this._latestRequest),this._scheduleInterval(),this._latestRequest.finally(()=>{this._isUpdating=!1})}}_getRequester(){return this._args.request?.requester?this._args.request.requester:this.store}retry=async()=>{this._maybeUpdate("reload"),await this._localRequest};refresh=async()=>{this._maybeUpdate("refresh"),await this._latestRequest};get errorFeatures(){return{isHidden:this.isHidden,isOnline:this.isOnline,retry:this.retry}}static{Fa(this.prototype,"errorFeatures",[Ra])}get contentFeatures(){const t={isHidden:this.isHidden,isOnline:this.isOnline,reload:this.retry,refresh:this.refresh,isRefreshing:this.isRefreshing,latestRequest:this._latestRequest};return t.isRefreshing&&(t.abort=()=>{this._latestRequest?.abort()}),t}static{Fa(this.prototype,"contentFeatures",[Ra])}get _request(){const{request:t,query:e}=this._args,{_localRequest:n,_originalRequest:i,_originalQuery:r}=this;return n&&t===i&&e===r?n:(this._originalQuery=e,this._originalRequest=t,t||this.store.request(e))}static{Fa(this.prototype,"_request",[Ra])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Fa(this.prototype,"request",[Ra])}get reqState(){return function(t){let e=Pa.get(t);return e||(e=function(t){const e=(n=t,ga.get(n));var n;const i=Object.create(Oa);return i._request=t,i.reload=()=>Aa(t.requester,i.request,!0),i.refresh=(e=!1)=>Aa(t.requester,i.request,!0===e&&null),e?e.isError?(i.error=e.result,i.reason=e.result,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):(i.result=e.result.content,i.value=e.result.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):t.then(e=>{ma(t,{isError:!1,result:e}),i.result=e.content,i.value=e.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response},e=>{ma(t,{isError:!0,result:e}),i.error=e,i.reason=e,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response}),i}(t),Pa.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function Na(t){return"requestManager"in t}function ja(){const t=this;t.isDestroyed=!0,t._removeSubscriptions(),"undefined"!=typeof window&&(t._clearInterval(),window.removeEventListener("online",t._onlineChanged,{passive:!0,capture:!0}),window.removeEventListener("offline",t._onlineChanged,{passive:!0,capture:!0}),document.removeEventListener("visibilitychange",t._backgroundChanged,{passive:!0,capture:!0}))}ka(Da.prototype,"isOnline",!0),ka(Da.prototype,"isHidden",!1),ka(Da.prototype,"isRefreshing",!1),ka(Da.prototype,"_localRequest",void 0),ka(Da.prototype,"_latestRequest",void 0);const za={};ka(za,"reason",null),ka(za,"value",null),ka(za,"result",null),ka(za,"error",null),ka(za,"status","pending"),ka(za,"isPending",!0),ka(za,"isLoading",!0),ka(za,"isSuccess",!1),ka(za,"isError",!1);const Ua=ee;var Ba;Ba=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[tr(t,n),tr(t,"length"),tr(t,"[]")]:tr(t,n),consumeSignal(t){if(Array.isArray(t))return Se(t[0]),Se(t[1]),void Se(t[2]);Se(t)},notifySignal(t){if(Array.isArray(t))return Ua(t[0]),Ua(t[1]),void Ua(t[2]);Ua(t)},createMemo:(t,e,n)=>{{const i=tr(t,e),r=Re(n);let s;const o=()=>{s=Pe(r)};return()=>{const t=Ie(o);return ne(i,t),Se(t),s}}},willSyncFlushWatchers:()=>!!Qo.currentInstance&&!0!==Qo._autorun,waitFor:async t=>t}},function(t,e){da["(transient) signalHooks"]=e}(0,Ba({wellknown:{Array:ya}}));const qa=Yi,$a=Object.freeze(Object.defineProperty({__proto__:null,getOwner:qa,setOwner:Zi},Symbol.toStringTag,{value:"Module"}));function Ga(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const Va=g.EMBER_LOAD_HOOKS||{},Wa={};let Ha=Wa;function Ka(t,e){if(Wa[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}Va[t]?.forEach(t=>t(e))}class Xa{static _leakTracking;owner;registry;cache;factoryManagerCache;validationCache;isDestroyed;isDestroying;constructor(t,e={}){this.registry=t,this.owner=e.owner||null,this.cache=Ga(e.cache||null),this.factoryManagerCache=Ga(e.factoryManagerCache||null),this.isDestroyed=!1,this.isDestroying=!1}lookup(t,e){if(this.isDestroyed)throw new Error(`Cannot call \`.lookup('${t}')\` after the owner has been destroyed`);return function(t,e,n={}){let i=e;if(!0===n.singleton||void 0===n.singleton&&Ya(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=Ja(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||Ya(t,e))&&Za(t,e)}(t,n,i)){let n=t.cache[e]=r.create();return t.isDestroying&&"function"==typeof n.destroy&&n.destroy(),n}if(function(t,e,{instantiate:n,singleton:i}){return!1!==n&&(!1===i||!Ya(t,e))&&Za(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&Ya(t,e)&&!Za(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&Ya(t,e)||Za(t,e))}(t,n,i))return r.class;throw new Error("Could not create factory")}}(t,i,e,n)}(this,this.registry.normalize(t),e)}destroy(){this.isDestroying=!0,Qa(this)}finalizeDestroy(){tl(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(Qa(this),tl(this)):function(t,e){let n=t.cache[e];delete t.factoryManagerCache[e],n&&(delete t.cache[e],n.destroy&&n.destroy())}(this,this.registry.normalize(t)))}ownerInjection(){let t={};return Zi(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return Ja(this,this.registry.normalize(t),t)}}function Ya(t,e){return!1!==t.registry.getOption(e,"singleton")}function Za(t,e){return!1!==t.registry.getOption(e,"instantiate")}function Ja(t,e,n){let i=t.factoryManagerCache[e];if(void 0!==i)return i;let r=t.registry.resolve(e);if(void 0===r)return;let s=new rl(t,r,n,e);return t.factoryManagerCache[e]=s,s}function Qa(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function tl(t){t.cache=Ga(null),t.factoryManagerCache=Ga(null)}const el=Symbol("INIT_FACTORY");function nl(t){return t[el]}function il(t,e){t[el]=e}class rl{container;owner;class;fullName;normalizedName;madeToString;injections;constructor(t,e,n,i){this.container=t,this.owner=t.owner,this.class=e,this.fullName=n,this.normalizedName=i,this.madeToString=void 0,this.injections=void 0}toString(){return void 0===this.madeToString&&(this.madeToString=this.container.registry.makeToString(this.class,this.fullName)),this.madeToString}create(t){let{container:e}=this;if(e.isDestroyed)throw new Error(`Cannot create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);let n=t?{...t}:{};return Zi(n,e.owner),il(n,this),this.class.create(n)}}const sl=/^[^:]+:[^:]+$/;class ol{_failSet;resolver;fallback;registrations;_normalizeCache;_options;_resolveCache;_typeOptions;constructor(t={}){this.fallback=t.fallback||null,this.resolver=t.resolver||null,this.registrations=Ga(t.registrations||null),this._normalizeCache=Ga(null),this._resolveCache=Ga(null),this._failSet=new Set,this._options=Ga(null),this._typeOptions=Ga(null)}container(t){return new Xa(this,t)}register(t,e,n={}){let i=this.normalize(t);this._failSet.delete(i),this.registrations[i]=e,this._options[i]=n}unregister(t){let e=this.normalize(t);delete this.registrations[e],delete this._resolveCache[e],delete this._options[e],this._failSet.delete(e)}resolve(t){let e=function(t,e){let n,i=e,r=t._resolveCache[i];return void 0!==r?r:t._failSet.has(i)?void 0:(t.resolver&&(n=t.resolver.resolve(i)),void 0===n&&(n=t.registrations[i]),void 0===n?t._failSet.add(i):t._resolveCache[i]=n,n)}(this,this.normalize(t));return void 0===e&&null!==this.fallback&&(e=this.fallback.resolve(t)),e}describe(t){return null!==this.resolver&&this.resolver.lookupDescription?this.resolver.lookupDescription(t):null!==this.fallback?this.fallback.describe(t):t}normalizeFullName(t){return null!==this.resolver&&this.resolver.normalize?this.resolver.normalize(t):null!==this.fallback?this.fallback.normalizeFullName(t):t}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this.normalizeFullName(t))}makeToString(t,e){return null!==this.resolver&&this.resolver.makeToString?this.resolver.makeToString(t,e):null!==this.fallback?this.fallback.makeToString(t,e):"string"==typeof t?t:t.name??"(unknown class)"}has(t){return!!this.isValidFullName(t)&&function(t,e){return void 0!==t.resolve(e)}(this,this.normalize(t))}optionsForType(t,e){this._typeOptions[t]=e}getOptionsForType(t){let e=this._typeOptions[t];return void 0===e&&null!==this.fallback&&(e=this.fallback.getOptionsForType(t)),e}options(t,e){let n=this.normalize(t);this._options[n]=e}getOptions(t){let e=this.normalize(t),n=this._options[e];return void 0===n&&null!==this.fallback&&(n=this.fallback.getOptions(t)),n}getOption(t,e){let n=this._options[t];if(void 0!==n&&void 0!==n[e])return n[e];let i=t.split(":")[0];return n=this._typeOptions[i],n&&void 0!==n[e]?n[e]:null!==this.fallback?this.fallback.getOption(t,e):void 0}knownForType(t){let e,n,i=Ga(null),r=Object.keys(this.registrations);for(let s of r)s.split(":")[0]===t&&(i[s]=!0);return null!==this.fallback&&(e=this.fallback.knownForType(t)),null!==this.resolver&&this.resolver.knownForType&&(n=this.resolver.knownForType(t)),Object.assign({},e,i,n)}isValidFullName(t){return sl.test(t)}}const al=Ga(null),ll=`${Math.random()}${Date.now()}`.replace(".","");function ul([t]){let e=al[t];if(e)return e;let[n,i]=t.split(":");return al[t]=I(`${n}:${i}-${ll}`)}const hl=Array.prototype.concat;function cl(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?hl.call(r,e[t]):e[t]),r}function dl(t,e,n,i){if(!0===n)return e;let r=n._getter;if(void 0===r)return e;let s=i[t],o="function"==typeof s?yr(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,u=et(r,a),h=n._setter,c=o._setter;if(l=void 0!==c?void 0!==h?et(h,c):c:h,u!==r||l!==h){let t=n._dependentKeys||[],e=new Yr([...t,{get:u,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,fr(e,Yr)}return e}function pl(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?et(e,r):e}function fl(t){return t?Array.isArray(t)?t:[t]:[]}function gl(t,e,n){return fl(n[t]).concat(fl(e))}function ml(t,e,n){let i=n[t];if(!i)return e;let r=Object.assign({},i),s=!1,o=Object.keys(e);for(let a of o){let t=e[a];"function"==typeof t?(s=!0,r[a]=pl(a,t,i,{})):r[a]=t}return s&&(r._super=W),r}function yl(t,e,n,i,r,s,o){let a;for(let l=0;l{let e=s.indexOf(t);-1!==e&&s.splice(e,1)}))}else _l(e,a,n,i,r,s,o)}function _l(t,e,n,i,r,s,o){let a=cl("concatenatedProperties",e,i,r),l=cl("mergedProperties",e,i,r),u=Object.keys(e);for(let h of u){let u=e[h];if(void 0===u)continue;if(-1===s.indexOf(h)){s.push(h);let e=t.peekDescriptors(h);if(void 0===e){if(!_r(u)){let t=i[h]=r[h];"function"==typeof t&&vl(r,h,t,!1)}}else n[h]=e,o.push(h),e.teardown(r,h,t)}let c="function"==typeof u;if(c){let t=yr(u);if(void 0!==t){n[h]=dl(h,u,t,n),i[h]=void 0;continue}}a&&a.indexOf(h)>=0||"concatenatedProperties"===h||"mergedProperties"===h?u=gl(h,u,i):l&&l.indexOf(h)>-1?u=ml(h,u,i):c&&(u=pl(h,u,i,n)),i[h]=u,n[h]=void 0}}function vl(t,e,n,i){let r=Z(n);if(void 0===r)return;let{observers:s,listeners:o}=r;if(void 0!==s){let n=i?Or:Ar;for(let i of s.paths)n(t,i,null,e,s.sync)}if(void 0!==o){let n=i?Er:Cr;for(let i of o)n(t,i,null,e)}}function bl(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=Ht(t),o=[],a=[];t._super=W,yl(e,s,i,r,t,o,a);for(let l of o){let e=r[l],o=i[l];void 0!==e?("function"==typeof e&&vl(t,l,e,!0),rs(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&is(t,l,o,s)}return s.isPrototypeMeta(t)||jr(t),t}const wl=new WeakSet;class xl{mixins;properties;ownerConstructor;_without;constructor(t,e){wl.add(this),this.properties=function(t){if(void 0!==t)for(let e of Object.keys(t)){let n=Object.getOwnPropertyDescriptor(t,e);void 0===n.get&&void 0===n.set||Object.defineProperty(t,e,{value:ur(n)})}return t}(e),this.mixins=Sl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return no(),new this(t,void 0)}static mixins(t){let e=Wt(t),n=[];return null===e||e.forEachMixins(t=>{t.properties||n.push(t)}),n}reopen(...t){if(0===t.length)return this;if(this.properties){let t=new xl(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(Sl(t)),this}apply(t,e=!1){return bl(t,[this],e)}applyPartial(t){return bl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(wl.has(t))return El(t,this);let e=Wt(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new xl([this]);return e._without=t,e}keys(){return Cl(this)}toString(){return"(unknown mixin)"}}function Sl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iEl(t,e,n))}function Cl(t,e=new Set,n=new Set){if(!n.has(t)){if(n.add(t),t.properties){let n=Object.keys(t.properties);for(let t of n)e.add(t)}else t.mixins&&t.mixins.forEach(t=>Cl(t,e,n));return e}}const kl=xl.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:Tl("register"),unregister:Tl("unregister"),hasRegistration:Tl("has"),registeredOption:Tl("getOption"),registerOptions:Tl("options"),registeredOptions:Tl("getOptions"),registerOptionsForType:Tl("optionsForType"),registeredOptionsForType:Tl("getOptionsForType")});function Tl(t){return function(...e){return this.__registry__[t](...e)}}const Rl=xl.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&ea(()=>{t.destroy(),ia("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Pl=xl.create({compare:null}),Ml=xl.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=us(this,"target");n&&n.send(...arguments)}});function Il(t){let e=us(t,"content");return ne(er(t),er(e)),e}function Ol(t,e,n){let i=Ge(t),r=Ve(t,e,i);if(e in t)return r;{let s=[r,Ve(t,"content",i)],o=Il(t);return O(o)&&s.push(tr(o,e,n)),ce(s)}}const Al=xl.create({content:null,init(){this._super(...arguments),qi(this),er(this),Kn(this,Ol)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:Qr("content",function(){return Boolean(us(this,"content"))}),unknownProperty(t){let e=Il(this);return e?us(e,t):void 0},setUnknownProperty(t,e){let n=Ht(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ns(this,t,null,e),e):bs(Il(this),t,e)}}),Fl=xl.create(),Ll=xl.create(Fl),Dl=Object.freeze(Object.defineProperty({__proto__:null,default:Ll},Symbol.toStringTag,{value:"Module"})),Nl=xl.create({target:null,action:null,actionContext:null,actionContextObject:Qr("actionContext",function(){let t=us(this,"actionContext");if("string"==typeof t){let e=us(this,t);return void 0===e&&(e=us(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:i}=t;e=e||us(this,"action"),n=n||function(t){let e=us(t,"target");if(e){if("string"==typeof e){let n=us(t,e);return void 0===n&&(n=us(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===i&&(i=us(this,"actionContextObject")||this);let r=Array.isArray(i)?i:[i];if(n&&e){let t;if(t=null!=(s=n)&&"object"==typeof s&&"function"==typeof s.send?n.send(e,...r):n[e](...r),!1!==t)return!0}var s;return!1}});function jl(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const zl={mixin(t){return t.on=this.on,t.off=this.off,t.trigger=this.trigger,t._promiseCallbacks=void 0,t},on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=jl(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=jl(this);if(!e)return void(n[t]=[]);let i=n[t],r=i.indexOf(e);-1!==r&&i.splice(r,1)},trigger(t,e,n){let i=jl(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?Jl(t,n):Yl(t,n)},e=>Ql(t,e))}(t,e):"function"==typeof n?function(t,e,n){Ul.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?Jl(t,n):Yl(t,n))},e=>{i||(i=!0,Ql(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,Ql(t,r))},t)}(t,e,n):Jl(t,e)}function Yl(t,e){if(t===e)Jl(t,e);else if(function(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)){let n;try{n=e.then}catch(JD){return void Ql(t,JD)}Xl(t,e,n)}else Jl(t,e)}function Zl(t){t._onError&&t._onError(t._result),eu(t)}function Jl(t,e){t._state===Wl&&(t._result=e,t._state=Hl,0===t._subscribers.length?Ul.instrument&&$l("fulfilled",t):Ul.async(eu,t))}function Ql(t,e){t._state===Wl&&(t._state=Kl,t._result=e,Ul.async(Zl,t))}function tu(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+Hl]=n,r[s+Kl]=i,0===s&&t._state&&Ul.async(eu,t)}function eu(t){let e=t._subscribers,n=t._state;if(Ul.instrument&&$l(n===Hl?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;onu(r,s,n,o))}return s}class ru{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t(Vl,i),this._abortOnReject=n,this._isUsingOwnPromise=t===lu,this._isUsingOwnResolve=t.resolve===Gl,this._init(...arguments)}_init(t,e){let n=e.length||0;this.length=n,this._remaining=n,this._result=new Array(n),this._enumerate(e)}_enumerate(t){let e=this.length,n=this.promise;for(let i=0;n._state===Wl&&ie(t)),e,n)}else this._willSettleAt(i.resolve(t),e,n)}_eachEntry(t,e,n){null!==t&&"object"==typeof t?this._settleMaybeThenable(t,e,n):this._setResultAt(Hl,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===Wl&&(this._abortOnReject&&t===Kl?Ql(r,n):(this._setResultAt(t,e,n,i),this._checkFullfillment()))}_setResultAt(t,e,n,i){this._remaining--,this._result[e]=n}_willSettleAt(t,e,n){tu(t,void 0,t=>this._settledAt(Hl,e,t,n),t=>this._settledAt(Kl,e,t,n))}}function su(t,e,n){this._remaining--,this._result[e]=t===Hl?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const ou="rsvp_"+Date.now()+"-";let au=0,lu=class t{constructor(e,n){this._id=au++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],Ul.instrument&&$l("created",this),Vl!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){let n=!1;try{e(e=>{n||(n=!0,Yl(t,e))},e=>{n||(n=!0,Ql(t,e))})}catch(i){Ql(t,i)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}_onError(t){Ul.after(()=>{this._onError&&Ul.trigger("error",t,this._label)})}catch(t,e){return this.then(void 0,t,e)}finally(t,e){let n=this,i=n.constructor;return"function"==typeof t?n.then(e=>i.resolve(t()).then(()=>e),e=>i.resolve(t()).then(()=>{throw e})):n.then(t,t)}};function uu(t,e){return{then:(n,i)=>t.call(e,n,i)}}function hu(t,e){let n=function(){let n=arguments.length,i=new Array(n+1),r=!1;for(let t=0;tcu(t,e,n,i))}(s,i,t,this):cu(s,i,t,this)};return n.__proto__=t,n}function cu(t,e,n,i){try{n.apply(i,e)}catch(JD){Ql(t,JD)}return t}function du(t,e){return lu.all(t,e)}lu.cast=Gl,lu.all=function(t,e){return Array.isArray(t)?new ru(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},lu.race=function(t,e){let n=this,i=new n(Vl,e);if(!Array.isArray(t))return Ql(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===Wl&&rYl(i,t),t=>Ql(i,t));return i},lu.resolve=Gl,lu.reject=function(t,e){let n=new this(Vl,e);return Ql(n,t),n},lu.prototype._guidKey=ou,lu.prototype.then=iu;class pu extends ru{constructor(t,e,n){super(t,e,!1,n)}}function fu(t,e){return Array.isArray(t)?new pu(lu,t,e).promise:lu.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function gu(t,e){return lu.race(t,e)}pu.prototype._setResultAt=su;class mu extends ru{constructor(t,e,n=!0,i){super(t,e,n,i)}_init(t,e){this._result={},this._enumerate(e)}_enumerate(t){let e,n,i=Object.keys(t),r=i.length,s=this.promise;this._remaining=r;for(let o=0;s._state===Wl&&o{throw t}),t}function wu(t){let e={resolve:void 0,reject:void 0};return e.promise=new lu((t,n)=>{e.resolve=t,e.reject=n},t),e}_u.prototype._setResultAt=su;class xu extends ru{constructor(t,e,n,i){super(t,e,!0,i,n)}_init(t,e,n,i,r){let s=e.length||0;this.length=s,this._remaining=s,this._result=new Array(s),this._mapFn=r,this._enumerate(e)}_setResultAt(t,e,n,i){if(i)try{this._eachEntry(this._mapFn(n,e),e,!1)}catch(JD){this._settledAt(Kl,e,JD,!1)}else this._remaining--,this._result[e]=n}}function Su(t,e,n){return"function"!=typeof e?lu.reject(new TypeError("map expects a function as a second argument"),n):lu.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new xu(lu,t,e,n).promise})}function Eu(t,e){return lu.resolve(t,e)}function Cu(t,e){return lu.reject(t,e)}const ku={};class Tu extends xu{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==ku);Jl(this.promise,t),this._result=null}}_setResultAt(t,e,n,i){if(i){this._result[e]=n;let t,i=!0;try{t=this._mapFn(n,e)}catch(JD){i=!1,this._settledAt(Kl,e,JD,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=ku)}}function Ru(t,e,n){return"function"!=typeof e?lu.reject(new TypeError("filter expects function as a second argument"),n):lu.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new Tu(lu,t,e,n).promise})}let Pu,Mu=0;function Iu(t,e){ju[Mu]=t,ju[Mu+1]=e,Mu+=2,2===Mu&&Uu()}const Ou="undefined"!=typeof window?window:void 0,Au=Ou||{},Fu=Au.MutationObserver||Au.WebKitMutationObserver,Lu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Du="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function Nu(){return()=>setTimeout(zu,1)}const ju=new Array(1e3);function zu(){for(let t=0;tt(zu)}():Fu?function(){let t=0,e=new Fu(zu),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():Du?function(){let t=new MessageChannel;return t.port1.onmessage=zu,()=>t.port2.postMessage(0)}():void 0===Ou&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Pu=t.runOnLoop||t.runOnContext,void 0!==Pu?function(){Pu(zu)}:Nu()}catch(t){return Nu()}}():Nu(),Ul.async=Iu,Ul.after=t=>setTimeout(t,0);const Bu=Eu,qu=(t,e)=>Ul.async(t,e);function $u(){Ul.on(...arguments)}function Gu(){Ul.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;Bl("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&$u(e,t[e])}const Vu={asap:Iu,cast:Bu,Promise:lu,EventTarget:zl,all:du,allSettled:fu,race:gu,hash:yu,hashSettled:vu,rethrow:bu,defer:wu,denodeify:hu,configure:Bl,on:$u,off:Gu,resolve:Eu,reject:Cu,map:Su,async:qu,filter:Ru},Wu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:zl,Promise:lu,all:du,allSettled:fu,asap:Iu,async:qu,cast:Bu,configure:Bl,default:Vu,defer:wu,denodeify:hu,filter:Ru,hash:yu,hashSettled:vu,map:Su,off:Gu,on:$u,race:gu,reject:Cu,resolve:Eu,rethrow:bu},Symbol.toStringTag,{value:"Module"}));function Hu(t){let e=function(t){if(!t)return;let e=t;return e.errorThrown?function(t){let e=t.errorThrown;return"string"==typeof e&&(e=new Error(e)),Object.defineProperty(e,"__reason_with_error_thrown__",{value:t,enumerable:!1}),e}(e):"UnrecognizedURLError"!==t.name&&"TransitionAborted"!==t.name?t:void 0}(t);if(e)throw e}Bl("async",(t,e)=>{Qo.schedule("actions",null,t,e)}),Bl("after",t=>{Qo.schedule(Zo,null,t)}),$u("error",Hu);const{isArray:Ku}=Array;function Xu(t){return null==t?[]:Ku(t)?t:[t]}function Yu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const Zu=xl.prototype.reopen,Ju=new WeakSet,Qu=new WeakMap,th=new Set;function eh(t){th.has(t)||t.destroy()}function nh(t,e){let n=Ht(t);if(void 0!==e){let i=t.concatenatedProperties,r=t.mergedProperties,s=Object.keys(e);for(let o of s){let s=e[o],a=mr(t,o,n),l=void 0!==a;if(!l){if(void 0!==i&&i.length>0&&i.includes(o)){let e=t[o];s=e?Xu(e).concat(s):Xu(s)}if(void 0!==r&&r.length>0&&r.includes(o)){let e=t[o];s=Object.assign({},e,s)}}l?a.set(t,o,s):Yu(t)&&!(o in t)?t.setUnknownProperty(o,s):t[o]=s}}t.init(e),n.unsetInitializing();let i=n.observerEvents();if(void 0!==i)for(let r=0;rn.willDestroy()),Ht(e).setInitializing()}reopen(...t){return bl(this,t),this}init(t){}get isDestroyed(){return Dt(this)}set isDestroyed(t){}get isDestroying(){return Lt(this)}set isDestroying(t){}destroy(){th.add(this);try{At(this)}finally{th.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${nl(this)||"(unknown)"}:${U(this)}${t}>`}static extend(...t){let e=class extends(this){};return Zu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(Yi(n)),il(e,nl(n))):e=new this,t.length<=1?nh(e,n):nh(e,rh.apply(this,t)),e}static reopen(...t){return this.willReopen(),Zu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;Ju.has(t)&&(Ju.delete(t),Qu.has(this)&&Qu.set(this,xl.create(this.PrototypeMixin)))}static reopenClass(...t){return bl(this,t),this}static detect(t){if("function"!=typeof t)return!1;for(;t;){if(t===this)return!0;t=t.superclass}return!1}static detectInstance(t){return t instanceof this}static metaForProperty(t){return mr(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};Ht(this.prototype).forEachDescriptors((i,r)=>{if(r.enumerable){let s=r._meta||n;t.call(e,i,s)}})}static get PrototypeMixin(){let t=Qu.get(this);return void 0===t&&(t=xl.create(),t.ownerConstructor=this,Qu.set(this,t)),t}static get superclass(){let t=Object.getPrototypeOf(this);return t!==Function.prototype?t:void 0}static proto(){let t=this.prototype;if(!Ju.has(t)){Ju.add(t);let e=this.superclass;e&&e.proto(),Qu.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${nl(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function rh(...t){let e={};for(let n of t){let t=Object.keys(n);for(let i=0,r=t.length;is.push(t));return J(e,{paths:s,sync:i}),e},set:bs,setProperties:js,trySet:xs},Symbol.toStringTag,{value:"Module"}));function ph(t){if(!(t instanceof MouseEvent))return!1;let e=t.shiftKey||t.metaKey||t.altKey||t.ctrlKey,n=t.which>1;return!e&&!n}function fh(t){return'Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://deprecations.emberjs.com/v1.x/#toc_binding-style-attributes. Style affected: "'+t+'"'}function gh(t){let e=t.lookup("-view-registry:main"),n=[];return Object.keys(e).forEach(t=>{let i=e[t];null===i.parentView&&n.push(i)}),n}function mh(t){return""!==t.tagName&&t.elementId?t.elementId:U(t)}const yh=new WeakMap,_h=new WeakMap;function vh(t){return yh.get(t)||null}function bh(t){return _h.get(t)||null}function wh(t,e){yh.set(t,e)}function xh(t,e){_h.set(t,e)}function Sh(t){yh.delete(t)}function Eh(t){_h.delete(t)}const Ch=new WeakMap;function kh(t){return function(t,e){let n=[],i=Ch.get(t);return void 0!==i&&i.forEach(t=>{let i=e[t];!i||i.isDestroying||i.isDestroyed||n.push(i)}),n}(t,Yi(t).lookup("-view-registry:main"))}function Th(t,e){let n=Ch.get(t);void 0===n&&(n=function(t){let e=new Set;return Ch.set(t,e),e}(t)),n.add(mh(e))}function Rh(t){return t.renderer.getBounds(t)}function Ph(t){let e=Rh(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Mh(t){return Ph(t).getClientRects()}function Ih(t){return Ph(t).getBoundingClientRect()}const Oh="ember-application";class Ah extends lh{events={touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",focusin:"focusIn",focusout:"focusOut",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"};rootElement="body";_eventHandlers=Object.create(null);_didSetup=!1;finalEventNameMapping=null;_sanitizedRootElement=null;lazyEvents=new Map;_reverseEventNameMapping=null;setup(t,e){let n=this.finalEventNameMapping={...us(this,"events"),...t};this._reverseEventNameMapping=Object.keys(n).reduce((t,e)=>{let i=n[e];return i?{...t,[i]:e}:t},{});let i=this.lazyEvents;null!=e&&bs(this,"rootElement",e);let r=us(this,"rootElement"),s="string"!=typeof r?r:document.querySelector(r);s.classList.add(Oh),this._sanitizedRootElement=s;for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&i.set(o,n[o]??null);this._didSetup=!0}setupHandlerForBrowserEvent(t){this.setupHandler(this._sanitizedRootElement,t,this.finalEventNameMapping[t]??null)}setupHandlerForEmberEvent(t){let e=this._reverseEventNameMapping?.[t];e&&this.setupHandler(this._sanitizedRootElement,e,t)}setupHandler(t,e,n){if(null===n||!this.lazyEvents.has(e))return;let i=(t,e)=>{let i=vh(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(vh(e)){if(!1===i(e,t)){t.preventDefault(),t.stopPropagation();break}if(!0===t.cancelBubble)break}e=e.parentNode}while(e instanceof Element)};t.addEventListener(e,r),this.lazyEvents.delete(e)}destroy(){if(!1===this._didSetup)return;let t=this._sanitizedRootElement;if(t){for(let e in this._eventHandlers)t.removeEventListener(e,this._eventHandlers[e]);return t.classList.remove(Oh),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const Fh=xl.create({on(t,e,n){return Er(this,t,e,n),this},one(t,e,n){return Er(this,t,e,n,!0),this},trigger(t,...e){kr(this,t,e)},off(t,e,n){return Cr(this,t,e,n),this},has(t){return Tr(this,t)}}),Lh=Object.freeze(Object.defineProperty({__proto__:null,default:Fh,on:Rr},Symbol.toStringTag,{value:"Module"}));let Dh=class extends lh{},Nh=[],jh={};const zh=(()=>{let t="undefined"!=typeof window&&window.performance||{},e=t.now||t.mozNow||t.webkitNow||t.msNow||t.oNow;return e?e.bind(t):Date.now})();function Uh(t,e,n){return n()}function Bh(){}function qh(t,e,n){if(0===Nh.length)return Bh;let i=jh[t];if(i||(i=function(t){let e=[];for(let n of Nh)n.regex.test(t)&&e.push(n.object);return jh[t]=e,e}(t)),0===i.length)return Bh;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=zh();for(let h of i)a.push(h.before(t,l,s));const u=i;return function(){let e=zh();for(let n=0;na);return l===Bh?s.call(o):function(t,e,n,i){try{return t.call(i)}catch(r){throw n.exception=r,r}finally{e()}}(s,l,a,o)},reset:function(){Nh.length=0,jh={}},subscribe:function(t,e){let n=t.split("."),i=[];for(let o of n)"*"===o?i.push("[^\\.]*"):i.push(o);let r=i.join("\\.");r=`${r}(\\..*)?`;let s={pattern:t,regex:new RegExp(`^${r}$`),object:e};return Nh.push(s),jh={},s},subscribers:Nh,unsubscribe:function(t){let e=0;for(let n=0;n!0,rerender(){},destroy(){}}),Vh=Object.freeze({...Gh}),Wh=Object.freeze({...Gh,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||Uh(0,0,()=>ea(t,t.trigger,e,n))}),Hh=Object.freeze({...Wh,enter(t){t.renderer.register(t)}}),Kh=Object.freeze({...Gh,appendChild(){throw new Error("You can't call appendChild on a view being destroyed")},rerender(){throw new Error("You can't call rerender on a view being destroyed")}}),Xh=Object.freeze({preRender:Vh,inDOM:Hh,hasElement:Wh,destroying:Kh});var Yh=Object.defineProperty;((t,e)=>{for(var n in e)Yh(t,n,{get:e[n],enumerable:!0})})({},{c:()=>ic,f:()=>Jh,g:()=>Qh,i:()=>nc,m:()=>tc,n:()=>ec,p:()=>rc});var Zh=new WeakMap;function Jh(t,e,n,i){return Qh(t.prototype,e,n,i)}function Qh(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=Zh.get(t);i||(i=new Map,Zh.set(t,i)),i.set(e,n)}(t,e,r)}function tc({prototype:t},e,n){return ec(t,e,n)}function ec(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function nc(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Zh.get(n)?.get(e);if(t)return t;n=n.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}function ic(t,e){return e.reduce((t,e)=>e(t)||t,t)}function rc(t,e){for(let[n,i,r]of e)"field"===n?sc(t,i,r):ec(t,i,r);return t}function sc(t,e,n){let i={configurable:!0,enumerable:!0,writable:!0,initializer:()=>Object.getOwnPropertyDescriptor(t,e)?.value};for(let r of n)i=r(t,e,i)||i;i.initializer&&(i.value=i.initializer.call(t),delete i.initializer),Object.defineProperty(t,e,i)}class oc extends(Dh.extend(Fh,Ml)){isView=!0;_superTrigger;_superHas;init(t){super.init(t),this._superTrigger=this.trigger,this.trigger=this._trigger,this._superHas=this.has,this.has=this._has,this.parentView??=null,this._state="preRender",this._currentState=this._states.preRender}static{Qh(this.prototype,"renderer",[ms("renderer","-dom")])}#l=void nc(this,"renderer");instrumentDetails(t){return t.object=this.toString(),t.containerKey=this._debugContainerKey,t.view=this,t}_trigger(t,...e){this._superTrigger(t,...e);let n=this[t];if("function"==typeof n)return n.apply(this,e)}_has(t){return"function"==typeof this[t]||this._superHas(t)}static isViewFactory=!0}oc.prototype._states=Xh;const ac=xl.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let i=us(this,"target");i&&i.send(...arguments)}}),lc={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object AsyncFunction]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},{toString:uc}=Object.prototype;function hc(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=lc[uc.call(t)]||"object";return"function"===e?ih.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof ih?e="instance":t instanceof Date&&(e="date")),e}const cc={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10,regexp:11,filelist:12,error:13};function dc(t,e){return Math.sign(t-e)}function pc(t,e){if(t===e)return 0;let n=hc(t),i=hc(e);if("instance"===n&&fc(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&fc(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=dc(cc[n],cc[i]);if(0!==r)return r;switch(n){case"boolean":return dc(Number(t),Number(e));case"number":return dc(t,e);case"string":return dc(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function yc(t,e=mc){let n=Ac(),i=new Set,r="function"==typeof e?e:t=>us(t,e);return t.forEach(t=>{let e=r(t);i.has(e)||(i.add(e),n.push(t))}),n}function _c(...t){let e=2===t.length,[n,i]=t;return e?t=>i===us(t,n):t=>Boolean(us(t,n))}function vc(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function Sc(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),vc(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Ec(t,e,n){return Is(t,e,n??1,gc),t}function Cc(t,e,n){return Is(t,e,0,[n]),n}function kc(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||Pc.detect(t))return!0;let e=hc(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function Tc(t){let e=Qr(t);return e.enumerable=!1,e}function Rc(t){return this.map(e=>us(e,t))}const Pc=xl.create(Fl,{init(){this._super(...arguments),$i.add(this)},objectsAt(t){return t.map(t=>Ji(this,t))},"[]":Tc({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:Tc(function(){return Ji(this,0)}).readOnly(),lastObject:Tc(function(){return Ji(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=Ac(),r=this.length;for(t<0&&(t=r+t),n=void 0===e||e>r?r:e<0?r+e:e;t=n)&&(e=n-1),e<0&&(e+=n);for(let i=e;i>=0;i--)if(Ji(this,i)===t)return i;return-1},forEach(t,e=null){let n=this.length;for(let i=0;ibs(n,t,e))},map(t,e=null){let n=Ac();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:Rc,filter(t,e=null){let n=Ac();return this.forEach((i,r,s)=>{t.call(e,i,r,s)&&n.push(i)}),n},reject(t,e=null){return this.filter(function(){return!t.apply(e,arguments)})},filterBy(){return this.filter(_c(...arguments))},rejectBy(){return this.reject(_c(...arguments))},find(t,e=null){return bc(this,t,e)},findBy(){return bc(this,_c(...arguments))},every(t,e=null){return xc(this,t,e)},isEvery(){return xc(this,_c(...arguments))},any(t,e=null){return wc(this,t,e)},isAny(){return wc(this,_c(...arguments))},reduce(t,e){let n=e;return this.forEach(function(e,i){n=t(n,e,i,this)},this),n},invoke(t,...e){let n=Ac();return this.forEach(i=>n.push(i[t]?.(...e))),n},toArray(){return this.map(t=>t)},compact(){return this.filter(t=>null!=t)},includes(t,e){return-1!==Sc(this,t,e,!0)},sortBy(){let t=arguments;return this.toArray().sort((e,n)=>{for(let i=0;ie!==t:t=>t==t;return this.filter(e)}}),Mc=xl.create(Pc,Ll,{clear(){let t=this.length;return 0===t||this.replace(0,t,gc),this},insertAt(t,e){return Cc(this,t,e),this},removeAt(t,e){return Ec(this,t,e)},pushObject(t){return Cc(this,this.length,t)},pushObjects(t){return this.replace(this.length,0,t),this},popObject(){let t=this.length;if(0===t)return null;let e=Ji(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=Ji(this,0);return this.removeAt(0),t},unshiftObject(t){return Cc(this,0,t)},unshiftObjects(t){return this.replace(0,0,t),this},reverseObjects(){let t=this.length;if(0===t)return this;let e=this.toArray().reverse();return this.replace(0,t,e),this},setObjects(t){if(0===t.length)return this.clear();let e=this.length;return this.replace(0,e,t),this},removeObject(t){let e=this.length||0;for(;--e>=0;)Ji(this,e)===t&&this.removeAt(e);return this},removeObjects(t){Wr();for(let e=t.length-1;e>=0;e--)this.removeObject(t[e]);return Hr(),this},addObject(t){return this.includes(t)||this.pushObject(t),this},addObjects(t){return Wr(),t.forEach(t=>this.addObject(t)),Hr(),this}});let Ic=xl.create(Mc,oh,{objectAt(t){return this[t]},replace(t,e,n=gc){return As(this,t,e,n),this}});const Oc=["length"];let Ac;Ic.keys().forEach(t=>{Array.prototype[t]&&Oc.push(t)}),Ic=Ic.without(...Oc),Ac=function(t){return Gi(t)?t:Ic.apply(t??[])};const Fc=Object.freeze(Object.defineProperty({__proto__:null,get A(){return Ac},MutableArray:Mc,get NativeArray(){return Ic},default:Pc,isArray:kc,makeArray:Xu,removeAt:Ec,uniqBy:yc},Symbol.toStringTag,{value:"Module"})),Lc=ht("MODEL"),Dc=xl.create(Ml,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=Yi(this);t&&(this.namespace=t.lookup("application:main"),this.target=t.lookup("router:main"))},model:Qr({get(){return this[Lc]},set(t,e){return this[Lc]=e}}),queryParams:null,_qpDelegate:null,_qpChanged(t,e){let n=e.indexOf(".[]"),i=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(i,us(t,i))}});class Nc extends(Dh.extend(Dc)){}const jc=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:Dc,default:Nc,inject:function(...t){return ms("controller",...t)}},Symbol.toStringTag,{value:"Module"})),zc=Symbol("ENGINE_PARENT");function Uc(t){return t[zc]}class Bc extends(lh.extend(kl,Rl)){static setupRegistry(t,e){}[zc];_booted=!1;init(t){super.init(t),U(this),this.base??=this.application;let e=this.__registry__=new ol({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new Wu.Promise(e=>{e(this._bootSync(t))})),this._bootPromise}_bootSync(t){return this._booted||(this.cloneParentDependencies(),this.setupRegistry(t),this.base.runInstanceInitializers(this),this._booted=!0),this}setupRegistry(t=this.__container__.lookup("-environment:main")){this.constructor.setupRegistry(this.__registry__,t)}unregister(t){this.__container__.reset(t),this.__registry__.unregister(t)}buildChildEngineInstance(t,e={}){let n=this.lookup(`engine:${t}`);if(!n)throw new Error(`You attempted to mount the engine '${t}', but it is not registered with its parent.`);let i=n.buildInstance(e);return i[zc]=this,i}cloneParentDependencies(){const t=Uc(this);["route:basic","service:-routing"].forEach(e=>{let n=t.resolveRegistration(e);this.register(e,n)});let e=t.lookup("-environment:main");this.register("-environment:main",e,{instantiate:!1});let n=["router:main",ul`-bucket-cache:main`,"-view-registry:main","renderer:-dom","service:-document"];e.isInteractive&&n.push("event_dispatcher:main"),n.forEach(e=>{let n=t.lookup(e);this.register(e,n,{instantiate:!1})})}}let qc=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=Ve(this,e),r=Ie(()=>{t=i.call(this)});return ne(n,r),Se(r),t}),n};function $c(...t){if(lr(t)){let[e,n,i]=t;return qc(0,n,i)}{const e=t[0];let n=function(t,n){return qc(0,n,e)};return vr(n),n}}vr($c);var Gc=Object.create;function Vc(){var t=Gc(null);return t.__=void 0,delete t.__,t}var Wc=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};Wc.prototype.to=function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}};var Hc=function(t){this.routes=Vc(),this.children=Vc(),this.target=t};function Kc(t,e,n){return function(i,r){var s=t+i;if(!r)return new Wc(s,e,n);r(Kc(s,e,n))}}function Xc(t,e,n){for(var i=0,r=0;r0&&47===e.charCodeAt(0)&&(e=e.substr(1));for(var i=e.split("/"),r=void 0,s=void 0,o=0;o2&&"[]"===s.slice(o-2)&&(a=!0,n[s=s.slice(0,o-2)]||(n[s]=[])),l=r[1]?yd(r[1]):""),a?n[s].push(l):n[s]=l}return n},_d.prototype.recognize=function(t){var e,n=[this.rootState],i={},r=!1,s=t.indexOf("#");-1!==s&&(t=t.substr(0,s));var o=t.indexOf("?");if(-1!==o){var a=t.substr(o+1,t.length);t=t.substr(0,o),i=this.parseQueryString(a)}"/"!==t.charAt(0)&&(t="/"+t);var l=t;_d.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Zc(t):(t=decodeURI(t),l=decodeURI(l));var u=t.length;u>1&&"/"===t.charAt(u-1)&&(t=t.substr(0,u-1),l=l.substr(0,l.length-1),r=!0);for(var h=0;h0){let r=t[i-1];if(function(t){if(t&&"object"==typeof t){let e=t;return"queryParams"in e&&Object.keys(e.queryParams).every(t=>"string"==typeof t)}return!1}(r))return n=r.queryParams,e=wd.call(t,0,i-1),[e,n]}return[t,null]}function Cd(t){for(let e in t){let n=t[e];if("number"==typeof n)t[e]=""+n;else if(Array.isArray(n))for(let t=0,e=n.length;t{throw this.router.transitionDidError(t,this)},Id("Handle Abort"))}else this.promise=lu.resolve(this[Od]),this[Ad]={}}then(t,e,n){return this.promise.then(t,e,n)}catch(t,e){return this.promise.catch(t,e)}finally(t,e){return this.promise.finally(t,e)}abort(){this.rollback();let t=new Dd(this.router,void 0,void 0,void 0);return t.to=this.from,t.from=this.from,t.isAborted=!0,this.router.routeWillChange(t),this.router.routeDidChange(t),this}rollback(){this.isAborted||(kd(this.router,this.sequence,this.targetName+": transition was aborted"),void 0!==this.intent&&null!==this.intent&&(this.intent.preTransitionState=this.router.state),this.isAborted=!0,this.isActive=!1,this.router.activeTransition=void 0)}redirect(t){this[Ld]=t,this.rollback(),this.router.routeWillChange(t)}retry(){this.abort();let t=this.router.transitionByIntent(this.intent,!1);return null!==this.urlMethod&&t.method(this.urlMethod),t}method(t){return this.urlMethod=t,this}send(t=!1,e,n,i,r){this.trigger(t,e,n,i,r)}trigger(t=!1,e,...n){"string"==typeof t&&(e=t,t=!1),this.router.triggerEvent(this[Od].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[Ld]?this[Ld].followRedirects():lu.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){kd(this.router,this.sequence,t)}}function Nd(t){return kd(t.router,t.sequence,"detected abort."),vd()}function jd(t){return"object"==typeof t&&t instanceof Dd&&t.isTransition}const zd=function(){function t(e){let n=Error.call(this,e);this.name="UnrecognizedURLError",this.message=e||"UnrecognizedURL",Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=n.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function Ud(t,e){let n=t.factoryFor("controller:basic").class;n=class extends n{toString(){return`(generated ${e} controller)`}};let i=`controller:${e}`;return t.register(i,n),t.factoryFor(i)}function Bd(t,e){Ud(t,e);let n=`controller:${e}`;return t.lookup(n)}const qd=/\./g;function $d(t){let e,n,i=(t=t.slice())[t.length-1];return function(t){if(t&&"object"==typeof t){let e=t.queryParams;if(e&&"object"==typeof e)return Object.keys(e).every(t=>"string"==typeof t)}return!1}(i)?(t.pop(),e=i.queryParams):e={},"string"==typeof t[0]&&(n=t.shift()),{routeName:n,models:t,queryParams:e}}function Gd(t,e){if(e._namesStashed)return;let n,i=e[e.length-1].name,r=t._routerMicrolib.recognizer.handlersFor(i);for(let s=0;s(t[e]=n,t),s)}serializeQueryParamKey(t){return t}serializeQueryParam(t,e,n){return this._router._serializeQueryParam(t,n)}deserializeQueryParam(t,e,n){return this._router._deserializeQueryParam(t,n)}_optionsForQueryParam(t){const e=us(this,"queryParams");return us(e,t.urlKey)||us(e,t.prop)||e[t.urlKey]||e[t.prop]||{}}resetController(t,e,n){return this}exit(t){this.deactivate(t),this.trigger("deactivate",t),this.teardownViews()}_internalReset(t,e){let n=this.controller;n._qpDelegate=us(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Zd]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,i=Yi(t),r=i.mountPoint;if(i.routable&&"string"==typeof e[0]){if(n=e[0],Kd(n))throw new Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.");n=`${r}.${n}`,e[0]=n}return e}(this,t);this._router.intermediateTransitionTo(e,...n)}refresh(){return this._router._routerMicrolib.refresh(this)}setup(t,e){let n=this.controllerName||this.routeName,i=this.controllerFor(n,!0)??this.generateController(n),r=us(this,"_qp");if(!this.controller){let t=r.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===mr(t,e)){let n=it(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ns(t,e,$c({get:n.get,set:n.set}))}Or(t,`${e}.[]`,t,t._qpChanged,!1)})}(i,t),this.controller=i}let s=r.states;if(i._qpDelegate=s.allowOverrides,e){Gd(this._router,e[Od].routeInfos);let t=this._bucketCache,n=e[Ad];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=Wd(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);bs(i,e,a)});let s=ep(this,e[Od]);js(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Yd](),Ur(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=Wd(n.route.fullRouteName,n.parts,n.values);i.stash(r,t,e)}beforeModel(t){}afterModel(t,e){}redirect(t,e){}contextDidChange(){this.currentModel=this.context}model(t,e){let n,i,r=us(this,"_qp").map;for(let s in t){if("queryParams"===s||r&&s in r)continue;let t=s.match(/^(.*)_id$/);null!==t&&(n=t[1]),i=!0}if(!n){if(i)return Object.assign({},t);if(e.resolveIndex<1)return;return e[Od].routeInfos[e.resolveIndex-1].context}}deserialize(t,e){return this.model(this._paramsFor(this.routeName,t),e)}setupController(t,e,n){t&&void 0!==e&&bs(t,"model",e)}controllerFor(t,e=!1){let n=Yi(this),i=n.lookup(`route:${t}`);return i&&i.controllerName&&(t=i.controllerName),n.lookup(`controller:${t}`)}generateController(t){return Bd(Yi(this),t)}modelFor(t){let e,n=Yi(this),i=this._router&&this._router._routerMicrolib?this._router._routerMicrolib.activeTransition:void 0;e=n.routable&&void 0!==i?ip(n,t):t;let r=n.lookup(`route:${e}`);if(null!=i){let t=r&&r.routeName||e;if(Object.prototype.hasOwnProperty.call(i.resolvedModels,t))return i.resolvedModels[t]}return r?.currentModel}[Zd]=void 0;[Yd](){this[Zd]=function(t){let e,n=Yi(t),i=t.routeName,r=n.lookup(`controller:${t.controllerName||i}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||i}`);return e=o?xi(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:i,controller:r,model:s,template:e}}(this),ra(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Zd]&&(this[Zd]=void 0,ra(this._router,"_setOutlets"))}buildRouteInfoMetadata(){}_paramsFor(t,e){return void 0!==this._router._routerMicrolib.activeTransition?this.paramsFor(t):e}get _store(){const t=Yi(this);return this.routeName,{find(e,n){let i=t.factoryFor(`model:${e}`);if(i)return i=i.class,i.find(n)}}}static{ec(this.prototype,"_store",[Qr])}get _qp(){let t={},e=this.controllerName||this.routeName,n=Yi(this),i=n.lookup(`controller:${e}`),r=us(this,"queryParams"),s=Object.keys(r).length>0;i?t=function(t,e){let n={},i={defaultValue:!0,type:!0,scope:!0,as:!0};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]={...t[r],...e[r]},i[r]=!0);for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!i[r]&&(n[r]={...e[r],...t[r]});return n}(function(t){let e={};for(let n of t)Hd(n,e);return e}(us(i,"queryParams")||[]),r):s&&(i=Bd(n,e),t=r);let o=[],a={},l=[];for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;if("unknownProperty"===u||"_super"===u)continue;let n,r=t[u],s=r.scope||"model";"controller"===s&&(n=[]);let h=r.as||this.serializeQueryParamKey(u),c=us(i,u);c=np(c);let d=r.type||hc(c),p=this.serializeQueryParam(c,h,d),f=`${e}:${u}`,g={undecoratedDefaultValue:us(i,u),defaultValue:c,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:h,prop:u,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[u]=a[h]=a[f]=g,o.push(g),l.push(u)}return{qps:o,map:a,propertyNames:l,states:{inactive:(t,e)=>{let n=a[t];this._qpChanged(t,e,n)},active:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._activeQPChanged(n,e)},allowOverrides:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._updatingQPChanged(n)}}}}static{ec(this.prototype,"_qp",[Qr])}}function Qd(t){return t[Zd]}function tp(t,e){if(e.fullQueryParams)return e.fullQueryParams;let n=e.routeInfos.every(t=>t.route),i={...e.queryParams};return t._deserializeQueryParams(e.routeInfos,i),n&&(e.fullQueryParams=i),i}function ep(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,i=e.queryParamsFor[n];if(i)return i;let r=tp(t._router,e),s=e.queryParamsFor[n]={},o=us(t,"_qp").qps;for(let a of o){let t=a.prop in r;s[a.prop]=t?r[a.prop]:np(a.defaultValue)}return s}function np(t){return Array.isArray(t)?Ac(t.slice()):t}function ip(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const rp=Jd.prototype.serialize;Jd.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!v())this._router.send(...t);else{let e=t.shift(),n=this.actions[e];if(n)return n.apply(this,t)}},actions:{queryParamsDidChange(t,e,n){let i=us(this,"_qp").map,r=Object.keys(t).concat(Object.keys(n));for(let s of r){let t=i[s];if(t&&us(this._optionsForQueryParam(t),"refreshModel")&&this._router.currentState){this.refresh();break}}return!0},finalizeQueryParamChange(t,e,n){if("application"!==this.fullRouteName)return!0;if(!n)return;let i,r=n[Od].routeInfos,s=this._router,o=s._queryParamsFor(r),a=s._qpUpdates,l=!1;Gd(s,r);for(let u of o.qps){let r,s,o=u.route,h=o.controller,c=u.urlKey in t&&u.urlKey;if(a.has(u.urlKey)?(r=us(h,u.prop),s=o.serializeQueryParam(r,u.urlKey,u.type)):c?(s=t[c],void 0!==s&&(r=o.deserializeQueryParam(s,u.urlKey,u.type))):(s=u.serializedDefaultValue,r=np(u.defaultValue)),h._qpDelegate=us(o,"_qp").states.inactive,s!==u.serializedValue){if(n.queryParamsOnly&&!1!==i){let t=us(o._optionsForQueryParam(u),"replace");t?i=!0:!1===t&&(i=!1)}bs(h,u.prop,r),l=!0}u.serializedValue=s,u.serializedDefaultValue===s||e.push({value:s,visible:!0,key:c||u.urlKey})}!0===l&&Ur(!1),i&&n.method("replace"),o.qps.forEach(t=>{let e=us(t.route,"_qp");t.route.controller._qpDelegate=us(e,"states.active")}),s._qpUpdates.clear()}}});class sp{cache;constructor(){this.cache=new Map}has(t){return this.cache.has(t)}stash(t,e,n){let i=this.cache.get(t);void 0===i&&(i=new Map,this.cache.set(t,i)),i.set(e,n)}lookup(t,e,n){if(!this.has(t))return n;let i=this.cache.get(t);return i.has(e)?i.get(e):n}}let op=0;function ap(t){return"function"==typeof t}class lp{parent;matches;enableLoadingSubstates;explicitIndex=!1;options;constructor(t=null,e){this.parent=t,this.enableLoadingSubstates=Boolean(e&&e.enableLoadingSubstates),this.matches=[],this.options=e}route(t,e,n){let i,r=null,s=`/_unused_dummy_error_path_route_${t}/:error`;if(ap(e)?(i={},r=e):ap(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(hp(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),hp(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=up(this,t,i.resetNamespace),n=new lp(e,this.options);hp(n,"loading"),hp(n,"error",{path:s}),r.call(n),hp(this,t,i,n.generate())}else hp(this,t,i)}push(t,e,n,i){let r=e.split(".");if(this.options.engineInfo){let t=e.slice(this.options.engineInfo.fullName.length+1),n=Object.assign({localFullName:t},this.options.engineInfo);i&&(n.serializeMethod=i),this.options.addRouteForEngine(e,n)}else if(i)throw new Error(`Defining a route serializer on route '${e}' outside an Engine is not allowed.`);""!==t&&"/"!==t&&"index"!==r[r.length-1]||(this.explicitIndex=!0),this.matches.push(t,e,n)}generate(){let t=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),e=>{for(let n=0;n0){let r=Object.assign({},n);return this.emberRouter._prepareQueryParams(t,e,r),Xd(r,i.queryParams)}return!0}}let dp=new WeakMap;function pp(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const i=new WeakMap;return t.map((r,s)=>{let{name:o,params:a,paramNames:l,context:u,route:h}=r,c=r;if(dp.has(c)&&n.includeAttributes){let t=dp.get(c);t=function(t,e){let n={get metadata(){return gp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(h,t);let e=fp(t,u);return i.set(c,t),n.localizeMapUpdates||dp.set(c,e),e}const d=n.localizeMapUpdates?i:dp;let p={find(e,n){let i,r=[];3===e.length&&(r=t.map(t=>d.get(t)));for(let s=0;t.length>s;s++)if(i=d.get(t[s]),e.call(n,i,s,r))return i},get name(){return o},get paramNames(){return l},get metadata(){return gp(r.route)},get parent(){let e=t[s-1];return void 0===e?null:d.get(e)},get child(){let e=t[s+1];return void 0===e?null:d.get(e)},get localName(){let t=this.name.split(".");return t[t.length-1]},get params(){return a},get queryParams(){return e}};return n.includeAttributes&&(p=fp(p,u)),i.set(r,p),n.localizeMapUpdates||dp.set(r,p),p})}function fp(t,e){let n={get attributes(){return e}};return!Object.isExtensible(t)||t.hasOwnProperty("attributes")?Object.freeze(Object.assign({},t,n)):Object.assign(t,n)}function gp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class mp{constructor(t,e,n,i){this._routePromise=void 0,this._route=null,this.params={},this.isResolved=!1,this.name=e,this.paramNames=n,this.router=t,i&&this._processRoute(i)}getModel(t){return lu.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return lu.resolve(this.routePromise).then(e=>(bd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>bd(t)).then(()=>this.getModel(t)).then(e=>(bd(t),e)).then(e=>this.runAfterModelHook(t,e)).then(e=>this.becomeResolved(t,e))}becomeResolved(t,e){let n,i=this.serialize(e);t&&(this.stashResolvedModel(t,e),t[Ad]=t[Ad]||{},t[Ad][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=dp.get(this),o=new yp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&dp.set(o,s),o}shouldSupersede(t){if(!t)return!0;let e=t.context===this.context;return t.name!==this.name||"context"in this&&!e||this.hasOwnProperty("params")&&!function(t,e){if(t===e)return!0;if(!t||!e)return!1;for(let n in t)if(t.hasOwnProperty(n)&&t[n]!==e[n])return!1;return!0}(this.params,t.params)}get route(){return null!==this._route?this._route:this.fetchRoute()}set route(t){this._route=t}get routePromise(){return this._routePromise||this.fetchRoute(),this._routePromise}set routePromise(t){this._routePromise=t}log(t,e){t.log&&t.log(this.name+": "+e)}updateRoute(t){return t._internalName=this.name,this.route=t}runBeforeModelHook(t){let e;return t.trigger&&t.trigger(!0,"willResolveModel",t,this.route),this.route&&void 0!==this.route.beforeModel&&(e=this.route.beforeModel(t)),jd(e)&&(e=null),lu.resolve(e)}runAfterModelHook(t,e){let n,i=this.name;var r;return this.stashResolvedModel(t,e),void 0!==this.route&&void 0!==this.route.afterModel&&(n=this.route.afterModel(e,t)),n=jd(r=n)?null:r,lu.resolve(n).then(()=>t.resolvedModels[i])}stashResolvedModel(t,e){t.resolvedModels=t.resolvedModels||{},t.resolvedModels[this.name]=e}fetchRoute(){let t=this.router.getRoute(this.name);return this._processRoute(t)}_processRoute(t){return this.routePromise=lu.resolve(t),null!==(e=t)&&"object"==typeof e&&"function"==typeof e.then?(this.routePromise=this.routePromise.then(t=>this.updateRoute(t)),this.route=void 0):t?this.updateRoute(t):void 0;var e}}class yp extends mp{constructor(t,e,n,i,r,s){super(t,e,n,r),this.params=i,this.isResolved=!0,this.context=s}resolve(t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),lu.resolve(this)}}class _p extends mp{constructor(t,e,n,i,r){super(t,e,n,r),this.params={},i&&(this.params=i)}getModel(t){let e=this.params;t&&t[Fd]&&(e={},Sd(e,this.params),e.queryParams=t[Fd]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&jd(n)&&(n=void 0),lu.resolve(n)}}class vp extends mp{constructor(t,e,n,i){super(t,e,n),this.context=i,this.serializer=this.router.getSerializer(e)}getModel(t){return void 0!==this.router.log&&this.router.log(this.name+": resolving provided model"),super.getModel(t)}serialize(t){let{paramNames:e,context:n}=this;t||(t=n);let i={};if(Td(t))return i[e[0]]=t,i;if(this.serializer)return this.serializer.call(null,t,e);if(void 0!==this.route&&this.route.serialize)return this.route.serialize(t,e);if(1!==e.length)return;let r=e[0];return/_id$/.test(r)?i[r]=t.id:i[r]=t,i}}class bp{constructor(t,e={}){this.router=t,this.data=e}}function wp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Cp(n,t.routeInfos[r].route,s,t)}function xp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=Sp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function Sp(t,e,n){let i=t.routeInfos[e.resolveIndex].isResolved;if(t.routeInfos[e.resolveIndex++]=n,!i){let{route:t}=n;void 0!==t&&t.redirect&&t.redirect(n.context,e)}return bd(e),xp(t,e)}class Ep{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return Rd(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),Id("'"+e+"': "+t)}resolve(t){let e=this.params;Rd(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=xp.bind(null,this,t),i=wp.bind(null,this,t);return lu.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Cp{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class kp extends bp{constructor(t,e,n,i=[],r={},s){super(t,s),this.preTransitionState=void 0,this.name=e,this.pivotHandler=n,this.contexts=i,this.queryParams=r}applyToState(t,e){let n=this.router.recognizer.handlersFor(this.name),i=n[n.length-1].handler;return this.applyToHandlers(t,n,i,e,!1)}applyToHandlers(t,e,n,i,r){let s,o,a=new Ep,l=this.contexts.slice(0),u=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],h=o.handler,c=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=u?this.createParamHandlerInfo(h,o.names,l,c):this.getHandlerInfoForDynamicSegment(h,o.names,l,c,n,s):this.createParamHandlerInfo(h,o.names,l,c),r){d=d.becomeResolved(null,d.context);let t=c&&c.context;o.names.length>0&&void 0!==c.context&&d.context===t&&(d.params=c&&c.params),d.context=t}let p=c;(s>=u||d.shouldSupersede(c))&&(u=Math.min(s,u),p=d),i&&!r&&(p=p.becomeResolved(null,p.context)),a.routeInfos.unshift(p)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(a.routeInfos,u),Sd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&Sd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],Td(o))return this.createParamHandlerInfo(t,e,n,i);n.pop()}else{if(i&&i.name===t)return i;if(!this.preTransitionState)return i;{let t=this.preTransitionState.routeInfos[s];o=null==t?void 0:t.context}}return new vp(this.router,t,e,o)}createParamHandlerInfo(t,e,n,i){let r={},s=e.length,o=[];for(;s--;){let a=i&&t===i.name&&i.params||{},l=n[n.length-1],u=e[s];Td(l)?r[u]=""+n.pop():a.hasOwnProperty(u)?r[u]=a[u]:o.push(u)}if(o.length>0)throw new Error(`You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route ${t}. Missing params: ${o}`);return new _p(this.router,t,e,r)}}class Tp extends bp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Ep,r=this.router.recognizer.recognize(this.url);if(!r)throw new zd(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new zd(o);return t}for(e=0,n=r.length;e=0&&i;--n){let r=e[n],s=r.handler;t.add(e,{as:s}),i="/"===r.path||""===r.path||".index"===s.slice(-6)}})}hasRoute(t){return this.recognizer.hasRoute(t)}queryParamsTransition(t,e,n,i){if(this.fireQueryParamDidChange(i,t),!e&&this.activeTransition)return this.activeTransition;{let t=new Dd(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[Fd]=i.queryParams,this.toReadOnlyInfos(t,i),this.routeWillChange(t),t.promise=t.promise.then(e=>(t.isAborted||(this._updateURL(t,n),this.didTransition(this.currentRouteInfos),this.toInfos(t,i.routeInfos,!0),this.routeDidChange(t)),e),null,Id("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(n){return new Dd(this,t,void 0,n,void 0)}}recognize(t){let e=new Tp(this,t),n=this.generateNewState(e);if(null===n)return n;let i=pp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new Tp(this,t),n=this.generateNewState(e);if(null===n)return lu.reject(`URL ${t} was not recognized`);let i=new Dd(this,e,n,void 0);return i.then(()=>{let t=pp(n.routeInfos,i[Fd],{includeAttributes:!0,localizeMapUpdates:!1});return t[t.length-1]})}generateNewState(t){try{return t.applyToState(this.state,!1)}catch(e){return null}}getTransitionByIntent(t,e){let n,i=!!this.activeTransition,r=i?this.activeTransition[Od]:this.state,s=t.applyToState(r,e),o=Pd(r.queryParams,s.queryParams);if(Pp(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new Dd(this,void 0,void 0)}if(e){let t=new Dd(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new Dd(this,t,s,void 0,this.activeTransition),function(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;nthis.finalizeTransition(n,t),null,Id("Settle transition promise when transition is finalized")),i||this.notifyExistingHandlers(s,n),this.fireQueryParamDidChange(s,o),n}doTransition(t,e=[],n=!1){let i,r=e[e.length-1],s={};if(r&&Object.prototype.hasOwnProperty.call(r,"queryParams")&&(s=e.pop().queryParams),void 0===t){kd(this,"Updating query params");let{routeInfos:t}=this.state;i=new kp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(kd(this,"Attempting URL transition to "+t),i=new Tp(this,t)):(kd(this,"Attempting transition to "+t),i=new kp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{kd(t.router,t.sequence,"Resolved all models on destination route; finalizing transition.");let n=e.routeInfos;return this.setupContexts(e,t),t.isAborted?(this.state.routeInfos=this.currentRouteInfos,lu.reject(Nd(t))):(this._updateURL(t,e),t.isActive=!1,this.activeTransition=void 0,this.triggerEvent(this.currentRouteInfos,!0,"didTransition",[]),this.didTransition(this.currentRouteInfos),this.toInfos(t,e.routeInfos,!0),this.routeDidChange(t),kd(this,t.sequence,"TRANSITION COMPLETE."),n[n.length-1].route)}catch(i){if("object"!=typeof(n=i)||null===n||"TRANSITION_ABORTED"!==n.code){let e=t[Od].routeInfos;t.trigger(!0,"error",i,t,e[e.length-1].route),t.abort()}throw i}var n}setupContexts(t,e){let n,i,r,s=this.partitionRoutes(this.state,t);for(n=0,i=s.exited.length;n=0;--o){let t=i[o];Sd(s,t.params),t.route.inaccessibleByURL&&(n=null)}if(n){s.queryParams=t._visibleQueryParams||e.queryParams;let i=this.recognizer.generate(r,s),o=t.isCausedByInitialTransition,a="replace"===n&&!t.isCausedByAbortingTransition,l=t.queryParamsOnly&&"replace"===n,u="replace"===n&&t.isCausedByAbortingReplaceTransition;o||a||l||u?this.replaceURL(i):this.updateURL(i)}}finalizeQueryParamChange(t,e,n){for(let s in e)e.hasOwnProperty(s)&&null===e[s]&&delete e[s];let i=[];this.triggerEvent(t,!0,"finalizeQueryParamChange",[e,i,n]),n&&(n._visibleQueryParams={});let r={};for(let s=0,o=i.length;s0){let n=pp(e,Object.assign({},this._lastQueryParams),{includeAttributes:!0,localizeMapUpdates:!1});t.from=n[n.length-1]||null}}toInfos(t,e,n=!1){if(void 0!==t&&e.length>0){let i=pp(e,Object.assign({},t[Fd]),{includeAttributes:n,localizeMapUpdates:!1});t.to=i[i.length-1]||null}}notifyExistingHandlers(t,e){let n,i,r,s,o=this.state.routeInfos;for(i=o.length,n=0;n{t.setURL(n),bs(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,i,r){return zp.bind(e)(t,n,i,r)}routeWillChange(t){e.trigger("routeWillChange",t),e._routerService.trigger("routeWillChange",t),t.isIntermediate&&e.set("currentRoute",t.to)}routeDidChange(t){e.set("currentRoute",t.to),ra(()=>{e.trigger("routeDidChange",t),e._routerService.trigger("routeDidChange",t)})}transitionDidError(t,n){return t.wasAborted||n.isAborted?Nd(n):(n.trigger(!1,"error",t.error,n,t.route),e._isErrorHandled(t.error)?(n.rollback(),this.routeDidChange(n),t.error):(n.abort(),t.error))}replaceURL(n){t.replaceURL?ra(()=>{t.replaceURL(n),bs(e,"currentURL",n)}):this.updateURL(n)}},s=this.constructor.dslCallbacks||[Ip],o=this._buildDSL();o.route("application",{path:"/",resetNamespace:!0,overrideNameAssertion:!0},function(){for(let t=0;tn.factoryFor(`route-map:${t}`),addRouteForEngine(t,n){e._engineInfoByRoute[t]||(e._engineInfoByRoute[t]=n)}};return new lp(null,i)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=us(qa(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=us(this,"initialURL");void 0===t&&(t=us(this,"location").getURL());let e=this.handleURL(t);if(e&&e.error)throw e.error}}setupRouter(){if(this._didSetupRouter)return!1;this._didSetupRouter=!0,this._setupLocation();let t=us(this,"location");return!us(t,"cancelRouterSetup")&&(this._initRouterJs(),t.onUpdateURL(t=>{this.handleURL(t)}),!0)}_setOutlets(){if(this.isDestroying||this.isDestroyed)return;let t=this._routerMicrolib.currentRouteInfos;if(!t)return;let e=null,n=null;for(let i of t){let t=Qd(i.route);if(!t)break;{let i={render:t,outlets:{main:void 0}};n?n.outlets.main=i:e=i,n=i}}if(null!==e)if(this._toplevelView)this._toplevelView.setOutletState(e);else{let t=qa(this),n=t.factoryFor("view:-outlet"),i=t.lookup("application:main"),r=t.lookup("-environment:main"),s=t.lookup("template:-outlet");this._toplevelView=n.create({environment:r,template:s,application:i}),this._toplevelView.setOutletState(e);let o=t.lookup("-application-instance:main");o&&o.didCreateRootView(this._toplevelView)}}handleURL(t){let e=t.split(/#(.+)?/)[0];return this._doURLTransition("handleURL",e)}_doURLTransition(t,e){this._initialTransitionStarted=!0;let n=this._routerMicrolib[t](e||"/");return qp(n,this),n}transitionTo(...t){if(Kd(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=$d(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),Bp(this)}replaceWith(...t){return this.transitionTo(...t).method("replace")}generate(t,...e){let n=this._routerMicrolib.generate(t,...e);return this.location.formatURL(n)}isActive(t){return this._routerMicrolib.isActive(t)}isActiveIntent(t,e,n){return this.currentState.isActiveIntent(t,e,n)}send(t,...e){this._routerMicrolib.trigger(t,...e)}hasRoute(t){return this._routerMicrolib.hasRoute(t)}reset(){this._didSetupRouter=!1,this._initialTransitionStarted=!1,this._routerMicrolib&&this._routerMicrolib.reset()}willDestroy(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),super.willDestroy(),this.reset();let t=this._engineInstances;for(let e in t){let n=t[e];for(let t in n)ta(n[t],"destroy")}}_activeQPChanged(t,e){this._queuedQPChanges[t]=e,ra(this,this._fireQueryParamTransition)}_updatingQPChanged(t){this._qpUpdates.add(t)}_fireQueryParamTransition(){this.transitionTo({queryParams:this._queuedQPChanges}),this._resetQueuedQueryParameterChanges()}_setupLocation(){let t=this.location,e=this.rootURL,n=qa(this);"string"==typeof t&&(t=bs(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&bs(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){$p(this,t,e,(t,n,i)=>{if(i)delete e[t],e[i.urlKey]=i.route.serializeQueryParam(n,i.urlKey,i.type);else{if(void 0===n)return;e[t]=this._serializeQueryParam(n,hc(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){$p(this,t,e,(t,n,i)=>{i&&(delete e[t],e[i.prop]=i.route.deserializeQueryParam(n,i.urlKey,i.type))})}_deserializeQueryParam(t,e){return null==t?t:"boolean"===e?"true"===t:"number"===e?Number(t).valueOf():"array"===e?Ac(JSON.parse(t)):t}_pruneDefaultQueryParamValues(t,e){let n=this._queryParamsFor(t);for(let i in e){let t=n.map[i];t&&t.serializedDefaultValue===e[i]&&delete e[i]}}_doTransition(t,e,n,i){let r=t||function(t){let e=t.activeTransition?t.activeTransition[Od].routeInfos:t.state.routeInfos;return e[e.length-1].name}(this._routerMicrolib);this._initialTransitionStarted=!0;let s={};this._processActiveTransitionQueryParams(r,e,s,n),Object.assign(s,n),this._prepareQueryParams(r,e,s,Boolean(i));let o=this._routerMicrolib.transitionTo(r,...e,{queryParams:s});return qp(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=tp(this,this._routerMicrolib.activeTransition[Od]);for(let a in o)s.has(a)||(r[a]=o[a]);this._fullyScopeQueryParams(t,e,i),this._fullyScopeQueryParams(t,e,r),Object.assign(n,r)}_prepareQueryParams(t,e,n,i){let r=Up(this,t,e);this._hydrateUnsuppliedQueryParams(r,n,Boolean(i)),this._serializeQueryParams(r.routeInfos,n),i||this._pruneDefaultQueryParamValues(r.routeInfos,n)}_getQPMeta(t){let e=t.route;return e&&us(e,"_qp")}_queryParamsFor(t){let e=t[t.length-1].name,n=this._qpCache[e];if(void 0!==n)return n;let i,r=!0,s={},o=[];for(let l of t)if(i=this._getQPMeta(l),i){for(let t of i.qps)o.push(t);Object.assign(s,i.map)}else r=!1;let a={qps:o,map:s};return r&&(this._qpCache[e]=a),a}_fullyScopeQueryParams(t,e,n){let i,r=Up(this,t,e).routeInfos;for(let s of r)if(i=this._getQPMeta(s),i)for(let t of i.qps){let e=t.prop in n&&t.prop||t.scopedPropertyName in n&&t.scopedPropertyName||t.urlKey in n&&t.urlKey;e&&e!==t.scopedPropertyName&&(n[t.scopedPropertyName]=n[e],delete n[e])}}_hydrateUnsuppliedQueryParams(t,e,n){let i,r,s,o=t.routeInfos,a=this._bucketCache;for(let l of o)if(i=this._getQPMeta(l),i)for(let n=0,o=i.qps.length;n=0;--n){let i=t[n],r=i.route;if(void 0!==r&&!0!==e(r,i))return}}let Lp={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let i=this,r=t[t.length-1];Fp(t,(t,n)=>{if(n!==r){let n=Np(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=Dp(t,"error");return!s||(i._markErrorAsHandled(e),i.intermediateTransitionTo(s,e),!1)}),function(t,e){let n,i=[];n=t&&"object"==typeof t&&"object"==typeof t.errorThrown?t.errorThrown:t,e&&i.push(e),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),console.error(...i)}(e,`Error while processing route: ${n.targetName}`)},loading(t,e){let n=this,i=t[t.length-1];Fp(t,(t,r)=>{if(r!==i){let e=Np(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=Dp(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function Dp(t,e){let n=qa(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return jp(n,s,`${i}_${e}`,o)?o:""}function Np(t,e){let n=qa(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return jp(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function jp(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function zp(t,e,n,i){if(!t){if(e)return;throw new Error(`Can't trigger action '${n}' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call \`.send()\` on the \`Transition\` object passed to the \`model/beforeModel/afterModel\` hooks.`)}let r,s,o,a=!1;for(let u=t.length-1;u>=0;u--)if(r=t[u],s=r.route,o=s&&s.actions&&s.actions[n],o){if(!0!==o.apply(s,i))return void("error"===n&&s._router._markErrorAsHandled(i[0]));a=!0}let l=Lp[n];if(l)l.call(this,t,...i);else if(!a&&!e)throw new Error(`Nothing handled the action '${n}'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.`)}function Up(t,e,n){let i=t._routerMicrolib.applyIntent(e,n),{routeInfos:r,params:s}=i;for(let o of r)o.isResolved?s[o.name]=o.params:s[o.name]=o.serialize(o.context);return i}function Bp(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=Ap._routePath(e),i=e[e.length-1].name,r=t.location.getURL();bs(t,"currentPath",n),bs(t,"currentRouteName",i),bs(t,"currentURL",r)}function qp(t,e){let n=new cp(e,e._routerMicrolib,t[Od]);e.currentState||e.set("currentState",n),e.set("targetState",n),t.promise=t.catch(t=>{if(!e._isErrorHandled(t))throw t;e._clearHandledError(t)},"Transition Error")}function $p(t,e,n,i){let r=t._queryParamsFor(e);for(let s in n)Object.prototype.hasOwnProperty.call(n,s)&&i(s,n[s],r.map[s])}function Gp(t){return void 0!==t.hash?t.hash.substring(0):""}Ap.reopen({didTransition:function(){Bp(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState)},willTransition:function(){},rootURL:"/",location:"hash",url:Qr(function(){let t=us(this,"location");if("string"!=typeof t)return t.getURL()})});class Vp extends lh{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return Gp(this.location)}getURL(){let t=this.getHash().substring(1),e=t;return"/"!==e[0]&&(e="/",t&&(e+=`#${t}`)),e}setURL(t){this.location.hash=t,this.lastSetURL=t}replaceURL(t){this.location.replace(`#${t}`),this.lastSetURL=t}lastSetURL=null;onUpdateURL(t){this._removeEventListener(),this._hashchangeHandler=na(this,function(){let e=this.getURL();this.lastSetURL!==e&&(this.lastSetURL=null,t(e))}),window.addEventListener("hashchange",this._hashchangeHandler)}formatURL(t){return`#${t}`}willDestroy(){this._removeEventListener()}_removeEventListener(){this._hashchangeHandler&&window.removeEventListener("hashchange",this._hashchangeHandler)}}let Wp=!1;function Hp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e,n;return e=16*Math.random()|0,n="x"===t?e:3&e|8,n.toString(16)})}class Kp extends lh{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return Gp(this.location)}init(){this._super(...arguments);let t=document.querySelector("base"),e="";null!==t&&t.hasAttribute("href")&&(e=t.getAttribute("href")??""),this.baseURL=e,this.location=this.location??window.location,this._popstateHandler=void 0}initState(){let t=this.history??window.history;this.history=t;let{state:e}=t,n=this.formatURL(this.getURL());e&&e.path===n?this._previousURL=this.getURL():this.replaceState(n)}getURL(){let{location:t,rootURL:e,baseURL:n}=this,i=t.pathname;e=e.replace(/\/$/,""),n=n.replace(/\/$/,"");let r=i.replace(new RegExp(`^${n}(?=/|$)`),"").replace(new RegExp(`^${e}(?=/|$)`),"").replace(/\/\//g,"/");return r+=(t.search||"")+this.getHash(),r}setURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.pushState(t)}replaceURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.replaceState(t)}pushState(t){let e={path:t,uuid:Hp()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:Hp()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(Wp||(Wp=!0,this.getURL()!==this._previousURL))&&t(this.getURL())},window.addEventListener("popstate",this._popstateHandler)}formatURL(t){let{rootURL:e,baseURL:n}=this;return""!==t?(e=e.replace(/\/$/,""),n=n.replace(/\/$/,"")):"/"===n[0]&&"/"===e[0]&&(n=n.replace(/\/$/,"")),n+e+t}willDestroy(){this._removeEventListener()}_removeEventListener(){this._popstateHandler&&window.removeEventListener("popstate",this._popstateHandler)}}class Xp extends lh{updateCallback;initState(){this._super(...arguments);let{rootURL:t}=this}getURL(){let{path:t,rootURL:e}=this;return e=e.replace(/\/$/,""),t.replace(new RegExp(`^${e}(?=/|$)`),"")}setURL(t){this.path=t}onUpdateURL(t){this.updateCallback=t}handleURL(t){this.path=t,this.updateCallback&&this.updateCallback(t)}formatURL(t){let{rootURL:e}=this;return""!==t&&(e=e.replace(/\/$/,"")),e+t}}function Yp(t){return Ss(t).readOnly()}Xp.reopen({path:"",rootURL:"/"});const Zp=/[ _]/g,Jp=new Vi(1e3,t=>{return(e=t,sf.get(e)).replace(Zp,"-");var e}),Qp=/^(-|_)+(.)?/,tf=/(.)(-|_|\.|\s)+(.)?/g,ef=/(^|\/|\.)([a-z])/g,nf=new Vi(1e3,t=>{let e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),rf=/([a-z\d])([A-Z])/g,sf=new Vi(1e3,t=>t.replace(rf,"$1_$2").toLowerCase());function of(t){return Jp.get(t)}function af(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let lf=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??Wi);function uf(t){return function(t,e=lf){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function hf(t){return{options:t,test:!af(t),isEnabled:af(t)||uf(t),isRemoved:uf(t)}}const cf={DEPRECATE_IMPORT_INJECT:hf({for:"ember-source",id:"importing-inject-from-ember-service",since:{available:"6.2.0",enabled:"6.3.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/importing-inject-from-ember-service"}),DEPRECATE_AMD_BUNDLES:hf({for:"ember-source",id:"using-amd-bundles",since:{available:"6.10.0",enabled:"6.10.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/using-amd-bundles"})};function df(...t){return ms("service",...t)}class pf extends Dh{static isServiceFactory=!0}const ff=Object.freeze(Object.defineProperty({__proto__:null,default:pf,inject:function(...t){return function(t,e){const{options:n}=e;if(e.isRemoved)throw new Error(`The API deprecated by ${n.id} was removed in ember-source ${n.until}. The message was: Importing \`inject\` from \`@ember/service\` is deprecated. Please import \`service\` instead.. Please see ${n.url} for more details.`)}(0,cf.DEPRECATE_IMPORT_INJECT),ms("service",...t)},service:df},Symbol.toStringTag,{value:"Module"})),gf=Symbol("ROUTER");function mf(t,e){return"/"===e?t:t.substring(e.length)}class yf extends(pf.extend(Fh)){[gf];get _router(){let t=this[gf];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return this[gf]=e}willDestroy(){super.willDestroy(),this[gf]=void 0}transitionTo(...t){if(Kd(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=$d(t);return this._router._doTransition(e,n,i,!0)}replaceWith(...t){return this.transitionTo(...t).method("replace")}urlFor(t,...e){return this._router.setupRouter(),this._router.generate(t,...e)}isActive(...t){let{routeName:e,models:n,queryParams:i}=$d(t);this._router.setupRouter();let r=this._router._routerMicrolib;if(Se(Ve(this._router,"currentURL")),!r.isActiveIntent(e,n))return!1;if(Object.keys(i).length>0){let t=e;i=Object.assign({},i),this._router._prepareQueryParams(t,n,i,!0);let s=Object.assign({},r.state.queryParams);return this._router._prepareQueryParams(t,n,s,!0),Xd(i,s)}return!0}recognize(t){this._router.setupRouter();let e=mf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=mf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=Yi(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{Qh(this.prototype,"currentRouteName",[Yp("_router.currentRouteName")])}#u=void nc(this,"currentRouteName");static{Qh(this.prototype,"currentURL",[Yp("_router.currentURL")])}#h=void nc(this,"currentURL");static{Qh(this.prototype,"location",[Yp("_router.location")])}#c=void nc(this,"location");static{Qh(this.prototype,"rootURL",[Yp("_router.rootURL")])}#d=void nc(this,"rootURL");static{Qh(this.prototype,"currentRoute",[Yp("_router.currentRoute")])}#p=void nc(this,"currentRoute")}class _f extends pf{[gf];get router(){let t=this[gf];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return e.setupRouter(),this[gf]=e}hasRoute(t){return this.router.hasRoute(t)}transitionTo(t,e,n,i){let r=this.router._doTransition(t,e,n);return i&&r.method("replace"),r}normalizeQueryParams(t,e,n){this.router._prepareQueryParams(t,e,n)}_generateURL(t,e,n){let i={};return n&&(Object.assign(i,n),this.normalizeQueryParams(t,e,i)),this.router.generate(t,...e,{queryParams:i})}generateURL(t,e,n){if(this.router._initialTransitionStarted)return this._generateURL(t,e,n);try{return this._generateURL(t,e,n)}catch(i){return}}isActiveForRoute(t,e,n,i){let r=this.router._routerMicrolib.recognizer.handlersFor(n),s=r[r.length-1].handler,o=function(t,e){let n=0;for(let i=0;io&&(n=s),i.isActiveIntent(n,t,e)}}_f.reopen({targetState:Yp("router.targetState"),currentState:Yp("router.currentState"),currentRouteName:Yp("router.currentRouteName"),currentPath:Yp("router.currentPath")});class vf{constructor(t){this.buffer=t,this.size=0}encode(t,e,...n){if(t>255)throw new Error(`Opcode type over 8-bits. Got ${t}.`);let i=t|e|arguments.length-2<<8;this.buffer.push(i);for(const r of n)this.buffer.push(r);this.size=this.buffer.length}patch(t,e){if(-1!==this.buffer[t+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.");this.buffer[t+1]=e}}const bf=32,wf=31;function xf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function Sf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===wf||n===bf||n===t}}[1,-1].forEach(t=>{return e=xf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const Ef=Sf(39),Cf=Sf(38),kf=Sf(37),Tf=Sf(35);function Rf(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function Pf(t){return{type:1,value:t}}function Mf(t){return{type:5,value:t}}function If(t){return{type:7,value:t}}function Of(t){return{type:8,value:t}}class Af{label(t,e){this.labels[t]=e}target(t,e){this.targets.push({at:t,target:e})}patch(t){let{targets:e,labels:n}=this;for(const{at:i,target:r}of e){let e=n[r]-i;t.getbyaddr(i),t.setbyaddr(i,e)}}constructor(){this.labels=rn(),this.targets=[]}}function Ff(t,e,n,i){let{program:{constants:r},resolver:s}=e;if(function(t){return t<1e3}(i[0])){let[e,...n]=i;t.push(r,e,...n)}else switch(i[0]){case 1e3:return t.label(i[1]);case 1001:return t.startLabels();case 1002:return t.stopLabels();case 1004:return function(t,e,n,[,i,r]){if(Ef(i),i[0]===bf){let{scopeValues:t,owner:s,symbols:{lexical:o}}=n,a=t[i[1]];r(e.component(a,s,!1,o?.at(i[1])))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupComponent?.(a,o)??null;r(e.resolvedComponent(l,a))}}(s,r,n,i);case 1003:return function(t,e,n,[,i,r]){Cf(i);let s=i[0];if(s===bf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===wf){let{symbols:{upvars:s}}=n,o=s[i[1]],a=t?.lookupBuiltInModifier?.(o)??null;r(e.modifier(a,o))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupModifier?.(a,o)??null;r(e.modifier(l))}}(s,r,n,i);case 1005:return function(t,e,n,[,i,r]){kf(i);let s=i[0];if(s===bf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===wf)r(Rf(i,t,n,e));else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupHelper?.(a,o)??null;r(e.helper(l,a))}}(s,r,n,i);case 1007:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s}]){Tf(i);let o=i[0];if(o===bf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[i[1]],u=e.component(l,o,!0,a?.at(i[1]));if(null!==u)return void r(u);s(e.helper(l,null,!0))}else if(o===wf)s(Rf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)r(e.resolvedComponent(u,l));else{let n=t?.lookupHelper?.(l,a)??null;s(e.helper(n,l))}}}(s,r,n,i);case 1008:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s,ifValue:o}]){Tf(i);let a=i[0];if(a===bf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,u=t[i[1]];if("function"!=typeof u&&("object"!=typeof u||null===u))return void o(e.value(u));let h=e.component(u,a,!0,l?.at(i[1]));if(null!==h)return void r(h);let c=e.helper(u,null,!0);if(null!==c)return void s(c);o(e.value(u))}else if(a===wf)s(Rf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)return void r(e.resolvedComponent(u,l));let h=t?.lookupHelper?.(l,a)??null;null!==h&&s(e.helper(h,l))}}(s,r,n,i);case 1010:{let[,t,e]=i;e(n.symbols.upvars[t],n.moduleName);break}case 1011:{let[,t,e]=i,s=n.scopeValues[t];e(r.value(s));break}default:throw new Error(`Unexpected high level opcode ${i[0]}`)}}class Lf{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new an,this.encoder=new vf([]),this.errors=[],this.handle=t.malloc()}error(t){this.encoder.encode(30,0),this.errors.push(t)}commit(t){let e=this.handle;return this.heap.pushMachine(5),this.heap.finishMalloc(e,t),(n=this.errors)&&n.length>0?{errors:this.errors,handle:e}:e;var n}push(t,e,...n){let{heap:i}=this;var r;let s=e|((r=e)>=0&&r<=15?Vn:0)|n.length<<8;i.pushRaw(s);for(let o=0;o=-536870912?xf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function $f(t,e,n,i){t(0),Zf(t,n,i,!1),t(16,e),t(1),t(36,8)}function Gf(t,e,n,i){t(0),Zf(t,e,n,!1),t(33,2,1),t(107),i?(t(36,8),i(),t(1),t(34,1)):(t(1),t(34,1),t(36,8))}function Vf(t,e,n,i,r){t(0),Zf(t,i,r,!1),t(86),Uf(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function Wf(t,e,n){Zf(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Hf(t,e){!function(t,e){null!==e?t(63,If({parameters:e})):qf(t,null)}(t,e&&e[1]),t(62),Yf(t,e)}function Kf(t,e){t(0),Yf(t,e),t(61),t(2),t(1)}function Xf(t,e,n){let i=e[1],r=i.length,s=Math.min(n,r);if(0!==s){if(t(0),s){t(39);for(let e=0;e{for(let n of e)Uf(t,n);t(27,e.length)}),jf.add(28,(t,[,e,n,i])=>{kf(e)?t(1005,e,e=>{$f(t,e,n,i)}):(Uf(t,e),Gf(t,n,i))}),jf.add(50,(t,[,e,n,i,r])=>{Vf(t,n,e,i,r)}),jf.add(30,(t,[,e,n])=>{t(21,e),zf(t,n)}),jf.add(bf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),zf(t,n)})}),jf.add(wf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{$f(t,e,null,null)})})}),jf.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{$f(t,e,null,null)})})}),jf.add(27,t=>Bf(t,void 0)),jf.add(48,(t,[,e])=>{Uf(t,e),t(25)}),jf.add(49,(t,[,e])=>{Uf(t,e),t(24),t(61),t(26)}),jf.add(52,(t,[,e,n,i])=>{Uf(t,i),Uf(t,n),Uf(t,e),t(109)}),jf.add(51,(t,[,e])=>{Uf(t,e),t(110)}),jf.add(53,(t,[,e])=>{Uf(t,e),t(111)}),jf.add(54,(t,[,e])=>{t(0),Zf(t,e,null,!1),t(112),t(1),t(36,8)});class tg{constructor(t){this.blocks=t,this.names=t?Object.keys(t):[]}get(t){return this.blocks&&this.blocks[t]||null}has(t){let{blocks:e}=this;return null!==e&&t in e}with(t,e){let{blocks:n}=this;return new tg(n?un({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const eg=new tg(null);function ng(t){if(null===t)return eg;let e=rn(),[n,i]=t;for(const[r,s]of tn(n))e[s]=i[r];return new tg(e)}function ig(t,e,n){let i=[],r=0;n(function(t,e){i.push({match:t,callback:e,label:"CLAUSE"+r++})}),t(69,1),e(),t(1001);for(let s of i.slice(0,-1))t(67,Pf(s.label),s.match);for(let s=i.length-1;s>=0;s--){let e=i[s];t(1e3,e.label),t(34,1),e.callback(),0!==s&&t(4,Pf("END"))}t(1e3,"END"),t(1002),t(70)}function rg(t,e,n){t(1001),t(0),t(6,Pf("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function sg(t,e,n,i){return rg(t,e,()=>{t(66,Pf("ELSE")),n(),t(4,Pf("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function og(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,u=n?[n,[]]:null,h=ng(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:i,positional:r,named:s,blocks:o}){let{symbolTable:a}=n;if(ii(e,Gn.prepareArgs))return void lg(t,{capabilities:e,elementBlock:i,positional:r,named:s,atNames:!0,blocks:o,layout:n});t(36,4),t(33,3,1),t(35,4),t(0);let{symbols:l}=a,u=[],h=[],c=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Hf(t,i),u.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Hf(t,o.get(p)),u.push(e))}if(ii(e,Gn.createArgs)){let e=Jf(t,r)<<4;e|=8;let n=Ze;if(null!==s){n=s[0];let e=s[1];for(let i=0;i0?1:0),t(19,0);for(const p of Qe(h))-1===p?t(34,1):t(19,p+1);null!==r&&t(34,r.length);for(const p of Qe(u))t(20,p+1);t(28,Of(n)),t(61),t(2),t(100,4),t(1),t(40),ii(e,Gn.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:u,positional:i,named:r,blocks:h})):(t(78,l),lg(t,{capabilities:a,elementBlock:u,positional:i,named:r,atNames:!0,blocks:h}))}function ag(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,u=ng(s);rg(t,()=>(Uf(t,e),t(33,3,0),2),()=>{t(66,Pf("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),lg(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:u}),t(1e3,"ELSE")})}function lg(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,u=!0===e||ii(e,Gn.prepareArgs)||!(!r||0===r[0].length),h=o.with("attrs",n);t(36,4),t(33,3,1),t(35,4),t(0),function(t,e,n,i,r){let s=i.names;for(const l of s)Hf(t,i.get(l));let o=Jf(t,e)<<4;r&&(o|=8),i.hasAny&&(o|=7);let a=Xe;if(n){a=n[0];let e=n[1];for(let n=0;n{a?(t(63,If(a.symbolTable)),t(28,Of(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function ug(t,e,n,i,r=null){t(97,4),t(59),t(87,0|e),r&&r(),t(88,4),t(90,4),t(38,4),t(19,0),i&&t(17,4),n&&t(18,4),t(34,1),t(96,4),t(100,4),t(1),t(40),t(60),t(98)}const hg=new Nf,cg=["class","id","value","name","type","style","href"],dg=["div","span","p","a"];function pg(t){return"string"==typeof t?t:dg[t]}function fg(t){return"string"==typeof t?t:cg[t]}function gg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}hg.add(3,(t,e)=>t(42,e[1])),hg.add(13,t=>t(55)),hg.add(12,t=>t(54)),hg.add(4,(t,[,e,n,i])=>{Cf(e)?t(1003,e,e=>{t(0),Zf(t,n,i,!1),t(57,e),t(1)}):(Uf(t,e),t(0),Zf(t,n,i,!1),t(33,2,1),t(108),t(1))}),hg.add(14,(t,[,e,n,i])=>{t(51,fg(e),n,i??null)}),hg.add(24,(t,[,e,n,i])=>{t(105,fg(e),n,i??null)}),hg.add(15,(t,[,e,n,i])=>{Uf(t,n),t(52,fg(e),!1,i??null)}),hg.add(22,(t,[,e,n,i])=>{Uf(t,n),t(52,fg(e),!0,i??null)}),hg.add(16,(t,[,e,n,i])=>{Uf(t,n),t(53,fg(e),!1,i??null)}),hg.add(23,(t,[,e,n,i])=>{Uf(t,n),t(53,fg(e),!0,i??null)}),hg.add(10,(t,[,e])=>{t(48,pg(e))}),hg.add(11,(t,[,e])=>{t(89),t(48,pg(e))}),hg.add(8,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,n,null,i,r)}):ag(t,e,n,null,i,r,!0,!0)}),hg.add(18,(t,[,e,n])=>Wf(t,e,n)),hg.add(17,(t,[,e])=>Wf(t,e,null)),hg.add(26,(t,[,e,n,i])=>{t(103,function(t,e,n){return{type:3,value:{locals:t,upvars:e,lexical:n}}}(e,n,i))}),hg.add(1,(t,[,e])=>{if(Array.isArray(e))if(Tf(e))t(1008,e,{ifComponent(e){og(t,e,null,null,null,null)},ifHelper(e){t(0),$f(t,e,null,null),t(3,Mf("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,Mf("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;Tf(n)?t(1007,n,{ifComponent(e){og(t,e,null,i,gg(r),null)},ifHelper(e){t(0),$f(t,e,i,r),t(3,Mf("cautious-non-dynamic-append")),t(1)}}):ig(t,()=>{Uf(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),lg(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:ng(null)})}),e(1,()=>{Gf(t,i,r,()=>{t(3,Mf("cautious-non-dynamic-append"))})})})}else t(0),Uf(t,e),t(3,Mf("cautious-append")),t(1);else t(41,null==e?"":String(e))}),hg.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),Uf(t,e),t(3,Mf("trusting-append")),t(1)):t(41,null==e?"":String(e))}),hg.add(6,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,null,n,gg(i),r)}):ag(t,e,null,n,i,r,!1,!1)}),hg.add(40,(t,[,e,n,i,r])=>{sg(t,()=>(Uf(t,n),void 0===r?Bf(t,void 0):Uf(t,r),Uf(t,i),t(33,3,0),4),()=>{t(50),Kf(t,e),t(56)})}),hg.add(41,(t,[,e,n,i])=>sg(t,()=>(Uf(t,e),t(71),1),()=>{Kf(t,n)},i?()=>{Kf(t,i)}:void 0)),hg.add(42,(t,[,e,n,i,r])=>rg(t,()=>(n?Uf(t,n):Bf(t,null),Uf(t,e),2),()=>{t(72,Pf("BODY"),Pf("ELSE")),t(0),t(33,2,1),t(6,Pf("ITER")),t(1e3,"ITER"),t(74,Pf("BREAK")),t(1e3,"BODY"),Xf(t,i,2),t(34,2),t(4,Pf("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,Pf("FINALLY")),t(1e3,"ELSE"),r&&Kf(t,r)})),hg.add(44,(t,[,e,n])=>{Xf(t,n,Jf(t,e))}),hg.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Jf(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Kf(t,n)})}else Kf(t,n)}),hg.add(46,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,null,n,gg(i),r)}):ag(t,e,null,n,i,r,!1,!1)});class mg{constructor(t,e,n,i="plain block"){this.statements=t,this.meta=e,this.symbolTable=n,this.moduleName=i,this.compiled=null}compile(t){return function(t,e){if(null!==t.compiled)return t.compiled;t.compiled=-1;let{statements:n,meta:i}=t,r=function(t,e,n){let i=hg,r=Df(n,e),{encoder:s,evaluation:o}=r;function a(...t){Ff(s,o,e,t)}for(const l of t)i.compile(a,l);return r.encoder.commit(e.size)}(n,i,e);return t.compiled=r,r}(this,t)}}class yg{constructor(t,e,n,i,r){this.main=t,this.trustingGuardedAppend=e,this.cautiousGuardedAppend=n,this.trustingNonDynamicAppend=i,this.cautiousNonDynamicAppend=r}get"trusting-append"(){return this.trustingGuardedAppend}get"cautious-append"(){return this.cautiousGuardedAppend}get"trusting-non-dynamic-append"(){return this.trustingNonDynamicAppend}get"cautious-non-dynamic-append"(){return this.cautiousNonDynamicAppend}getAppend(t){return t?this.trustingGuardedAppend:this.cautiousGuardedAppend}}function _g(t,e,n){ig(t,()=>t(76),i=>{i(2,()=>{e?(t(68),t(43)):t(47)}),"number"==typeof n?(i(0,()=>{t(81),t(79),function(t){t(36,4),t(33,3,1),t(35,4),t(0),t(83),t(85,4),ug(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),i(1,()=>{Gf(t,null,null,()=>{t(3,n)})})):(i(0,()=>{t(47)}),i(1,()=>{t(47)})),i(4,()=>{t(68),t(44)}),i(5,()=>{t(68),t(45)}),i(6,()=>{t(68),t(46)})})}const vg={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function bg(t,e){let n=new Lf(t.program.heap,vg);e(function(...e){Ff(n,t,vg,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class wg{constructor({constants:t,heap:e},n,i){this.constants=t,this.heap=e,this.resolver=i.resolver,this.createOp=n,this.env=i.env,this.program=i.program,this.stdlib=function(t){let e=bg(t,t=>function(t){t(75,4),ug(t,!1,!1,!0)}(t)),n=bg(t,t=>_g(t,!0,null)),i=bg(t,t=>_g(t,!1,null)),r=bg(t,t=>_g(t,!0,n)),s=bg(t,t=>_g(t,!1,i));return new yg(e,r,s,n,i)}(this)}}class xg{constructor(t,e){this.layout=t,this.moduleName=e,this.compiled=null;let{block:n}=t,[,i]=n;i=i.slice();let r=i.indexOf("&attrs");this.attrsBlockNumber=-1===r?i.push("&attrs"):r+1,this.symbolTable={symbols:i},this.meta=Qf(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Qf(this.layout),n=Df(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){Ff(i,r,e,t)},o=this.layout,a=this.attrsBlockNumber,s(1001),function(t,e,n){t(36,5),n(),t(35,5)}(s,0,()=>{s(91,4),s(31),s(33,3,0)}),s(66,Pf("BODY")),s(36,5),s(89),s(49),s(99,4),Wf(s,a,null),s(54),s(1e3,"BODY"),Kf(s,[o.block[0],[]]),s(36,5),s(66,Pf("END")),s(55),s(1e3,"END"),s(35,5),s(1002);let l=n.encoder.commit(e.size);return"number"!=typeof l||(this.compiled=l),l}}let Sg=0,Eg={cacheHit:0,cacheMiss:0};function Cg({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+Sg++,a=null,l=new WeakMap,u=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(Eg.cacheMiss++,a=new kg({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):Eg.cacheHit++,a;let u=l.get(t);return void 0===u?(Eg.cacheMiss++,u=new kg({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,u)):Eg.cacheHit++,u};return u.__id=o,u.__meta={moduleName:e},u}class kg{constructor(t){this.parsedLayout=t,this.result="ok",this.layout=null,this.wrappedLayout=null}get moduleName(){return this.parsedLayout.moduleName}get id(){return this.parsedLayout.id}get referrer(){return{moduleName:this.parsedLayout.moduleName,owner:this.parsedLayout.owner}}asLayout(){return this.layout?this.layout:this.layout=function(t,e){let[n,i]=t.block;return new mg(n,Qf(t),{symbols:i},e)}(un({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new xg(un({},this.parsedLayout),this.moduleName)}}function Tg(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const Rg={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},Pg=Object.freeze([]),Mg=[!1,!0,null,void 0,Pg],Ig=Mg.indexOf(Pg);class Og{value(t){let e=this.indexMap,n=e.get(t);return void 0===n&&(n=this.values.push(t)-1,e.set(t,n)),n}array(t){if(0===t.length)return Ig;let e=new Array(t.length);for(let n=0;nt}helper(t,e=null,n){let i=this.helperDefinitionCache.get(t);if(void 0===i){let e=vi(t);if(null===e)return this.helperDefinitionCache.set(t,null),null;let n="function"==typeof e?e:e.getHelper(t);i=this.value(n),this.helperDefinitionCache.set(t,i),this.helperDefinitionCount++}return i}modifier(t,e=null,n){let i=this.modifierDefinitionCache.get(t);if(void 0===i){let n=mi(t);if(null===n)return this.modifierDefinitionCache.set(t,null),null;let r={resolvedName:e,manager:n,state:t};i=this.value(r),this.modifierDefinitionCache.set(t,i),this.modifierDefinitionCount++}return i}component(t,e,n,i){let r=this.componentDefinitionCache.get(t);if(void 0===r){let n=wi(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=ti(n.getCapabilities(t)),a=ji(t),l=null;s=ni(0,o,Gn.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=Tg(s),l=ni(0,o,Gn.wrapped)?s.asWrappedLayout():s.asLayout()),r={resolvedName:null,handle:-1,manager:n,capabilities:o,state:t,compilable:l},r.handle=this.value(r),i&&(r.debugName=i),this.componentDefinitionCache.set(t,r),this.componentDefinitionCount++}return r}resolvedComponent(t,e){let n=this.componentDefinitionCache.get(t);if(void 0===n){let{manager:i,state:r,template:s}=t,o=ti(i.getCapabilities(t)),a=null;ni(0,o,Gn.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=Tg(s),a=ni(0,o,Gn.wrapped)?s.asWrappedLayout():s.asLayout()),n={resolvedName:e,handle:-1,manager:i,capabilities:o,state:r,compilable:a},n.handle=this.value(n),this.componentDefinitionCache.set(t,n),this.componentDefinitionCount++}return n}getValue(t){return this.values[t]}getArray(t){let e=this.reifiedArrs,n=e[t];if(void 0===n){let i=this.getValue(t);n=new Array(i.length);for(const[t,e]of tn(i))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[Ig]:Pg},this.defaultTemplate=Cg(Rg)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=Mg.slice(),this.indexMap=new Map(this.values.map((t,e)=>[t,e])),this.helperDefinitionCache=new WeakMap,this.modifierDefinitionCache=new WeakMap,this.componentDefinitionCache=new WeakMap}}class Ag{constructor(t){this.heap=t,this.offset=0}get size(){return 1+((768&this.heap.getbyaddr(this.offset))>>8)}get isMachine(){return this.heap.getbyaddr(this.offset)&Vn?1:0}get type(){return 255&this.heap.getbyaddr(this.offset)}get op1(){return this.heap.getbyaddr(this.offset+1)}get op2(){return this.heap.getbyaddr(this.offset+2)}get op3(){return this.heap.getbyaddr(this.offset+3)}}class Fg{constructor(){this.offset=0,this.handle=0,this.heap=new Int32Array(1048576),this.handleTable=[],this.handleState=[]}entries(){return this.offset}pushRaw(t){this.sizeCheck(),this.heap[this.offset++]=t}pushOp(t){this.pushRaw(t)}pushMachine(t){this.pushRaw(t|Vn)}sizeCheck(){let{heap:t}=this;if(this.offset===this.heap.length){let e=new Int32Array(t.length+1048576);e.set(t,0),this.heap=e}}getbyaddr(t){return this.heap[t]}setbyaddr(t,e){this.heap[t]=e}malloc(){return this.handleTable.push(this.offset),this.handleTable.length-1}finishMalloc(t){}size(){return this.offset}getaddr(t){return this.handleTable[t]}sizeof(t){return this.handleTable,-1}free(t){this.handleState[t]=1}compact(){let t=0,{handleTable:e,handleState:n,heap:i}=this;for(let r=0;r-536870913?function(t){return~t}(t):function(t){return 536870912|t}(t)}[1,-1].forEach(t=>{return Bg((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const qg=new class{constructor(){this.evaluateOpcode=new Array(113).fill(null)}add(t,e,n="syscall"){this.evaluateOpcode[t]={syscall:"machine"!==n,evaluate:e}}evaluate(t,e,n){let i=this.evaluateOpcode[n];i.syscall?(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t,e)):(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t.lowlevel,e))}},$g=Symbol("TYPE"),Gg=Symbol("INNER"),Vg=Symbol("OWNER"),Wg=Symbol("ARGS"),Hg=Symbol("RESOLVED"),Kg=new WeakSet;function Xg(t){return Kg.has(t)}function Yg(t,e){return Xg(t)&&t[$g]===e}class Zg{constructor(t,e,n,i,r=!1){Kg.add(this),this[$g]=t,this[Gg]=e,this[Vg]=n,this[Wg]=i,this[Hg]=r}}function Jg(t){let e,n,i,r,s,o=t;for(;;){let{[Wg]:t,[Gg]:a}=o;if(null!==t){let{named:i,positional:r}=t;r.length>0&&(e=void 0===e?r:r.concat(e)),void 0===n&&(n=[]),n.unshift(i)}if(!Xg(a)){i=a,r=o[Vg],s=o[Hg];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Qg(t,e,n,i,r=!1){return new Zg(t,e,n,i,r)}class tm{constructor(t){this.bucket=t?un({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new tm(this.bucket)}}class em{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(mn);return new em(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(mn);return new em(t,n,null)}constructor(t,e,n){this.owner=t,this.slots=e,this.callerScope=n}init({self:t}){return this.slots[0]=t,this}snapshot(){return this.slots.slice()}getSelf(){return this.get(0)}getSymbol(t){return this.get(t)}getBlock(t){let e=this.get(t);return e===mn?null:e}bind(t,e){this.set(t,e)}bindSelf(t){this.set(0,t)}bindSymbol(t,e){this.set(t,e)}bindBlock(t,e){this.set(t,e)}bindCallerScope(t){this.callerScope=t}getCallerScope(){return this.callerScope}child(){return new em(this.owner,this.slots.slice(),this.callerScope)}get(t){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);return this.slots[t]}set(t,e){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);this.slots[t]=e}}class nm{constructor(t,e){this.element=t,this.nextSibling=e}}class im{constructor(t,e,n){this.parentNode=t,this.first=e,this.last=n}parentElement(){return this.parentNode}firstNode(){return this.first}lastNode(){return this.last}}function rm(t,e){let n=t.parentElement(),i=t.firstNode(),r=t.lastNode(),s=i;for(;;){let t=s.nextSibling;if(n.insertBefore(s,e),s===r)return t;s=t}}function sm(t){let e=t.parentElement(),n=t.firstNode(),i=t.lastNode(),r=n;for(;;){let t=r.nextSibling;if(e.removeChild(r),r===i)return t;r=t}}function om(t){return"getDebugCustomRenderTree"in t}let am=0;class lm{constructor(t){this.id=am++,this.value=t}get(){return this.value}release(){this.value=null}toString(){let t=`Ref ${this.id}`;if(null===this.value)return`${t} (released)`;try{return`${t}: ${this.value}`}catch{return t}}}class um{begin(){this.reset()}create(t,e){let n=un({},e,{bounds:null,refs:new Set});this.nodes.set(t,n),this.appendChild(n,t),this.enter(t)}update(t){this.enter(t)}didRender(t,e){this.nodeFor(t).bounds=e,this.exit()}willDestroy(t){this.refs.get(t).release()}commit(){this.reset()}capture(){return this.captureRefs(this.roots)}reset(){if(0!==this.stack.size){let t=this.stack.toArray()[0],e=this.refs.get(t);for(void 0!==e&&this.roots.delete(e);!this.stack.isEmpty();)this.stack.pop()}}enter(t){this.stack.push(t)}exit(){this.stack.pop()}nodeFor(t){return this.nodes.get(t)}appendChild(t,e){let n=this.stack.current,i=new lm(e);if(this.refs.set(e,i),n){let e=this.nodeFor(n);e.refs.add(i),t.parent=e}else this.roots.add(i)}captureRefs(t){let e=[];return t.forEach(n=>{let i=n.get();i?e.push(this.captureNode(`render-node:${n.id}`,i)):t.delete(n)}),e}captureNode(t,e){let n=this.nodeFor(e),{type:i,name:r,args:s,instance:o,refs:a}=n,l=this.captureTemplate(n),u=this.captureBounds(n),h=this.captureRefs(a);return{id:t,type:i,name:r,args:Vm(s),instance:o,template:l,bounds:u,children:h}}captureTemplate({template:t}){return t||null}captureBounds(t){let e=t.bounds;return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}constructor(){this.stack=new an,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function hm(t){return cm(t)?"":String(t)}function cm(t){return null==t||"function"!=typeof t.toString}function dm(t){return null!==t&&"object"==typeof t}function pm(t){return dm(t)&&"function"==typeof t.toHTML}function fm(t){return"string"==typeof t}qg.add(39,t=>t.pushChildScope()),qg.add(40,t=>t.popScope()),qg.add(59,t=>t.pushDynamicScope()),qg.add(60,t=>t.popDynamicScope()),qg.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),qg.add(29,(t,{op1:e})=>{t.stack.push(bn(t.constants.getValue(e)))}),qg.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(Bg(e))}),qg.add(31,t=>{let e,n=t.stack,i=n.pop();e=void 0===i?mn:null===i?yn:!0===i?_n:!1===i?vn:gn(i),n.push(e)}),qg.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),qg.add(34,(t,{op1:e})=>{t.stack.pop(e)}),qg.add(35,(t,{op1:e})=>{t.load(e)}),qg.add(36,(t,{op1:e})=>{t.fetch(e)}),qg.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),qg.add(69,(t,{op1:e})=>{t.enter(e)}),qg.add(70,t=>{t.exit()}),qg.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),qg.add(62,t=>{t.stack.push(t.scope())}),qg.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),qg.add(64,t=>{let{stack:e}=t,n=e.pop(),i=e.pop(),r=e.pop(),s=e.pop();if(null===r||null===n)return t.lowlevel.pushFrame(),void t.pushScope(i??t.scope());let o=i;{let t=r.parameters,e=t.length;if(e>0){o=o.child();for(let n=0;n{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i&&t.lowlevel.goto(e):(i&&t.lowlevel.goto(e),t.updateWith(new gm(n)))}),qg.add(66,(t,{op1:e})=>{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i||t.lowlevel.goto(e):(i||t.lowlevel.goto(e),t.updateWith(new gm(n)))}),qg.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),qg.add(68,t=>{let e=t.stack.peek();kn(e)||t.updateWith(new gm(e))}),qg.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(xn(()=>yt(Rn(n))))});class gm{constructor(t){this.ref=t,this.last=Rn(t)}evaluate(t){let{last:e,ref:n}=this;e!==Rn(n)&&t.throw()}}class mm{constructor(t,e){this.ref=t,this.filter=e,this.last=e(Rn(t))}evaluate(t){let{last:e,ref:n,filter:i}=this;e!==i(Rn(n))&&t.throw()}}class ym{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:i}=this;!t.alwaysRevalidate&&Jt(e,i)&&(Se(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=Zt(this.tag),Se(t)}constructor(){this.tag=se,this.lastRevision=1}}class _m{constructor(t){this.debugLabel=t}evaluate(){_e(this.debugLabel)}}class vm{constructor(t){this.target=t}evaluate(){let t=ve();this.target.didModify(t)}}qg.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),qg.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),qg.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),qg.add(49,t=>{let e=Rn(t.stack.pop());t.tree().openElement(e)}),qg.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop(),r=Rn(e),s=Rn(n),o=Rn(i);kn(e)||t.updateWith(new gm(e)),void 0===s||kn(n)||t.updateWith(new gm(n));let a=t.tree().pushRemoteElement(r,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let i=zm(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),It(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),qg.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),qg.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),qg.add(55,t=>{let e=t.tree().closeElement();null!==e&&e.forEach(e=>{t.env.scheduleInstallModifier(e);const n=e.manager.getDestroyable(e.state);null!==n&&t.associateDestroyable(n)})}),qg.add(57,(t,{op1:e})=>{if(!t.env.isInteractive)return;let n=t.getOwner(),i=t.stack.pop(),r=t.constants.getValue(e),{manager:s}=r,{constructing:o}=t.tree(),a=i.capture(),l=s.create(n,o,r.state,a),u={manager:s,state:l,definition:r};t.fetchValue(6).addModifier(t,u,a);let h=s.getTag(l);return null!==h?(Se(h),t.updateWith(new bm(h,u))):void 0}),qg.add(108,t=>{if(!t.env.isInteractive)return;let{stack:e}=t,n=e.pop(),i=e.pop().capture(),{positional:r,named:s}=i,{constructing:o}=t.tree(),a=t.getOwner(),l=xn(()=>{let t,e,l=Rn(n);if(!on(l))return;if(Yg(l,2)){let{definition:n,owner:o,positional:a,named:u}=Jg(l);e=n,t=o,void 0!==a&&(i.positional=a.concat(r)),void 0!==u&&(i.named=Object.assign({},...u,s))}else e=l,t=a;let u=mi(e);if(null===u)throw new Error("BUG: modifier manager expected");let h={resolvedName:null,manager:u,state:e},c=u.create(t,o,h.state,i);return{manager:u,state:c,definition:h}}),u=Rn(l),h=null;return void 0!==u&&(t.fetchValue(6).addModifier(t,u,i),h=u.manager.getTag(u.state),null!==h&&Se(h)),!kn(n)||h?t.updateWith(new wm(h,u,l)):void 0});class bm{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=Zt(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:i}=this;Se(n),Jt(n,i)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=Zt(n))}}class wm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=Zt(t??he)}evaluate(t){let{tag:e,lastUpdated:n,instance:i,instanceRef:r}=this,s=Rn(r);if(s!==i){if(void 0!==i){let t=i.manager.getDestroyable(i.state);null!==t&&At(t)}if(void 0!==s){let{manager:n,state:i}=s,r=n.getDestroyable(i);null!==r&&Mt(this,r),e=n.getTag(i),null!==e&&(this.lastUpdated=Zt(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||Jt(e,n)||(t.env.scheduleUpdateModifier(i),this.lastUpdated=Zt(e));null!==e&&Se(e)}}qg.add(51,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.tree().setStaticAttribute(r,s,o)}),qg.add(52,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=Rn(o),l=i?t.constants.getValue(i):null,u=t.tree().setDynamicAttribute(r,a,s,l);kn(o)||t.updateWith(new xm(o,u,t.env))});class xm{constructor(t,e,n){let i=!1;this.updateRef=xn(()=>{let r=Rn(t);i?e.update(r,n):i=!0}),Rn(this.updateRef)}evaluate(){Rn(this.updateRef)}}qg.add(78,(t,{op1:e})=>{let n=t.constants.getValue(e),{manager:i,capabilities:r}=n,s={definition:n,manager:i,capabilities:r,state:null,handle:null,table:null,lookup:null};t.stack.push(s)}),qg.add(80,(t,{op1:e})=>{let n,i=t.stack,r=Rn(i.pop()),s=t.constants,o=t.getOwner();if(s.getValue(e),t.loadValue(7,null),"string"==typeof r){let e=function(t,e,n,i){let r=t?.lookupComponent?.(n,i)??null;return e.resolvedComponent(r,n)}(t.context.resolver,s,r,o);n=e}else n=Xg(r)?r:s.component(r,o);i.push(n)}),qg.add(81,t=>{let e,n=t.stack,i=Rn(n.pop()),r=t.constants;e=Xg(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),qg.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();Xg(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),qg.add(82,(t,{op1:e,op2:n,op3:i})=>{let r=t.stack,s=t.constants.getArray(e),o=i>>4,a=8&i,l=7&i?t.constants.getArray(n):Ze;t.args.setup(r,s,l,o,!!a),r.push(t.args)}),qg.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),qg.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),qg.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Yg(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:u}=Jg(s);if(a)s=n;else if("string"==typeof n){let i=t.context.resolver?.lookupComponent?.(n,o)??null;s=e.resolvedComponent(i,n)}else s=e.component(n,o);void 0!==u&&r.named.merge(un({},...u)),void 0!==l&&(r.realloc(l.length),r.positional.prepend(l));let{manager:h}=s;i.definition=s,i.manager=h,i.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!ni(0,i.capabilities,Gn.prepareArgs))return void n.push(r);let l=r.blocks.values,u=r.blocks.names,h=o.prepareArgs(a,r);if(h){r.clear();for(let r=0;r{let n=t.fetchValue(4),{definition:i,manager:r,capabilities:s}=n;if(!ni(0,s,Gn.createInstance))return;let o=null;ni(0,s,Gn.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;ni(0,s,Gn.createArgs)&&(l=t.stack.peek());let u=null;ni(0,s,Gn.createCaller)&&(u=t.getSelf());let h=r.create(t.getOwner(),i.state,l,t.env,o,u,!!a);n.state=h,ni(0,s,Gn.updateHook)&&t.updateWith(new Tm(h,r,o))}),qg.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),qg.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),qg.add(89,t=>{t.loadValue(6,new Sm)}),qg.add(53,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=i?t.constants.getValue(i):null;t.fetchValue(6).setAttribute(r,o,s,a)}),qg.add(105,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.fetchValue(6).setStaticAttribute(r,s,o)});class Sm{setAttribute(t,e,n,i){let r={value:e,namespace:i,trusting:n};"class"===t&&this.classes.push(e),this.attributes[t]=r}setStaticAttribute(t,e,n){let i={value:e,namespace:n};"class"===t&&this.classes.push(e),this.attributes[t]=i}addModifier(t,e,n){if(this.modifiers.push(e),void 0!==t.env.debugRenderTree){const{manager:i,definition:r,state:s}=e;if(null===s||"object"!=typeof s&&"function"!=typeof s)return;let{element:o,constructing:a}=t.tree(),l=r.resolvedName??i.getDebugName(r.state),u=i.getDebugInstance(s),h=new im(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:u}),t.env.debugRenderTree.didRender(s,h),t.associateDestroyable(s),t.updateWith(new Pm(s)),t.updateWith(new Mm(s,h)),It(s,()=>{t.env.debugRenderTree?.willDestroy(s)})}}flush(t){let e,n=this.attributes;for(let i in this.attributes){if("type"===i){e=n[i];continue}let r=this.attributes[i];"class"===i?Cm(t,"class",Em(this.classes),r.namespace,r.trusting):Cm(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&Cm(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=rn(),this.classes=[],this.modifiers=[]}}function Em(t){return 0===t.length?"":1===t.length?t[0]:function(t){return t.every(t=>"string"==typeof t)}(t)?t.join(" "):(e=t,xn(()=>{let t=[];for(const n of e){let e=hm("string"==typeof n?n:Rn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function Cm(t,e,n,i,r=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,i);else{let s=t.tree().setDynamicAttribute(e,Rn(n),r,i);kn(n)||t.updateWith(new xm(n,s,t.env))}}function km(t,e,n,i,r){let s=n.table.symbols.indexOf(t),o=i.get(e);-1!==s&&r.scope().bindBlock(s+1,o),n.lookup&&(n.lookup[t]=o)}qg.add(99,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=t.fetchValue(6);r.didCreateElement(i,t.tree().constructing,s)}),qg.add(90,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e),{definition:r,state:s}=i,{manager:o}=r,a=o.getSelf(s);if(void 0!==t.env.debugRenderTree){let i,r,o=t.fetchValue(e),{definition:l,manager:u}=o;if(t.stack.peek()===t.args)i=t.args.capture();else{let e=t.constants.getArray(n);t.args.setup(t.stack,e,[],0,!0),i=t.args.capture()}let h=l.compilable;if(null===h){ni(0,o.capabilities,Gn.dynamicLayout);let e=t.context.resolver;h=null===e?null:u.getDynamicLayout(s,e),r=null!==h?h.moduleName:"__default__.hbs"}else r=h.moduleName;if(t.associateDestroyable(o),om(u))u.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),It(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new Pm(n))});else{let e=function(t,e=t.manager){return t.resolvedName??t.debugName??e.getDebugName(t.state)}(l,u);t.env.debugRenderTree.create(o,{type:"component",name:e,args:i,template:r,instance:Rn(a)}),It(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new Pm(o))}}t.stack.push(a)}),qg.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),qg.add(92,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,definition:r}=n,{stack:s}=t,{compilable:o}=r;if(null===o){let{capabilities:e}=n,r=t.context.resolver;o=null===r?null:i.getDynamicLayout(n.state,r),null===o&&(o=ni(0,e,Gn.wrapped)?Ug(t.constants.defaultTemplate).asWrappedLayout():Ug(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),qg.add(75,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),{manager:r,capabilities:s}=n,o={definition:n,manager:r,capabilities:s,state:null,handle:i.handle,table:i.symbolTable,lookup:null};t.loadValue(e,o)}),qg.add(95,(t,{op1:e})=>{let{stack:n}=t,i=n.pop(),r=n.pop(),s=t.fetchValue(e);s.handle=i,s.table=r}),qg.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);ni(0,s,Gn.hasSubOwner)?(n=r.getOwner(o),t.loadValue(7,null)):(n=t.fetchValue(7),null===n?n=t.getOwner():t.loadValue(7,null)),t.pushRootScope(i.symbols.length+1,n)}),qg.add(17,(t,{op1:e})=>{let n=t.fetchValue(e),i=t.scope(),r=t.stack.peek(),s=r.named.atNames;for(let o=s.length-1;o>=0;o--){let t=s[o],e=n.table.symbols.indexOf(t),a=r.named.get(t,!0);-1!==e&&i.bindSymbol(e+1,a),n.lookup&&(n.lookup[t]=a)}}),qg.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of tn(i.names))km(i.symbolNames[r],i.names[r],n,i,t)}),qg.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),qg.add(100,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,state:r,capabilities:s}=n,o=t.tree().popBlock();void 0!==t.env.debugRenderTree&&(om(i)?i.getDebugCustomRenderTree(n.definition.state,r,Km).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new Mm(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new Mm(n,o)))),ni(0,s,Gn.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new Rm(n,o)))}),qg.add(98,t=>{t.commitCacheGroup()});class Tm{constructor(t,e,n){this.component=t,this.manager=e,this.dynamicScope=n}evaluate(t){let{component:e,manager:n,dynamicScope:i}=this;n.update(e,i)}}class Rm{constructor(t,e){this.component=t,this.bounds=e}evaluate(t){let{component:e,bounds:n}=this,{manager:i,state:r}=e;i.didUpdateLayout(r,n),t.env.didUpdate(e)}}class Pm{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class Mm{constructor(t,e){this.bucket=t,this.bounds=e}evaluate(t){t.env.debugRenderTree?.didRender(this.bucket,this.bounds)}}class Im{constructor(){this.stack=null,this.positional=new Am,this.named=new Fm,this.blocks=new Nm}empty(t){let e=t.registers[3]+1;return this.named.empty(t,e),this.positional.empty(t,e),this.blocks.empty(t,e),this}setup(t,e,n,i,r){this.stack=t;let s=this.named,o=e.length,a=t.registers[3]-o+1;s.setup(t,a,o,e,r);let l=a-i;this.positional.setup(t,l,i);let u=this.blocks,h=n.length,c=l-3*h;u.setup(t,c,h,n)}get base(){return this.blocks.base}get length(){return this.positional.length+this.named.length+3*this.blocks.length}at(t){return this.positional.at(t)}realloc(t){let{stack:e}=this;if(t>0&&null!==e){let{positional:n,named:i}=this,r=n.base+t;for(let t=n.length+i.length-1;t>=0;t--)e.copy(t+n.base,t+r);n.base+=t,i.base+=t,e.registers[3]+=t}}capture(){let t=0===this.positional.length?Hm:this.positional.capture();return{named:0===this.named.length?Wm:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const Om=Ye();class Am{constructor(){this.base=0,this.length=0,this.stack=null,this._references=null}empty(t,e){this.stack=t,this.base=e,this.length=0,this._references=Om}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?Om:null}at(t){let{base:e,length:n,stack:i}=this;return t<0||t>=n?mn:i.get(t,e)}capture(){return this.references}prepend(t){let e=t.length;if(e>0){let{base:n,length:i,stack:r}=this;this.base=n-=e,this.length=i+e;for(let s=0;s0){let{names:n,length:i,stack:r}=this,s=n.slice();for(const o of e)-1===s.indexOf(o)&&(i=s.push(o),r.push(t[o]));this.length=i,this._references=null,this._names=s,this._atNames=null}}get references(){let t=this._references;if(!t){let{base:e,length:n,stack:i}=this;t=this._references=i.slice(e,e+n)}return t}toSyntheticName(t){return t.slice(1)}toAtName(t){return`@${t}`}}function Lm(t){return`&${t}`}const Dm=Ye();class Nm{constructor(){this.internalValues=null,this._symbolNames=null,this.internalTag=null,this.names=Ze,this.length=0,this.base=0}empty(t,e){this.stack=t,this.names=Ze,this.base=e,this.length=0,this._symbolNames=null,this.internalTag=se,this.internalValues=Dm}setup(t,e,n,i){this.stack=t,this.names=i,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=se,this.internalValues=Dm):(this.internalTag=null,this.internalValues=null)}get values(){let t=this.internalValues;if(!t){let{base:e,length:n,stack:i}=this;t=this.internalValues=i.slice(e,e+3*n)}return t}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);if(-1===e)return null;let{base:n,stack:i}=this,r=i.get(3*e,n),s=i.get(3*e+1,n),o=i.get(3*e+2,n);return null===o?null:[o,s,r]}capture(){return new jm(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(Lm)),t}}class jm{constructor(t,e){this.names=t,this.values=e,this.length=t.length}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);return-1===e?null:[this.values[3*e+2],this.values[3*e+1],this.values[3*e]]}}function zm(t,e){return{named:t,positional:e}}function Um(t){let e=rn();for(const[n,i]of Object.entries(t))e[n]=Rn(i);return e}function Bm(t){return t.map(Rn)}const qm=Symbol("ARGUMENT_ERROR");function $m(t){return null!==t&&"object"==typeof t&&t[qm]}function Gm(t){return{[qm]:!0,error:t}}function Vm(t){return{named:function(t){let e=rn();for(const[i,r]of Object.entries(t))try{e[i]=Rn(r)}catch(n){e[i]=Gm(n)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return Rn(t)}catch(e){return Gm(e)}}))};var e}const Wm=Object.freeze(Object.create(null)),Hm=Om,Km=zm(Wm,Hm);function Xm(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Ym(t){let e,n=vi(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Zm(t){return t===mn}qg.add(77,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=i.pop(),o=t.getOwner();t.context.resolver,t.loadValue(8,function(t,e,n,i){let r,s;return xn(()=>{let o=Rn(e);return o===r||(s=Yg(o,t)?i?Qg(t,o,n,i):i:0===t&&"string"==typeof o&&o||on(o)?Qg(t,o,n,i):null,r=o),s})}(e,r,o,s))}),qg.add(107,t=>{let e,n=t.stack,i=n.pop(),r=n.pop().capture(),s=t.getOwner(),o=xn(()=>{void 0!==e&&At(e);let t=Rn(i);if(Yg(t,1)){let{definition:n,owner:i,positional:s,named:a}=Jg(t),l=Ym(n);void 0!==a&&(r.named=un({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),Mt(o,e)}else if(on(t)){let n=Ym(t);e=n(r,s),Ft(e)&&Mt(o,e)}else e=mn}),a=xn(()=>(Rn(o),Rn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),qg.add(16,(t,{op1:e})=>{let n=t.stack,i=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Ft(i)&&t.associateDestroyable(i),t.loadValue(8,i)}),qg.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),qg.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),qg.add(20,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),r=t.stack.pop();t.scope().bindBlock(e,[n,i,r])}),qg.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),qg.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(Mn(i,n))}),qg.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),qg.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Zm(n)){let[t,i,r]=n;e.push(r),e.push(i),e.push(t)}else e.push(null),e.push(null),e.push(null)}),qg.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Zm(n)?e.push(_n):e.push(vn)}),qg.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?_n:vn)}),qg.add(27,(t,{op1:e})=>{let n=new Array(e);for(let r=e;r>0;r--)n[r-1]=t.stack.pop();var i;t.stack.push((i=n,xn(()=>{const t=[];for(const e of i){const n=Rn(e);null!=n&&t.push(Xm(n))}return t.length>0?t.join(""):null})))}),qg.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop();t.stack.push(xn(()=>yt(Rn(e))?Rn(n):Rn(i)))}),qg.add(110,t=>{let e=t.stack.pop();t.stack.push(xn(()=>!yt(Rn(e))))}),qg.add(111,t=>{let e=t.dynamicScope(),n=t.stack,i=n.pop();n.push(xn(()=>{let t=String(Rn(i));return Rn(e.get(t))}))}),qg.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,xn(()=>{console.log(...Bm(e))}))});class Jm{constructor(t,e,n){this.node=t,this.reference=e,this.lastValue=n}evaluate(){let t,e=Rn(this.reference),{lastValue:n}=this;e!==n&&(t=cm(e)?"":fm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Qm(t){return function(t){return fm(t)||cm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Yg(t,0)||xi(t)?0:Yg(t,1)||Si(t)?1:pm(t)?4:function(t){return dm(t)&&11===t.nodeType}(t)?5:function(t){return dm(t)&&"number"==typeof t.nodeType}(t)?6:2}function ty(t){return on(t)?Yg(t,0)||xi(t)?0:1:2}function ey(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}qg.add(76,t=>{let e=t.stack.peek();t.stack.push(Qm(Rn(e))),kn(e)||t.updateWith(new mm(e,Qm))}),qg.add(106,t=>{let e=t.stack.peek();t.stack.push(ty(Rn(e))),kn(e)||t.updateWith(new mm(e,ty))}),qg.add(43,t=>{let e=Rn(t.stack.pop()),n=cm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),qg.add(44,t=>{let e=Rn(t.stack.pop()).toHTML(),n=cm(e)?"":e;t.tree().appendDynamicHTML(n)}),qg.add(47,t=>{let e=t.stack.pop(),n=Rn(e),i=cm(n)?"":String(n),r=t.tree().appendDynamicText(i);kn(e)||t.updateWith(new Jm(r,e,i))}),qg.add(45,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicFragment(e)}),qg.add(46,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicNode(e)});let ny=ey;class iy{#f;constructor(t,e){this.scope=t,this.#f=e}get(t){let e,{scope:n}=this,i=this.#f,r=t.split("."),[s,...o]=t.split(".");return"this"===s?e=n.getSelf():i.locals[s]?e=n.getSymbol(i.locals[s]):(e=this.scope.getSelf(),o=r),o.reduce((t,e)=>Mn(t,e),e)}}qg.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new iy(t.scope(),n);ny(Rn(t.getSelf()),t=>Rn(i.get(t)))}),qg.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=Rn(i.pop()),o=zn(r,null===s?"@identity":String(s)),a=Rn(o);t.updateWith(new mm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),qg.add(73,t=>{t.exitList()}),qg.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const ry={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!1,wrapped:!1,willDestroy:!1,hasSubOwner:!1};class sy{getCapabilities(){return ry}getDebugName({name:t}){return t}getSelf(){return yn}getDestroyable(){return null}}const oy=new sy;class ay{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function ly(t,e){return new ay(t,e)}bi(oy,ay.prototype);const uy={foreignObject:1,desc:1,title:1},hy=Object.create(null);class cy{constructor(t){this.document=t,this.setupUselessElement()}setupUselessElement(){this.uselessElement=this.document.createElement("div")}createElement(t,e){let n,i,r,s;if(e?(n=e.namespaceURI===Ng||"svg"===t,r=e.namespaceURI===Dg||"math"===t,i=!!uy[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(hy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?Dg:Ng,this.document.createElementNS(s,t)}insertBefore(t,e,n){t.insertBefore(e,n)}insertHTMLBefore(t,e,n){if(""===n){const n=this.createComment("");return t.insertBefore(n,e),new im(t,n,n)}const i=e?e.previousSibling:t.lastChild;let r;if(null===e)t.insertAdjacentHTML("beforeend",n),r=t.lastChild;else if(e instanceof HTMLElement)e.insertAdjacentHTML("beforebegin",n),r=e.previousSibling;else{const{uselessElement:i}=this;t.insertBefore(i,e),i.insertAdjacentHTML("beforebegin",n),r=i.previousSibling,t.removeChild(i)}const s=i?i.nextSibling:t.firstChild;return new im(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function dy(t,e,n){if(!t)return e;if(!function(t,e){const n=t.createElementNS(e,"svg");try{n.insertAdjacentHTML("beforeend","")}catch{}finally{return 1!==n.childNodes.length||n.firstChild.namespaceURI!==Ng}}(t,n))return e;const i=t.createElement("div");return class extends e{insertHTMLBefore(t,e,r){return""===r||t.namespaceURI!==n?super.insertHTMLBefore(t,e,r):function(t,e,n,i){let r;if("FOREIGNOBJECT"===t.tagName.toUpperCase()){const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild.firstChild}else{const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild}return function(t,e,n){const i=t.firstChild;let r=i,s=i;for(;s;){const t=s.nextSibling;e.insertBefore(s,n),r=s,s=t}return new im(e,i,r)}(r,t,i)}(t,i,r,e)}}}function py(t,e){return t&&function(t){const e=t.createElement("div");return e.appendChild(t.createTextNode("first")),e.insertAdjacentHTML("beforeend","second"),2!==e.childNodes.length}(t)?class extends e{constructor(t){super(t),this.uselessComment=t.createComment("")}insertHTMLBefore(t,e,n){if(""===n)return super.insertHTMLBefore(t,e,n);let i=!1;const r=e?e.previousSibling:t.lastChild;r&&r instanceof Text&&(i=!0,t.insertBefore(this.uselessComment,e));const s=super.insertHTMLBefore(t,e,n);return i&&t.removeChild(this.uselessComment),s}}:e}const fy="undefined"==typeof document?null:jg(document);let gy=class extends cy{createElementNS(t,e){return this.document.createElementNS(t,e)}setAttribute(t,e,n,i=null){i?t.setAttributeNS(i,e,n):t.setAttribute(e,n)}};gy=py(fy,gy),gy=dy(fy,gy,Ng);const my=gy;["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","main","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].forEach(t=>hy[t]=1);const yy=/[\t\n\v\f\r \xa0\u{1680}\u{180e}\u{2000}-\u{200a}\u{2028}\u{2029}\u{202f}\u{205f}\u{3000}\u{feff}]/u,_y="undefined"==typeof document?null:jg(document);class vy extends cy{constructor(t){super(t),this.document=t,this.namespace=null}setAttribute(t,e,n){t.setAttribute(e,n)}removeAttribute(t,e){t.removeAttribute(e)}insertAfter(t,e,n){this.insertBefore(t,e,n.nextSibling)}}let by=vy;by=py(_y,by),by=dy(_y,by,Ng);const wy=by;function xy(t,e){let n,i;if(e in t)i=e,n="prop";else{let r=e.toLowerCase();r in t?(n="prop",i=r):(n="attr",i=e)}return"prop"!==n||"style"!==i.toLowerCase()&&!function(t,e){let n=Sy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const Sy={INPUT:{form:!0,autocorrect:!0,list:!0},SELECT:{form:!0},OPTION:{form:!0},TEXTAREA:{form:!0},LABEL:{form:!0},FIELDSET:{form:!0},LEGEND:{form:!0},OBJECT:{form:!0},OUTPUT:{form:!0},BUTTON:{form:!0}},Ey=Symbol("TRANSACTION");class Cy{didCreate(t){this.createdComponents.push(t)}didUpdate(t){this.updatedComponents.push(t)}scheduleInstallModifier(t){this.scheduledInstallModifiers.push(t)}scheduleUpdateModifier(t){this.scheduledUpdateModifiers.push(t)}commit(){let{createdComponents:t,updatedComponents:e}=this;for(const{manager:r,state:s}of t)r.didCreate(s);for(const{manager:r,state:s}of e)r.didUpdate(s);let{scheduledInstallModifiers:n,scheduledUpdateModifiers:i}=this;for(const{manager:r,state:s,definition:o}of n){let t=r.getTag(s);if(null!==t){let e=Ie(()=>r.install(s));ne(t,e)}else r.install(s)}for(const{manager:r,state:s,definition:o}of i){let t=r.getTag(s);if(null!==t){let e=Ie(()=>r.update(s));ne(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class ky{static{Py=Ey}constructor(t,e){this.delegate=e,this[Py]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new um:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?$m:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new my(t.document),this.updateOperations=new vy(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[Ey],this.debugRenderTree?.begin(),this[Ey]=new Cy}get transaction(){return this[Ey]}didCreate(t){this.transaction.didCreate(t)}didUpdate(t){this.transaction.didUpdate(t)}scheduleInstallModifier(t){this.isInteractive&&this.transaction.scheduleInstallModifier(t)}scheduleUpdateModifier(t){this.isInteractive&&this.transaction.scheduleUpdateModifier(t)}commit(){let t=this.transaction;this[Ey]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function Ty(t,e,n,i){return{env:new ky(t,e),program:new Lg(n.constants,n.heap),resolver:i}}function Ry(t,e){if(t[Ey])e();else{t.begin();try{e()}finally{t.commit()}}}var Py;function My(t){return yi(t,{})}const Iy=My(({positional:t})=>xn(()=>Bm(t),null)),Oy=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),Ay=My(({positional:t})=>xn(()=>Bm(t).map(Oy).join(""),null)),Fy=My(({positional:t})=>{let e=t[0];return xn(()=>(...n)=>{let[i,...r]=Bm(t);if(!En(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];Pn(e,t)}},null)}),Ly=My(({positional:t})=>{let e=t[0]??mn,n=t[1]??mn;return xn(()=>{let t=Rn(e);if(sn(t))return bt(t,String(Rn(n)))},t=>{let i=Rn(e);if(sn(i))return wt(i,String(Rn(n)),t)})}),Dy=My(({named:t})=>{let e=xn(()=>Um(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function Ny(t){return Pe(t.argsCache)}class jy{constructor(t,e=()=>Km){let n=Re(()=>e(t));this.argsCache=n}get named(){return Ny(this).named||Wm}get positional(){return Ny(this).positional||Hm}}class zy{constructor(t,e){this.tag=re(),this.listener=null,this.element=t,this.args=e,It(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;qy(t,n,i,r)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let i=Rn(e.positional[0]);e.positional[1];let r,s,o,a=Rn(e.positional[1]);{let{once:t,passive:n,capture:i}=e.named;t&&(r=Rn(t)),n&&(s=Rn(n)),i&&(o=Rn(i))}let l,u=!1;if(u=null===n||i!==n.eventName||a!==n.userProvidedCallback||r!==n.once||s!==n.passive||o!==n.capture,u&&(void 0===r&&void 0===s&&void 0===o||(l={once:r,passive:s,capture:o})),u){let e=a;this.listener={eventName:i,callback:e,userProvidedCallback:a,once:r,passive:s,capture:o,options:l},n&&qy(t,n.eventName,n.callback,n.options),function(t,e,n,i){Uy++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let Uy=0,By=0;function qy(t,e,n,i){By++,t.removeEventListener(e,n,i)}const $y=gi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:Uy,removes:By}}create(t,e,n,i){return new zy(e,i)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class Gy{constructor(t,e,n,i){this.stack=t,this.externs=n,this.currentOpSize=0,this.context=e,this.registers=i}fetchRegister(t){return this.registers[t]}loadRegister(t,e){this.registers[t]=e}setPc(t){this.registers[0]=t}pushFrame(){this.stack.push(this.registers[1]),this.stack.push(this.registers[2]),this.registers[2]=this.registers[3]-1}popFrame(){this.registers[3]=this.registers[2]-1,this.registers[1]=this.stack.get(0),this.registers[2]=this.stack.get(1)}pushSmallFrame(){this.stack.push(this.registers[1])}popSmallFrame(){this.registers[1]=this.stack.pop()}goto(t){this.setPc(this.target(t))}target(t){return this.registers[0]+t-this.currentOpSize}call(t){this.registers[1]=this.registers[0],this.setPc(this.context.program.heap.getaddr(t))}returnTo(t){this.registers[1]=this.target(t)}return(){this.setPc(this.registers[1])}nextStatement(){let{registers:t,context:e}=this,n=t[0];if(-1===n)return null;let i=e.program.opcode(n),r=this.currentOpSize=i.size;return this.registers[0]+=r,i}evaluateOuter(t,e){this.evaluateInner(t,e)}evaluateInner(t,e){t.isMachine?this.evaluateMachine(t,e):this.evaluateSyscall(t,e)}evaluateMachine(t,e){switch(t.type){case 0:return void this.pushFrame();case 1:return void this.popFrame();case 3:return void this.call(t.op1);case 2:return void e.call(this.stack.pop());case 4:return void this.goto(t.op1);case 5:return void e.return();case 6:return void this.returnTo(t.op1)}}evaluateSyscall(t,e){qg.evaluate(e,t,t.type)}}const Vy=["javascript:","vbscript:"],Wy=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Hy=["EMBED"],Ky=["href","src","background","action"],Xy=["src"];function Yy(t,e){return-1!==t.indexOf(e)}function Zy(t,e){return(null===t||Yy(Wy,t))&&Yy(Ky,e)}function Jy(t,e){return null!==t&&Yy(Hy,t)&&Yy(Xy,e)}function Qy(t,e){return Zy(t,e)||Jy(t,e)}let t_;function e_(t,e,n){if(null==n)return n;if(pm(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=hm(n);if(Zy(i,e)){let t=(s=r,t_||(t_=function(){const t=URL;if("object"==typeof t&&null!==t&&"function"==typeof t.parse){let e=t;return t=>{let n=null;return"string"==typeof t&&(n=e.parse(t).protocol),null===n?":":n}}if("function"==typeof t)return e=>{try{return new t(e).protocol}catch{return":"}};throw new Error('@glimmer/runtime needs a valid "globalThis.URL"')}()),t_(s));if(Yy(Vy,t))return`unsafe:${r}`}var s;return Jy(i,e)?`unsafe:${r}`:r}function n_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===Ng)return i_(i,e,s);const{type:o,normalized:a}=xy(t,e);return"attr"===o?i_(i,a,s):function(t,e,n){return Qy(t,e)?new a_(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new u_(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new h_(e,n):new o_(e,n)}(i,a,s)}function i_(t,e,n){return Qy(t,e)?new l_(n):new s_(n)}class r_{constructor(t){this.attribute=t}}class s_ extends r_{set(t,e,n){const i=c_(e);if(null!==i){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,i,n)}}update(t,e){const n=c_(t),{element:i,name:r}=this.attribute;null===n?i.removeAttribute(r):i.setAttribute(r,n)}}class o_ extends r_{constructor(t,e){super(e),this.normalizedName=t}set(t,e,n){null!=e&&(this.value=e,t.__setProperty(this.normalizedName,e))}update(t,e){const{element:n}=this.attribute;this.value!==t&&(n[this.normalizedName]=this.value=t,null==t&&this.removeAttribute())}removeAttribute(){const{element:t,namespace:e}=this.attribute;e?t.removeAttributeNS(e,this.normalizedName):t.removeAttribute(this.normalizedName)}}class a_ extends o_{set(t,e,n){const{element:i,name:r}=this.attribute,s=e_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=e_(n,i,t);super.update(r,e)}}class l_ extends s_{set(t,e,n){const{element:i,name:r}=this.attribute,s=e_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=e_(n,i,t);super.update(r,e)}}class u_ extends o_{set(t,e){t.__setProperty("value",hm(e))}update(t){const e=this.attribute.element,n=e.value,i=hm(t);n!==i&&(e.value=i)}}class h_ extends o_{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function c_(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class d_{constructor(t){this.node=t}firstNode(){return this.node}}class p_{constructor(t){this.node=t}lastNode(){return this.node}}class f_{static forInitialRender(t,e){return new this(t,e.element,e.nextSibling).initialize()}static resume(t,e){let n=new this(t,e.parentElement(),e.reset(t)).initialize();return n.pushBlock(e),n}constructor(t,e,n){this.constructing=null,this.operations=null,this.cursors=new an,this.modifierStack=new an,this.blockStack=new an,this.pushElement(e,n),this.env=t,this.dom=t.getAppendOperations(),this.updateOperations=t.getDOM()}initialize(){return this.pushAppendingBlock(),this}debugBlocks(){return this.blockStack.toArray()}get element(){return this.cursors.current.element}get nextSibling(){return this.cursors.current.nextSibling}get hasBlocks(){return this.blockStack.size>0}block(){return this.blockStack.current}popElement(){this.cursors.pop(),this.cursors.current}pushAppendingBlock(){return this.pushBlock(new g_(this.element))}pushResettableBlock(){return this.pushBlock(new y_(this.element))}pushBlockList(t){return this.pushBlock(new __(this.element,t))}pushBlock(t,e=!1){let n=this.blockStack.current;return null!==n&&(e||n.didAppendBounds(t)),this.__openBlock(),this.blockStack.push(t),t}popBlock(){return this.block().finalize(this),this.__closeBlock(),this.blockStack.pop()}__openBlock(){}__closeBlock(){}openElement(t){let e=this.__openElement(t);return this.constructing=e,e}__openElement(t){return this.dom.createElement(t,this.element)}flushElement(t){let e=this.element,n=this.constructing;this.__flushElement(e,n),this.constructing=null,this.operations=null,this.pushModifiers(t),this.pushElement(n,null),this.didOpenElement(n)}__flushElement(t,e){this.dom.insertBefore(t,e,this.nextSibling)}closeElement(){return this.willCloseElement(),this.popElement(),this.popModifiers()}pushRemoteElement(t,e,n){return this.__pushRemoteElement(t,e,n)}__pushRemoteElement(t,e,n){if(this.pushElement(t,n),void 0===n)for(;t.lastChild;)t.removeChild(t.lastChild);let i=new m_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new nm(t,e))}pushModifiers(t){this.modifierStack.push(t)}popModifiers(){return this.modifierStack.pop()}didAppendBounds(t){return this.block().didAppendBounds(t),t}didAppendNode(t){return this.block().didAppendNode(t),t}didOpenElement(t){return this.block().openElement(t),t}willCloseElement(){this.block().closeElement()}appendText(t){return this.didAppendNode(this.__appendText(t))}__appendText(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createTextNode(t);return e.insertBefore(n,r,i),r}__appendNode(t){return this.dom.insertBefore(this.element,t,this.nextSibling),t}__appendFragment(t){let e=t.firstChild;if(e){let n=new im(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new im(this.element,t,t)}}__appendHTML(t){return this.dom.insertHTMLBefore(this.element,this.nextSibling,t)}appendDynamicHTML(t){let e=this.trustedContent(t);this.didAppendBounds(e)}appendDynamicText(t){let e=this.untrustedContent(t);return this.didAppendNode(e),e}appendDynamicFragment(t){let e=this.__appendFragment(t);this.didAppendBounds(e)}appendDynamicNode(t){let e=this.__appendNode(t),n=new im(this.element,e,e);this.didAppendBounds(n)}trustedContent(t){return this.__appendHTML(t)}untrustedContent(t){return this.__appendText(t)}appendComment(t){return this.didAppendNode(this.__appendComment(t))}__appendComment(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createComment(t);return e.insertBefore(n,r,i),r}__setAttribute(t,e,n){this.dom.setAttribute(this.constructing,t,e,n)}__setProperty(t,e){this.constructing[t]=e}setStaticAttribute(t,e,n){this.__setAttribute(t,e,n)}setDynamicAttribute(t,e,n,i){let r=n_(this.constructing,t,i);return r.set(this,e,this.env),r}}class g_{constructor(t){this.parent=t,this.first=null,this.last=null,this.nesting=0}parentElement(){return this.parent}firstNode(){return this.first.firstNode()}lastNode(){return this.last.lastNode()}openElement(t){this.didAppendNode(t),this.nesting++}closeElement(){this.nesting--}didAppendNode(t){0===this.nesting&&(this.first||(this.first=new d_(t)),this.last=new p_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class m_ extends g_{constructor(t){super(t),It(this,()=>{this.parentElement()===this.firstNode().parentNode&&sm(this)})}}class y_ extends g_{constructor(t){super(t)}reset(){At(this);let t=sm(this);return this.first=null,this.last=null,this.nesting=0,t}}class __{constructor(t,e){this.parent=t,this.boundList=e,this.parent=t,this.boundList=e}parentElement(){return this.parent}firstNode(){return this.boundList[0].firstNode()}lastNode(){let t=this.boundList;return t[t.length-1].lastNode()}openElement(t){}closeElement(){}didAppendNode(t){}didAppendBounds(t){}finalize(t){this.boundList.length}}function v_(t,e){return f_.forInitialRender(t,e)}class b_{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new an,this.env=t,this.dom=t.getDOM(),this.alwaysRevalidate=e}execute(t,e){this._execute(t,e)}_execute(t,e){let{frameStack:n}=this;for(this.try(t,e);!n.isEmpty();){let t=this.frame.nextStatement();void 0!==t?t.evaluate(this):n.pop()}}get frame(){return this.frameStack.current}goto(t){this.frame.goto(t)}try(t,e){this.frameStack.push(new C_(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class w_{constructor(t,e,n,i){this.state=t,this.context=e,this.children=i,this.bounds=n}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}evaluate(t){t.try(this.children,null)}}class x_ extends w_{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Pt(t);Tt(e,At)}(this);let i=f_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});Mt(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class S_ extends x_{constructor(t,e,n,i,r,s){super(t,e,n,[]),this.key=i,this.memo=r,this.value=s,this.retained=!1,this.index=-1}shouldRemove(){return!this.retained}reset(){this.retained=!1}}class E_ extends w_{constructor(t,e,n,i,r){super(t,e,n,i),this.iterableRef=r,this.type="list-block",this.opcodeMap=new Map,this.marker=null,this.lastIterator=Rn(r)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=Rn(this.iterableRef);if(this.lastIterator!==e){let{bounds:n}=this,{dom:i}=t,r=this.marker=i.createComment("");i.insertAfter(n.parentElement(),r,n.lastNode()),this.sync(e),this.parentElement().removeChild(r),this.marker=null,this.lastIterator=e}super.evaluate(t)}sync(t){let{opcodeMap:e,children:n}=this,i=0,r=0;for(this.children=this.bounds.boundList=[];;){let s=t.next();if(null===s)break;let o=n[i],{key:a}=s;for(;void 0!==o&&o.retained;)o=n[++i];if(void 0!==o&&o.key===a)this.retainItem(o,s),i++;else if(e.has(a)){let t=e.get(a);if(t.index{let i=e.enterItem(t);i.index=s.length,s.push(i),n.set(a,i),Mt(this,i)})}moveItem(t,e,n){let i,r,{children:s}=this;Pn(t.memo,e.memo),Pn(t.value,e.value),t.retained=!0,void 0===n?rm(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&rm(t,r)),t.index=s.length,s.push(t)}deleteItem(t){At(t),sm(t),this.opcodeMap.delete(t.key)}}class C_{constructor(t,e){this.ops=t,this.exceptionHandler=e,this.current=0}goto(t){this.current=t}nextStatement(){return this.ops[this.current++]}handleException(){this.exceptionHandler&&this.exceptionHandler.handleException()}}class k_{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,Mt(this,i),It(this,()=>sm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new b_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class T_{static restore(t,e){const n=new this(t.slice(),[0,-1,t.length-1,0]);return n.registers[0]=e,n.registers[3]=t.length-1,n.registers[2]=-1,n}constructor(t=[],e){this.stack=t,this.registers=e}push(t){this.stack[++this.registers[3]]=t}dup(t=this.registers[3]){this.stack[++this.registers[3]]=this.stack[t]}copy(t,e){this.stack[e]=this.stack[t]}pop(t=1){let e=this.stack[this.registers[3]];return this.registers[3]-=t,e}peek(t=0){return this.stack[this.registers[3]-t]}get(t,e=this.registers[2]){return this.stack[e+t]}set(t,e,n=this.registers[2]){this.stack[n+e]=t}slice(t,e){return this.stack.slice(t,e)}capture(t){let e=this.registers[3]+1,n=e-t;return this.stack.slice(n,e)}reset(){this.stack.length=0}}class R_{constructor(t,e){this.drop={},this.scope=new an,this.dynamicScope=new an,this.updating=new an,this.cache=new an,this.list=new an,this.destroyable=new an,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class P_{#g;get stack(){return this.lowlevel.stack}get pc(){return this.lowlevel.fetchRegister(0)}#m;fetch(t){let e=this.fetchValue(t);this.stack.push(e)}load(t){let e=this.stack.pop();this.loadValue(t,e)}loadValue(t,e){this.#m[t]=e}fetchValue(t){return function(t){return t<=3}(t)?this.lowlevel.fetchRegister(t):this.#m[t]}call(t){null!==t&&this.lowlevel.call(t)}return(){this.lowlevel.return()}#y;constructor({scope:t,dynamicScope:e,stack:n,pc:i},r,s){this.#m=[null,null,null,null,null,null,null,null,null];let o=T_.restore(n,i);this.#y=s,this.context=r,this.#g=new R_(t,e),this.args=new Im,this.lowlevel=new Gy(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=em.root(e.owner,e.scope??{self:mn,size:0});const i=function(t,e,n){return{pc:t,scope:e,dynamicScope:n,stack:[]}}(t.program.heap.getaddr(e.handle),n,e.dynamicScope);return new P_(i,t,e.tree)}compile(t){return zg(t.compile(this.context))}get constants(){return this.context.program.constants}get program(){return this.context.program}get env(){return this.context.env}captureClosure(t,e=this.lowlevel.fetchRegister(0)){return{pc:e,scope:this.scope(),dynamicScope:this.dynamicScope(),stack:this.stack.capture(t)}}capture(t,e=this.lowlevel.fetchRegister(0)){return new M_(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new ym;e.push(n),e.push(new _m(t)),this.#g.cache.push(n),_e()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=ve();t.push(new vm(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new x_(e,this.context,n,[]);this.didEnter(i)}enterItem({key:t,value:e,memo:n}){let{stack:i}=this,r=Un(e),s=Un(n);i.push(r),i.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new S_(o,this.context,a,t,s,r);return this.didEnter(l),l}registerItem(t){this.listBlock().initializeChild(t)}enterList(t,e){let n=[],i=this.lowlevel.target(e),r=this.capture(0,i),s=this.tree().pushBlockList(n),o=new E_(r,this.context,s,n,t);this.#g.list.push(o),this.didEnter(o)}didEnter(t){this.associateDestroyable(t),this.#g.destroyable.push(t),this.updateWith(t),this.pushUpdating(t.children)}exit(){this.#g.destroyable.pop(),this.#y.popBlock(),this.popUpdating()}exitList(){this.exit(),this.#g.list.pop()}pushRootScope(t,e){let n=em.sized(e,t);return this.#g.scope.push(n),n}pushChildScope(){this.#g.scope.push(this.scope().child())}pushScope(t){this.#g.scope.push(t)}popScope(){this.#g.scope.pop()}pushDynamicScope(){let t=this.dynamicScope().child();return this.#g.dynamicScope.push(t),t}bindDynamicScope(t){let e=this.dynamicScope();for(const n of Qe(t))e.set(n,this.stack.pop())}pushUpdating(t=[]){this.#g.updating.push(t)}popUpdating(){return this.#g.updating.pop()}updateWith(t){this.updating().push(t)}listBlock(){return this.#g.list.current}associateDestroyable(t){Mt(this.#g.destroyable.current,t)}updating(){return this.#g.updating.current}tree(){return this.#y}scope(){return this.#g.scope.current}dynamicScope(){return this.#g.dynamicScope.current}popDynamicScope(){this.#g.dynamicScope.pop()}getOwner(){return this.scope().owner}getSelf(){return this.scope().getSelf()}referenceForSymbol(t){return this.scope().getSymbol(t)}execute(t){return this._execute(t)}_execute(t){let e;t&&t(this);do{e=this.next()}while(!e.done);return e.value}next(){let t,{env:e}=this,n=this.lowlevel.nextStatement();return null!==n?(this.lowlevel.evaluateOuter(n,this),t={done:!1,value:null}):(this.stack.reset(),t={done:!0,value:new k_(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class M_{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new P_(this.state,this.context,t)}}class I_{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function O_(t,e,n,i,r,s=new tm){let o=zg(r.compile(t)),a=r.symbolTable.symbols.length,l=P_.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new I_(l)}function A_(t,e,n,i,r={},s=new tm){return function(t,e,n,i,r){const s=Object.keys(r).map(t=>[t,r[t]]),o=["main","else","attrs"],a=s.map(([t])=>`@${t}`);let l=t.constants.component(i,n,void 0,"{ROOT}");t.lowlevel.pushFrame();for(let c=0;c<3*o.length;c++)t.stack.push(null);t.stack.push(null),s.forEach(([,e])=>{t.stack.push(e)}),t.args.setup(t.stack,a,o,0,!0);const u=l.compilable,h={handle:zg(u.compile(e)),symbolTable:u.symbolTable};return t.stack.push(t.args),t.stack.push(h),t.stack.push(l),new I_(t)}(P_.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,i,function(t){const e=bn(t);return Object.keys(t).reduce((t,n)=>(t[n]=Mn(e,n),t),{})}(r))}class F_ extends nm{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class L_ extends f_{constructor(t,e,n){if(super(t,e,n),this.unmatchedAttributes=null,this.blockDepth=0,n)throw new Error("Rehydration with nextSibling not supported");let i=this.currentCursor.element.firstChild;for(;null!==i&&!D_(i);)i=i.nextSibling;this.candidate=i;const r=j_(i);if(0!==r){const t=r-1,e=this.dom.createComment(`%+b:${t}%`);i.parentNode.insertBefore(e,this.candidate);let n=i.nextSibling;for(;null!==n&&(!N_(n)||j_(n)!==r);)n=n.nextSibling;const s=this.dom.createComment(`%-b:${t}%`);i.parentNode.insertBefore(s,n.nextSibling),this.candidate=e,this.startingBlockOffset=t}else this.startingBlockOffset=0}get currentCursor(){return this.cursors.current}get candidate(){return this.currentCursor?this.currentCursor.candidate:null}set candidate(t){this.currentCursor.candidate=t}disableRehydration(t){const e=this.currentCursor;e.candidate=null,e.nextSibling=t}enableRehydration(t){const e=this.currentCursor;e.candidate=t,e.nextSibling=null}pushElement(t,e=null){const n=new F_(t,e,this.blockDepth||0);null!==this.candidate&&(n.candidate=t.firstChild,this.candidate=t.nextSibling),this.cursors.push(n)}clearMismatch(t){let e=t;const n=this.currentCursor;if(null!==n){const t=n.openBlockDepth;if(t>=n.startingBlockDepth)for(;e&&!(N_(e)&&t>=z_(e,this.startingBlockOffset));)e=this.remove(e);else for(;null!==e;)e=this.remove(e);this.disableRehydration(e)}}__openBlock(){const{currentCursor:t}=this;if(null===t)return;const e=this.blockDepth;this.blockDepth++;const{candidate:n}=t;if(null===n)return;const{tagName:i}=t.element;D_(n)&&z_(n,this.startingBlockOffset)===e?(this.candidate=this.remove(n),t.openBlockDepth=e):"TITLE"!==i&&"SCRIPT"!==i&&"STYLE"!==i&&this.clearMismatch(n)}__closeBlock(){const{currentCursor:t}=this;if(null===t)return;const e=t.openBlockDepth;this.blockDepth--;const{candidate:n}=t;let i=!1;if(null!==n)if(i=!0,N_(n)&&z_(n,this.startingBlockOffset)===e){const e=this.remove(n);this.candidate=e,t.openBlockDepth--}else this.clearMismatch(n),i=!1;if(!i){const e=t.nextSibling;if(null!==e&&N_(e)&&z_(e,this.startingBlockOffset)===this.blockDepth){const n=this.remove(e);this.enableRehydration(n),t.openBlockDepth--}}}__appendNode(t){const{candidate:e}=this;return e||super.__appendNode(t)}__appendHTML(t){const e=this.markerBounds();if(e){const t=e.firstNode(),n=e.lastNode(),i=new im(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&q_(r)&&(this.candidate=this.remove(r),null!==this.candidate&&this.clearMismatch(this.candidate)),i}return super.__appendHTML(t)}remove(t){const e=t.parentNode,n=t.nextSibling;return e.removeChild(t),n}markerBounds(){const t=this.candidate;if(t&&B_(t)){const e=t;let n=e.nextSibling;for(;!B_(n);)n=n.nextSibling;return new im(this.element,e,n)}return null}__appendText(t){const{candidate:e}=this;return e?3===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):8===(n=e).nodeType&&"%|%"===n.nodeValue||q_(e)&&""===t?(this.candidate=this.remove(e),this.__appendText(t)):(this.clearMismatch(e),super.__appendText(t)):super.__appendText(t);var n}__appendComment(t){const e=this.candidate;return e&&8===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):(e&&this.clearMismatch(e),super.__appendComment(t))}__openElement(t){const e=this.candidate;if(e&&U_(e)&&function(t,e){return t.namespaceURI===Ng?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(U_(e)&&"TBODY"===e.tagName)return this.pushElement(e,null),this.currentCursor.injectedOmittedNode=!0,this.__openElement(t);this.clearMismatch(e)}return super.__openElement(t)}__setAttribute(t,e,n){const i=this.unmatchedAttributes;if(i){const n=$_(i,t);if(n)return n.value!==e&&(n.value=e),void i.splice(i.indexOf(n),1)}return super.__setAttribute(t,e,n)}__setProperty(t,e){const n=this.unmatchedAttributes;if(n){const i=$_(n,t);if(i)return i.value!==e&&(i.value=e),void n.splice(n.indexOf(i),1)}return super.__setProperty(t,e)}__flushElement(t,e){const{unmatchedAttributes:n}=this;if(n){for(const t of n)this.constructing.removeAttribute(t.name);this.unmatchedAttributes=null}else super.__flushElement(t,e)}willCloseElement(){const{candidate:t,currentCursor:e}=this;null!==t&&this.clearMismatch(t),e&&e.injectedOmittedNode&&this.popElement(),super.willCloseElement()}getMarker(t,e){const n=t.querySelector(`script[glmr="${e}"]`);return n?jg(n):null}__pushRemoteElement(t,e,n){const i=this.getMarker(t,e);if(!i||i.parentNode,void 0===n){for(;null!==t.firstChild&&t.firstChild!==i;)this.remove(t.firstChild);n=null}const r=new F_(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new m_(t);return this.pushBlock(s,!0)}didAppendBounds(t){if(super.didAppendBounds(t),this.candidate){const e=t.lastNode();this.candidate=e.nextSibling}return t}}function D_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function N_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function j_(t){return parseInt(t.nodeValue.slice(4),10)}function z_(t,e){return j_(t)-e}function U_(t){return 1===t.nodeType}function B_(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function q_(t){return 8===t.nodeType&&"% %"===t.nodeValue}function $_(t,e){for(const n of t)if(n.name===e)return n}function G_(t,e){return L_.forInitialRender(t,e)}const V_=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:im,CurriedValue:Zg,CursorImpl:nm,DOMChanges:wy,DOMTreeConstruction:my,DynamicAttribute:r_,DynamicScopeImpl:tm,EMPTY_ARGS:Km,EMPTY_NAMED:Wm,EMPTY_POSITIONAL:Hm,EnvironmentImpl:ky,IDOMChanges:vy,LowLevelVM:Gy,NewTreeBuilder:f_,RehydrateTree:L_,RemoteBlock:m_,ResettableBlockImpl:y_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:em,SimpleDynamicAttribute:s_,TEMPLATE_ONLY_COMPONENT_MANAGER:oy,TemplateOnlyComponent:ay,TemplateOnlyComponentManager:sy,UpdatingVM:b_,array:Iy,clear:sm,clientBuilder:v_,concat:Ay,createCapturedArgs:zm,curry:Qg,destroy:At,dynamicAttribute:n_,fn:Fy,get:Ly,hash:Dy,inTransaction:Ry,invokeHelper:function(t,e,n){const i=Xi(t),r=vi(e).getDelegateFor(i);let s,o=new jy(t,n),a=r.createHelper(e,o);if(!si(r))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=Re(()=>r.getValue(a)),Mt(t,s),oi(r)&&Mt(s,r.getDestroyable(a)),s},isDestroyed:Dt,isDestroying:Lt,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},isWhitespace:function(t){return yy.test(t)},normalizeProperty:xy,on:$y,registerDestructor:It,rehydrationBuilder:G_,reifyArgs:function(t){return{named:Um(t.named),positional:Bm(t.positional)}},reifyNamed:Um,reifyPositional:Bm,renderComponent:A_,renderMain:O_,renderSync:function(t,e){let n;return Ry(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){ny=ey},runtimeOptions:Ty,setDebuggerCallback:function(t){ny=t},templateOnlyComponent:ly},Symbol.toStringTag,{value:"Module"})),W_=$y,H_=Symbol("MUTABLE_CELL"),K_=Cg({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),X_=Cg({id:"Cc/BCoQJ",block:'[[[11,"input"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,4,[30,0,["type"]]],[16,"checked",[30,0,["checked"]]],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/input.hbs",scope:()=>[W_],isStrictMode:!0});function Y_(){}class Z_{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,Zi(this,t)}get id(){return U(this)}get class(){return"ember-view"}validateArguments(){for(let t of Object.keys(this.args.named))this.isSupportedArgument(t)||this.onUnsupportedArgument(t)}named(t){let e=this.args.named[t];return e?Rn(e):void 0}positional(t){let e=this.args.positional[t];return e?Rn(e):void 0}listenerFor(t){return this.named(t)||Y_}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${U(this)}>`}}const J_=new WeakMap;function Q_(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return J_.set(n,t),bi(ev,n),Ni(e,n),n}const tv={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},ev=new class{getCapabilities(){return tv}create(t,e,n,i,r,s){var o;let a=new(o=e,J_.get(o))(t,n.capture(),Rn(s));return Oe(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return bn(t)}getDestroyable(t){return t}},nv=Object.freeze({});function iv(t){return function(t){return t.target}(t).value}function rv(t){return void 0===t?new sv(void 0):kn(t)?new sv(Rn(t)):Tn(t)?new ov(t):new av(t)}class sv{static{Qh(this.prototype,"value",[ys])}#_=void nc(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class ov{constructor(t){this.reference=t}get(){return Rn(this.reference)}set(t){Pn(this.reference,t)}}class av{local;upstream;lastUpstreamValue=nv;constructor(t){this.upstream=new ov(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new sv(t)),this.local.get()}set(t){this.local.set(t)}}class lv extends Z_{validateArguments(){super.validateArguments()}_value=rv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=iv(t)}static{ec(this.prototype,"valueDidChange",[ch])}change(t){this.valueDidChange(t)}input(t){this.valueDidChange(t)}keyUp(t){switch(t.key){case"Enter":this.listenerFor("enter")(t),this.listenerFor("insert-newline")(t);break;case"Escape":this.listenerFor("escape-press")(t)}}static{ec(this.prototype,"keyUp",[ch])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(iv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let uv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,uv=n=>{let i=t[n];if(void 0===i){try{e.type=n,i=e.type===n}catch(r){i=!1}finally{e.type="text"}t[n]=i}return i}}else uv=t=>""!==t;class hv extends lv{static toString(){return"Input"}get class(){return this.isCheckbox?"ember-checkbox ember-view":"ember-text-field ember-view"}get type(){let t=this.named("type");return null==t?"text":uv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=rv(this.args.named.checked);get checked(){return this.isCheckbox?this._checked.get():void 0}set checked(t){this._checked.set(t)}change(t){this.isCheckbox?this.checkedDidChange(t):super.change(t)}static{ec(this.prototype,"change",[ch])}input(t){this.isCheckbox||super.input(t)}static{ec(this.prototype,"input",[ch])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{ec(this.prototype,"checkedDidChange",[ch])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const cv=Q_(hv,X_),dv=Cg({id:"7Z3LFeO/",block:'[[[11,3],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[16,"role",[30,0,["role"]]],[16,"title",[30,0,["title"]]],[16,"rel",[30,0,["rel"]]],[16,"tabindex",[30,0,["tabindex"]]],[16,"target",[30,0,["target"]]],[17,1],[16,6,[30,0,["href"]]],[4,[32,0],["click",[30,0,["click"]]],null],[12],[18,2,null],[13]],["&attrs","&default"],["yield"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/link-to.hbs",scope:()=>[W_],isStrictMode:!0}),pv=[],fv={};function gv(t){return null==t}function mv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class yv extends Z_{static toString(){return"LinkTo"}static{Qh(this.prototype,"routing",[df("-routing")])}#v=void nc(this,"routing");validateArguments(){super.validateArguments()}get class(){let t="ember-view";return this.isActive?(t+=this.classFor("active"),!1===this.willBeActive&&(t+=" ember-transitioning-out")):this.willBeActive&&(t+=" ember-transitioning-in"),this.isLoading&&(t+=this.classFor("loading")),this.isDisabled&&(t+=this.classFor("disabled")),t}get href(){if(this.isLoading)return"#";let{routing:t,route:e,models:n,query:i}=this;return Se(Ve(t,"currentState")),t.generateURL(e,n,i)}click(t){if(!ph(t))return;let e=t.currentTarget;if(""!==e.target&&"_self"!==e.target)return;if(this.preventDefault(t),this.isDisabled)return;if(this.isLoading)return;let{routing:n,route:i,models:r,query:s,replace:o}=this,a={transition:void 0};Uh(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{ec(this.prototype,"click",[ch])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=Re(()=>(Se(Ve(this.routing,"currentState")),Oe(()=>this.routing.currentRouteName)));get currentRoute(){return Pe(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:pv}get query(){return"query"in this.args.named?{...this.named("query")}:fv}get replace(){return!0===this.named("replace")}get isActive(){return this.isActiveForState(this.routing.currentState)}get willBeActive(){let t=this.routing.currentState,e=this.routing.targetState;return t===e?null:this.isActiveForState(e)}get isLoading(){return gv(this.route)||this.models.some(t=>gv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==Uc(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||gv(e)?` ${t}`:e?` ${e}`:""}namespaceRoute(t){let{engineMountPoint:e}=this;return void 0===e?t:"application"===t?e:`${e}.${t}`}isActiveForState(t){if(!function(t){return!gv(t)}(t))return!1;if(this.isLoading)return!1;let e=this.named("current-when");if("boolean"==typeof e)return e;if("string"==typeof e){let{models:n,routing:i}=this;return e.split(" ").some(e=>i.isActiveForRoute(n,void 0,this.namespaceRoute(e),t))}{let{route:e,models:n,query:i,routing:r}=this;return r.isActiveForRoute(n,i,e,t)}}preventDefault(t){t.preventDefault()}isSupportedArgument(t){return-1!==["route","model","models","query","replace","disabled","current-when","activeClass","loadingClass","disabledClass"].indexOf(t)||super.isSupportedArgument(t)}}let{prototype:_v}=yv,vv=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||vv(Object.getPrototypeOf(t),e):null;{let t=_v.onUnsupportedArgument;Object.defineProperty(_v,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=vv(_v,"models").get;Object.defineProperty(_v,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&mv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=vv(_v,"query").get;Object.defineProperty(_v,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return mv(t)?t.values??fv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(mv(t)&&null!==t.values)return t.values}return fv}}})}{let t=_v.onUnsupportedArgument;Object.defineProperty(_v,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const bv=Q_(yv,dv),wv=Cg({id:"KVdeMchh",block:'[[[11,"textarea"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/textarea.hbs",scope:()=>[W_],isStrictMode:!0});class xv extends lv{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{ec(this.prototype,"change",[ch])}input(t){super.input(t)}static{ec(this.prototype,"input",[ch])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const Sv=Q_(xv,wv);function Ev(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function Cv(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?Mn(t,e[0]):In(t,e)}function kv(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function Tv(t,e,n,i){let[r,s,o]=n;if("id"===s){let e=us(t,r);null==e&&(e=t.elementId);let n=gn(e);return void i.setAttribute("id",n,!0,null)}let a=r.indexOf(".")>-1?Cv(e,r.split(".")):Mn(e,r);i.setAttribute(s,a,!1,null)}function Rv(t,e){let n;return xn(()=>{let i=Rn(t);return!0===i?n||(n=of(e)):i||0===i?String(i):null})}function Pv(){}class Mv{classRef=null;rootRef;argsRevision;constructor(t,e,n,i,r,s){this.component=t,this.args=e,this.argsTag=n,this.finalizer=i,this.hasWrappedElement=r,this.isInteractive=s,this.classRef=null,this.argsRevision=null===e?0:Zt(n),this.rootRef=bn(t),It(this,()=>this.willDestroy(),!0),It(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){be(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),we();let e=bh(t);e&&(Sh(e),Eh(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=Pv}}function Iv(t){let e=Object.create(null),n=Object.create(null);for(let i in t){let r=t[i],s=Rn(r);Tn(r)?e[i]=new Av(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const Ov=Symbol("REF");class Av{value;[H_];[Ov];constructor(t,e){this[H_]=!0,this[Ov]=t,this.value=e}update(t){Pn(this[Ov],t)}}const Fv=ut("ARGS"),Lv=ut("HAS_BLOCK"),Dv=Symbol("DIRTY_TAG"),Nv=Symbol("IS_DISPATCHING_ATTRS"),jv=Symbol("BOUNDS"),zv=gn("ember-view");class Uv{templateFor(t){let e,{layout:n,layoutName:i}=t,r=Yi(t);if(void 0===n){if(void 0===i)return null;e=r.lookup(`template:${i}`)}else{if("function"!=typeof n)return null;e=n}return Ev(e(r)).asWrappedLayout()}getDynamicLayout(t){return this.templateFor(t.component)}getTagName(t){let{component:e,hasWrappedElement:n}=t;return n?e&&e.tagName||"div":null}getCapabilities(){return $v}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),i=Rn(t);return{positional:i.positional,named:{...n,...i.named}}}const{positionalParams:n}=t.class??t;if(null==n||0===e.positional.length)return null;let i;if("string"==typeof n){let t=e.positional.capture();i={[n]:xn(()=>Bm(t))},Object.assign(i,e.named.capture())}else{if(!(Array.isArray(n)&&n.length>0))return null;{const t=Math.min(n.length,e.positional.length);i={},Object.assign(i,e.named.capture());for(let r=0;r{s.setAttribute("class",gn(t),!1,null)}),l&&l.length&&l.forEach(t=>{!function(t,e,n){let i=e.split(":"),[r,s,o]=i;if(""===r)n.setAttribute("class",gn(s),!0,null);else{let e,i=r.indexOf(".")>-1,a=i?r.split("."):[],l=i?Cv(t,a):Mn(t,r);e=void 0===s?Rv(l,i?a[a.length-1]:r):function(t,e,n){return xn(()=>Rn(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(i,t,s)}),s.setAttribute("class",zv,!1,null),"ariaRole"in t&&s.setAttribute("role",Mn(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(be(),t.trigger("willInsertElement"),we())}didRenderLayout(t,e){t.component[jv]=e,t.finalize()}didCreate({component:t,isInteractive:e}){e&&(t._transitionTo("inDOM"),t.trigger("didInsertElement"),t.trigger("didRender"))}update(t){let{component:e,args:n,argsTag:i,argsRevision:r,isInteractive:s}=t;if(t.finalizer=qh("render.component",qv,e),be(),null!==n&&!Jt(i,r)){_e();let r=Iv(n);i=t.argsTag=ve(),t.argsRevision=Zt(i),e[Nv]=!0,e.setProperties(r),e[Nv]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),we(),Se(i),Se(e[Dv])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function Bv(t){return t.instrumentDetails({initialRender:!0})}function qv(t){return t.instrumentDetails({initialRender:!1})}const $v={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!0,hasSubOwner:!1},Gv=new Uv;function Vv(t){return t===Gv}let Wv=new WeakMap;const Hv=Object.freeze([]);class Kv extends(oc.extend(Nl,ac,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:Hv,classNameBindings:Hv})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[Nv]=!1,this[Dv]=ie(),this[jv]=null;const e=this._dispatcher;if(e){let t=Wv.get(e);t||(t=new WeakSet,Wv.set(e,t));let n=Object.getPrototypeOf(this);t.has(n)||(e.lazyEvents.forEach((t,n)=>{null!==t&&"function"==typeof this[t]&&e.setupHandlerForBrowserEvent(n)}),t.add(n))}this.elementId||""===this.tagName||(this.elementId=U(this))}__dispatcher;get _dispatcher(){if(void 0===this.__dispatcher){let t=Yi(this);if(t.lookup("-environment:main").isInteractive){let e=t.lookup("event_dispatcher:main");this.__dispatcher=e}else this.__dispatcher=null}return this.__dispatcher}on(t,e,n){return this._dispatcher?.setupHandlerForEmberEvent(t),super.on(t,e,n)}_rerender(){ee(this[Dv]),this._superRerender()}[$r](t,e){if(this[Nv])return;let n=this[Fv],i=void 0!==n?n[t]:void 0;void 0!==i&&Tn(i)&&Pn(i,2===arguments.length?e:us(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=bh(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=xy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return kh(this)}static{ec(this.prototype,"childViews",[ur({configurable:!1,enumerable:!1})])}appendChild(t){Th(this,t)}_transitionTo(t){let e=this._currentState,n=this._currentState=this._states[t];this._state=t,e&&e.exit&&e.exit(this),n.enter&&n.enter(this)}nearestOfType(t){let e=this.parentView;for(;e;){if(t.detect(e.constructor))return e;e=e.parentView}}nearestWithProperty(t){let e=this.parentView;for(;e;){if(t in e)return e;e=e.parentView}}rerender(){return this._currentState.rerender(this)}get element(){return this.renderer.getElement(this)}static{ec(this.prototype,"element",[ur({configurable:!1,enumerable:!1})])}appendTo(t){let n;return n=e&&"string"==typeof t?document.querySelector(t):t,this.renderer.appendTo(this,n),this}append(){return this.appendTo(document.body)}willInsertElement(){return this}didInsertElement(){return this}willClearRender(){return this}destroy(){return super.destroy(),this._currentState.destroy(this),this}willDestroyElement(){return this}didDestroyElement(){return this}parentViewDidChange(){return this}handleEvent(t,e){return this._currentState.handleEvent(this,t,e)}static isComponentFactory=!0;static toString(){return"@ember/component"}}Kv.reopenClass({positionalParams:[]}),bi(Gv,Kv);const Xv=Symbol("RECOMPUTE_TAG"),Yv=Symbol("IS_CLASSIC_HELPER");class Zv extends Dh{static isHelperFactory=!0;static[Yv]=!0;static helper=nb;init(t){super.init(t),this[Xv]=ie()}recompute(){ea(()=>ee(this[Xv]))}}class Jv{capabilities=ri(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};Zi(e,t),this.ownerInjection=e}createHelper(t,e){var n;return{instance:null!=(n=t)&&"class"in n?t.create():t.create(this.ownerInjection),args:e}}getDestroyable({instance:t}){return t}getValue({instance:t,args:e}){let{positional:n,named:i}=e,r=t.compute(n,i);return Se(t[Xv]),r}getDebugName(t){return B((t.class||t).prototype)}}Fi(t=>new Jv(t),Zv);const Qv=vi(Zv);class tb{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const eb=new class{capabilities=ri(0,{hasValue:!0});createHelper(t,e){return()=>t.compute.call(null,e.positional,e.named)}getValue(t){return t()}getDebugName(t){return B(t.compute)}};function nb(t){return new tb(t)}function ib(t){return{object:`${t.name}:main`}}Fi(()=>eb,tb.prototype);const rb={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},sb=ti(rb),ob=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:qh("render.outlet",ib,e)};if(void 0!==i.debugRenderTree){let t=Rn(s),e=t?.render?.owner,n=Rn(o),i=n?.render?.owner;if(e&&e!==i){let{mountPoint:t}=i;t&&(a.engine={mountPoint:t,instance:i})}}return a}getDebugName({name:t}){return`{{outlet}} for ${t}`}getDebugCustomRenderTree(t,e){let n=[];return n.push({bucket:e,type:"outlet",name:"main",args:Km,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Km,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return rb}getSelf(){return mn}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},ab=Cg({id:"Hacwyo/Q",block:'[[[8,[30,1],null,[["@controller","@model"],[[30,2],[30,3]]],null]],["@Component","@controller","@model"],[]]',moduleName:"/home/runner/work/ember.js/ember.js/packages/@ember/-internals/glimmer/lib/component-managers/outlet.ts",isStrictMode:!0});class lb{handle=-1;resolvedName=null;manager=ob;capabilities=sb;compilable;constructor(t,e){this.state=e,this.compilable=Ev(ab(t)).asLayout()}}class ub extends Uv{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=qh("render.component",Bv,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new Mv(s,null,se,o,a,i);return Se(s[Dv]),l}}const hb={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!1,createArgs:!1,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!1,hasSubOwner:!1};class cb{handle=-1;resolvedName="-top-level";state;manager;capabilities=ti(hb);compilable=null;constructor(t){this.manager=new ub(t);let e=nl(t);this.state=e}}function db(t){return yi(t,{})}class pb{constructor(t){this.inner=t}}const fb=db(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return Se(er(t)),Bi(t)&&(t=Il(t)),new pb(t)})});class gb{position=0;constructor(t){this.length=t}isEmpty(){return!1}memoFor(t){return t}next(){let{length:t,position:e}=this;if(e>=t)return null;let n=this.valueFor(e),i=this.memoFor(e);return this.position++,{value:n,memo:i}}}class mb extends gb{static from(t){return t.length>0?new this(t):null}static fromForEachable(t){let e=[];return t.forEach(t=>e.push(t)),this.from(e)}constructor(t){super(t.length),this.array=t}valueFor(t){return this.array[t]}}class yb extends gb{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return Ji(this.array,t)}}class _b extends gb{static fromIndexable(t){let e=Object.keys(t);if(0===e.length)return null;{let n=[];for(let i of e){let e;e=t[i],xe()&&(Se(Ve(t,i)),Array.isArray(e)&&Se(Ve(e,"[]"))),n.push(e)}return new this(e,n)}}static fromForEachable(t){let e=[],n=[],i=0,r=!1;return t.forEach(function(t,s){r=r||arguments.length>=2,r&&e.push(s),n.push(t),i++}),0===i?null:r?new this(e,n):new mb(n)}constructor(t,e){super(e.length),this.keys=t,this.values=e}valueFor(t){return this.values[t]}memoFor(t){return this.keys[t]}}class vb{static from(t){let e=t[Symbol.iterator](),n=e.next(),{done:i}=n;return i?null:new this(e,n)}position=0;constructor(t,e){this.iterable=t,this.result=e}isEmpty(){return!1}next(){let{iterable:t,result:e,position:n}=this;if(e.done)return null;let i=this.valueFor(e,n),r=this.memoFor(e,n);return this.position++,this.result=t.next(),{value:i,memo:r}}}class bb extends vb{valueFor(t){return t.value}memoFor(t,e){return e}}class wb extends vb{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function xb(t){return null!=t&&"function"==typeof t.forEach}function Sb(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var Eb;Eb={scheduleRevalidate(){Qo.ensureInstance()},toBool:function(t){return Bi(t)?(Se(tr(t,"content")),Boolean(us(t,"isTruthy"))):kc(t)?(Se(tr(t,"[]")),0!==t.length):null!==(e=t)&&"object"==typeof e&&"function"==typeof e.toHTML?Boolean(t.toString()):Boolean(t);var e},toIterator:function(t){return t instanceof pb?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||Gi(t)?_b.fromIndexable(t):Sb(t)?wb.from(t):xb(t)?_b.fromForEachable(t):_b.fromIndexable(t):null}(t.inner):function(t){return O(t)?Array.isArray(t)?mb.from(t):Gi(t)?yb.from(t):Sb(t)?bb.from(t):xb(t)?mb.fromForEachable(t):null:null}(t)},getProp:hs,setProp:ws,getPath:us,setPath:bs,scheduleDestroy(t,e){ia("actions",null,e,t)},scheduleDestroyed(t){ia("destroy",null,t)}},Et=Eb.scheduleRevalidate,ft=Eb.scheduleDestroy,gt=Eb.scheduleDestroyed,mt=Eb.toIterator,yt=Eb.toBool,_t=Eb.getProp,vt=Eb.setProp,bt=Eb.getPath,wt=Eb.setPath;class Cb{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const kb=db(({positional:t,named:e})=>{const n=t[0];let i=e.type,r=e.loc,s=e.original;return Rn(i),Rn(r),Rn(s),xn(()=>Rn(n))});let Tb;Tb=t=>t.positional[0];const Rb=db(Tb),Pb=db(({positional:t})=>xn(()=>{let e=t[0],n=t[1],i=Rn(e).split("."),r=i[i.length-1],s=Rn(n);return!0===s?of(r):s||0===s?String(s):""})),Mb=db(({positional:t},e)=>{let n=Rn(t[0]);return bn(e.factoryFor(n)?.class)}),Ib=db(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return O(t)&&Se(tr(t,"[]")),t})}),Ob=db(({positional:t})=>Cn(t[0])),Ab=db(({positional:t})=>Sn(t[0])),Fb=db(({positional:t,named:e})=>wn(Rn(t[0]))),Lb=db(()=>bn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),Db={dynamicLayout:!0,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!0},Nb=new class{getDynamicLayout(t){return Ev(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return Db}getOwner(t){return t.engine}create(t,{name:e},n,i){let r=t.buildChildEngineInstance(e);r.boot();let s,o,a,l,u=r.factoryFor("controller:application")||Ud(r,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=u.create(),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l};else{let t=Rn(l);s=u.create({model:t}),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l}}return i.debugRenderTree&&Mt(r,s),a}getDebugName({name:t}){return t}getDebugCustomRenderTree(t,e,n,i){return[{bucket:e.engine,instance:e.engine,type:"engine",name:t.name,args:n},{bucket:e.controller,instance:e.controller,type:"route-template",name:"application",args:n,template:i}]}getSelf({self:t}){return t}getDestroyable(t){return t.engine}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}update(t){let{controller:e,modelRef:n}=t;void 0!==n&&e.set("model",Rn(n))}};class jb{handle=-1;state;manager=Nb;compilable=null;capabilities=ti(Db);constructor(t){this.resolvedName=t,this.state={name:t}}}const zb=db((t,e)=>{let n,i,r,s=t.positional[0];return n=zm(t.named,Hm),xn(()=>{let t=Rn(s);return"string"==typeof t?(i===t||(i=t,r=Qg(0,new jb(t),e,n,!0)),r):(r=null,i=null,null)})}),Ub={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},Bb=ti(Ub),qb=new class{create(t,e,n){let i=n.named.get("controller");return{self:i,controller:Rn(i)}}getSelf({self:t}){return t}getDebugName({name:t}){return`route-template (${t})`}getDebugCustomRenderTree({name:t,templateName:e},n,i){return[{bucket:n,type:"route-template",name:t,args:i,instance:n.controller,template:e}]}getCapabilities(){return Ub}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class $b{handle=-1;resolvedName;state;manager=qb;capabilities=Bb;compilable;constructor(t,e){let n=Ev(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Gb(t,e,n){return Qg(0,new $b(e,n),t,null,!0)}const Vb=db((t,e,n)=>{let i=xn(()=>{let t=Rn(n.get("outletState"));return t?.outlets?.main}),r=null,s=null;return xn(()=>{let t=Rn(i),n=function(t,e){if(void 0===e)return null;let n=e.render;if(void 0===n)return null;let i=n.template;return null==i?null:{ref:t,name:n.name,template:i,controller:n.controller}}(i,t);if(!function(t,e){return null!==t&&null!==e&&t.template===e.template&&t.controller===e.controller}(n,r))if(r=n,null!==n){let o,a=t?.render?.owner??e,l=rn(),u=n.template;o=xi(u)?u:Gb(a,n.name,u),l.Component=bn(o),l.controller=bn(n.controller);let h=In(i,["render","model"]),c=Rn(h);l.model=xn(()=>(r===n&&(c=Rn(h)),c));let d=zm(l,Hm);s=Qg(0,new lb(e,n),a,d,!0)}else s=null;return s})});function Wb(t){return{object:`component:${t}`}}const Hb={mut:Ob,readonly:Ab,unbound:Fb,"-hash":Dy,"-each-in":fb,"-normalize-class":Pb,"-resolve":Mb,"-track-array":Ib,"-mount":zb,"-outlet":Vb,"-in-el-null":Rb},Kb={...Hb,array:Iy,concat:Ay,fn:Fy,get:Ly,hash:Dy,"unique-id":Lb};Kb["-disallow-dynamic-resolution"]=kb;const Xb={},Yb={...Xb,on:$y};class Zb{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Kb[t];if(void 0!==n)return n;let i=e.factoryFor(`helper:${t}`);if(void 0===i)return null;let r=i.class;return void 0===r?null:"function"==typeof r&&!0===r[Yv]?(yi(Qv,i),i):r}lookupBuiltInHelper(t){return Hb[t]??null}lookupModifier(t,e){let n=Yb[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Xb[t]??null}lookupComponent(t,e){let n=function(t,e){let n=function(t,e){let n=`component:${t}`;return e.factoryFor(n)||null}(e,t);if(null!=(i=n)&&"function"==typeof i.create&&n.class){let t=ji(n.class);if(void 0!==t)return{component:n,layout:t}}var i;return null===n?null:{component:n,layout:null}}(e,t);if(null===n)return null;let i,r=null;i=null===n.component?r=n.layout(e):n.component;let s=this.componentDefinitionCache.get(i);if(void 0!==s)return s;null===r&&null!==n.layout&&(r=n.layout(e));let o=qh("render.getComponentDefinition",Wb,t),a=null;if(null===n.component)a={state:ly(void 0,t),manager:oy,template:r};else{let t=n.component,e=t.class,i=wi(e);a={state:Vv(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Jb="-top-level";class Qb{static extend(t){return class extends Qb{static create(e){return e?super.create(Object.assign({},t,e)):super.create(t)}}}static reopenClass(t){Object.assign(this,t)}static create(t){let{environment:e,application:n,template:i}=t,r=Yi(t),s=i(r);return new Qb(e,r,s,n)}ref;state;constructor(t,e,n,i){this._environment=t,this.owner=e,this.template=n,this.namespace=i;let r=ie(),s={outlets:{main:void 0},render:{owner:e,name:Jb,controller:void 0,model:void 0,template:n}},o=this.ref=xn(()=>(Se(r),s),t=>{ee(r),s.outlets.main=t});this.state={ref:o,name:Jb,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,ia("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){Pn(this.ref,t)}destroy(){}}class tw{constructor(t,e){this.view=t,this.outletState=e}child(){return new tw(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const ew=()=>{};class nw{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=A_(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();Mt(this,this.#b),this.#w=()=>{if(!Lt(r)&&!Dt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){At(this)}get destroyed(){return Dt(this)}get result(){return this.#b}}class iw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Qb?U(t):mh(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=Ev(i).asLayout(),l=O_(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),u=this.result=l.sync();Mt(n,u),this.render=()=>{if(!Lt(u)&&!Dt(u))return u.rerender({alwaysRevalidate:!1})}}}isFor(t){return this.root===t}destroy(){let{result:t,env:e}=this;this.destroyed=!0,this.root=null,this.result=void 0,this.render=void 0,void 0!==t&&Ry(e,()=>At(t))}}const rw=[];function sw(t){let e=rw.indexOf(t);rw.splice(e,1)}let ow=null,aw=0;Qo.on("begin",function(){for(let t of rw)t.rerender()}),Qo.on("end",function(){for(let t of rw)if(!t.isValid()){if(aw>g._RERENDER_LOOP_LIMIT)throw aw=0,t.destroy(),new Error("infinite rendering invalidation detected");return aw++,Qo.join(null,ew)}aw=0,function(){if(null!==ow){let t=ow.resolve;ow=null,Qo.join(null,t)}}()});class lw{static create(t,e){const n=new lw(t,e);return Mt(e,n),n}#x;#S=-1;#E=!1;#C=!1;#k=[];#T=[];constructor(t,e){this.#x=t,It(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#k,inRenderTransaction:this.#E,isInteractive:this.isInteractive}}get roots(){return this.#k}get owner(){return this.#x.owner}get builder(){return this.#x.builder}get context(){return this.#x.context}get env(){return this.context.env}get isInteractive(){return this.#x.context.env.isInteractive}renderRoot(t,e){let n=this.#k;return n.push(t),Mt(this,t),1===n.length&&function(t){rw.push(t)}(e),this.#R(e),t}#R(t){if(this.#E)return;this.#E=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#S=Zt(he)),this.#E=!1}}renderRoots(t){let e,n=this.#k,i=this.#T;do{e=n.length,Ry(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=Zt(he)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#k.length&&sw(t)}scheduleRevalidate(t){Qo.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#C||0===this.#k.length||Jt(he,this.#S)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#k;for(let n of e)At(n);this.#T.length=0,this.#k=[],e.length&&sw(t)}}class uw{static strict(t,n,i){return new uw(t,{hasDOM:e,...i},n,new Zb,v_)}state;constructor(t,e,n,i,r){let s={constants:new Og,heap:new Fg},o=Ty({document:n},new Cb(t,e.isInteractive),s,i),a=new wg(s,t=>new Ag(t),o);this.state=lw.create({owner:t,context:a,builder:r},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){At(this)}render(t,e){const n=new nw(this.state,t,{args:e.args,into:(i=e.into,"element"in i?i:{element:i,nextSibling:null})});var i;return this.state.renderRoot(n,this)}rerender(){this.state.scheduleRevalidate(this)}}class hw extends uw{static strict(t,n,i){return new uw(t,{hasDOM:e,...i},n,new Zb,v_)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=Yi(t),i=n.lookup("service:-document"),r=n.lookup("-environment:main"),s=n.lookup(ul`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=v_,o=new Zb){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new lb((i=t).owner,i.state);var i;let{name:r,template:s}=t.state,o=rn();o.Component=bn(Gb(t.owner,r,s)),o.controller=mn,o.model=mn;let a=zm(o,Hm);this._appendDefinition(t,Qg(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new cb(t);this._appendDefinition(t,Qg(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=bn(e),r=new tw(null,mn),s=new iw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(Dt(this))return;let e=this.state.roots,n=e.length;for(;n--;){let i=e[n];"classic"===i.type&&i.isFor(t)&&(i.destroy(),e.splice(n,1))}}remove(t){t._transitionTo("destroying"),this.cleanupRootFor(t),this.state.isInteractive&&t.trigger("didDestroyElement")}get _roots(){return this.state.debug.roots}get _inRenderTransaction(){return this.state.debug.inRenderTransaction}get _isInteractive(){return this.state.debug.isInteractive}get _context(){return this.state.context}register(t){let e=mh(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[mh(t)]}getElement(t){if(this._isInteractive)return bh(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[jv];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const cw=Cg({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[Vb],isStrictMode:!0});class dw extends Bc{rootElement=null;init(t){super.init(t),this.application._watchInstance(this),this.register("-application-instance:main",this,{instantiate:!1})}_bootSync(t){return this._booted||(t=new pw(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&bs(this.router,"location",t.location),this.application.runInstanceInitializers(this),t.isInteractive&&this.setupEventDispatcher(),this._booted=!0),this}setupRegistry(t){this.constructor.setupRegistry(this.__registry__,t)}_router;get router(){if(!this._router){let t=this.lookup("router:main");this._router=t}return this._router}didCreateRootView(t){t.appendTo(this.rootElement)}startRouting(){this.router.startRouting()}setupRouter(){this.router.setupRouter()}handleURL(t){return this.setupRouter(),this.router.handleURL(t)}setupEventDispatcher(){let t=this.lookup("event_dispatcher:main"),e=us(this.application,"customEvents"),n=us(this,"customEvents"),i=Object.assign({},e,n);return t.setup(i,this.rootElement),t}getURL(){return this.router.url}visit(t){this.setupRouter();let e=this.__container__.lookup("-environment:main"),n=this.router,i=()=>e.options.shouldRender?(null===ow&&(ow=Vu.defer(),Yo()||Qo.schedule("actions",null,ew)),ow.promise).then(()=>this):this,r=t=>{if(t.error&&t.error instanceof Error)throw t.error;if("TransitionAborted"===t.name&&n._routerMicrolib.activeTransition)return n._routerMicrolib.activeTransition.then(i,r);throw"TransitionAborted"===t.name?new Error(t.message):t},s=us(n,"location");return s.setURL(t),n.handleURL(s.getURL()).then(i,r)}willDestroy(){super.willDestroy(),this.application._unwatchInstance(this)}static setupRegistry(t,e={}){let n=e instanceof pw?e:new pw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class pw{isInteractive;_renderMode;isBrowser;location=null;shouldRender;document;rootElement;constructor(t={}){this.isInteractive=Boolean(e),this._renderMode=t._renderMode,void 0!==t.isBrowser?this.isBrowser=Boolean(t.isBrowser):this.isBrowser=Boolean(e),this.isBrowser||(this.isInteractive=!1,this.location="none"),void 0!==t.shouldRender?this.shouldRender=Boolean(t.shouldRender):this.shouldRender=!0,this.shouldRender||(this.isInteractive=!1),t.document?this.document=t.document:this.document="undefined"!=typeof document?document:null,t.rootElement&&(this.rootElement=t.rootElement),void 0!==t.location&&(this.location=t.location),void 0!==t.isInteractive&&(this.isInteractive=Boolean(t.isInteractive))}toEnvironment(){return{...l,hasDOM:this.isBrowser,isInteractive:this.isInteractive,_renderMode:this._renderMode,options:this}}}class fw extends lh{static NAMESPACES=Ws;static NAMESPACES_BY_ID=Hs;static processAll=Qs;static byName=Zs;init(t){super.init(t),Ks(this)}toString(){let t=us(this,"name")||us(this,"modulePrefix");if(t)return t;Ys();let e=Bs(this);return void 0===e&&(e=U(this),Us(this,e)),e}nameClasses(){Js(this)}destroy(){return Xs(this),super.destroy()}}fw.prototype.isNamespace=!0;const gw=Object.freeze(Object.defineProperty({__proto__:null,default:fw},Symbol.toStringTag,{value:"Module"}));var mw=function(){function t(){this._vertices=new yw}return t.prototype.add=function(t,e,n,i){if(!t)throw new Error("argument `key` is required");var r=this._vertices,s=r.add(t);if(s.val=e,n)if("string"==typeof n)r.addEdge(s,r.add(n));else for(var o=0;o0){var i="cycle detected: "+e;throw this.each(this.path,function(t){i+=" <- "+t}),new Error(i)}}},t.prototype.reset=function(){this.stack.length=0,this.path.length=0,this.result.length=0;for(var t=0,e=this.length;t=0){var a=this[o];if(a.flag)continue;if(a.flag=!0,r.push(o),e===a.key)break;i.push(~o),this.pushIncoming(a)}else r.pop(),s.push(~o)}},t.prototype.pushIncoming=function(t){for(var e=this.stack,n=t.length-1;n>=0;n--){var i=t[n];this[i].flag||e.push(i)}},t.prototype.each=function(t,e){for(var n=0,i=t.length;n{for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.test(e)&&"class"===hc(t[e])&&n.push(of(e.replace(i,"")))}),n}}class bw extends lh{componentFor(t,e){let n=`component:${t}`;return e.factoryFor(n)}layoutFor(t,e,n){let i=`template:components/${t}`;return e.lookup(i,n)}}const ww=new WeakMap;class xw extends f_{__openBlock(){let{tagName:t}=this.element;if("TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=this.serializeBlockDepth++;this.__appendComment(`%+b:${t}%`)}super.__openBlock()}__closeBlock(){let{tagName:t}=this.element;if(super.__closeBlock(),"TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=--this.serializeBlockDepth;this.__appendComment(`%-b:${t}%`)}}__appendHTML(t){let{tagName:e}=this.element;if("TITLE"===e||"SCRIPT"===e||"STYLE"===e)return super.__appendHTML(t);let n=this.__appendComment("%glmr%");if("TABLE"===e){let e=t.indexOf("<");e>-1&&"tr"===t.slice(e+1,e+3)&&(t=`${t}`)}""===t?this.__appendComment("% %"):super.__appendHTML(t);let i=this.__appendComment("%glmr%");return new im(this.element,n,i)}__appendText(t){let{tagName:e}=this.element,n=function(t){let{element:e,nextSibling:n}=t;return null===n?e.lastChild:n.previousSibling}(this);return"TITLE"===e||"SCRIPT"===e||"STYLE"===e?super.__appendText(t):""===t?this.__appendComment("% %"):(n&&3===n.nodeType&&this.__appendComment("%|%"),super.__appendText(t))}closeElement(){return ww.has(this.element)&&(ww.delete(this.element),super.closeElement()),super.closeElement()}openElement(t){return"tr"===t&&"TBODY"!==this.element.tagName&&"THEAD"!==this.element.tagName&&"TFOOT"!==this.element.tagName&&(this.openElement("tbody"),ww.set(this.constructing,!0),this.flushElement(null)),super.openElement(t)}pushRemoteElement(t,e,n=null){let{dom:i}=this,r=i.createElement("script");return r.setAttribute("glmr",e),i.insertBefore(t,r,n),super.pushRemoteElement(t,e,n)}constructor(...t){super(...t),this.serializeBlockDepth=0}}function Sw(t,e){return xw.forInitialRender(t,e)}function Ew(t){t.register("service:-dom-builder",{create(t){switch(Yi(t).lookup("-environment:main")._renderMode){case"serialize":return Sw.bind(null);case"rehydrate":return G_.bind(null);default:return v_.bind(null)}}}),t.register(ul`template:-root`,K_),t.register("renderer:-dom",hw)}class Cw extends(fw.extend(kl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=Tw("initializers");static instanceInitializer=Tw("instanceInitializers");static buildRegistry(t){let e=new ol({resolver:kw(t)});return e.set=bs,e.register("application:main",t,{instantiate:!1}),function(t){t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.register("controller:basic",Nc,{instantiate:!1}),t.register("service:-routing",_f),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",vw),t.register("component-lookup:main",bw)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Qb),t.register("template:-outlet",cw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",cv),t.register("component:link-to",bv),t.register("component:textarea",Sv)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),Bc.create({...t,base:this})}buildRegistry(){return this.__registry__=this.constructor.buildRegistry(this)}initializer(t){this.constructor.initializer(t)}instanceInitializer(t){this.constructor.instanceInitializer(t)}runInitializers(){this._runInitializer("initializers",(t,e)=>{e.initialize(this)})}runInstanceInitializers(t){this._runInitializer("instanceInitializers",(e,n)=>{n.initialize(t)})}_runInitializer(t,e){let n,i=us(this.constructor,t),r=function(t){let e=[];for(let n in t)e.push(n);return e}(i),s=new mw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function kw(t){let e={namespace:t};return t.Resolver.create(e)}function Tw(t){return function(e){let n=this.superclass;if(void 0!==n[t]&&n[t]===this[t]){let e={[t]:Object.create(this[t])};this.reopenClass(e)}this[t][e.name]=e}}const Rw=qa,Pw=Zi;class Mw extends Cw{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",Ap),t.register("-view-registry:main",{create:()=>Ga(null)}),t.register("route:basic",Jd),t.register("event_dispatcher:main",Ah),t.register("location:hash",Vp),t.register("location:history",Kp),t.register("location:none",Xp),t.register(ul`-bucket-cache:main`,{create:()=>new sp}),t.register("service:router",yf)}(e),Ew(e),e}static initializer=Tw("initializers");static instanceInitializer=Tw("instanceInitializers");init(t){super.init(t),this.rootElement??="body",this._document??=null,this.eventDispatcher??=null,this.customEvents??=null,this.autoboot??=!0,this._document??=e?window.document:null,this._globalsMode??=!0,this._readinessDeferrals=1,this._booted=!1,this._applicationInstances=new Set,this.autoboot=this._globalsMode=Boolean(this.autoboot),this._globalsMode&&this._prepareForGlobalsMode(),this.autoboot&&this.waitForDOMReady()}buildInstance(t={}){return dw.create({...t,base:this,application:this})}_watchInstance(t){this._applicationInstances.add(t)}_unwatchInstance(t){return this._applicationInstances.delete(t)}Router;_prepareForGlobalsMode(){this.Router=(this.Router||Ap).extend(),this._buildDeprecatedInstance()}__deprecatedInstance__;__container__;_buildDeprecatedInstance(){let t=this.buildInstance();this.__deprecatedInstance__=t,this.__container__=t.__container__}waitForDOMReady(){const t=this._document;if(null===t||"loading"!==t.readyState)ia("actions",this,this.domReady);else{let e=()=>{t.removeEventListener("DOMContentLoaded",e),ta(this,this.domReady)};t.addEventListener("DOMContentLoaded",e)}}domReady(){this.isDestroying||this.isDestroyed||this._bootSync()}deferReadiness(){this._readinessDeferrals++}advanceReadiness(){this._readinessDeferrals--,0===this._readinessDeferrals&&ra(this,this.didBecomeReady)}_bootPromise=null;boot(){if(this._bootPromise)return this._bootPromise;try{this._bootSync()}catch(t){}return this._bootPromise}_bootResolver=null;_bootSync(){if(this._booted||this.isDestroying||this.isDestroyed)return;let t=this._bootResolver=Wu.defer();this._bootPromise=t.promise;try{this.runInitializers(),Ka("application",this),this.advanceReadiness()}catch(JD){throw t.reject(JD),JD}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,ea(this,function(){ta(t,"destroy"),this._buildDeprecatedInstance(),ia("actions",this,"_bootSync")})}didBecomeReady(){if(!this.isDestroying&&!this.isDestroyed)try{if(this.autoboot){let t;t=this._globalsMode?this.__deprecatedInstance__:this.buildInstance(),t._bootSync(),this.ready(),t.startRouting()}this._bootResolver.resolve(this),this._booted=!0}catch(JD){throw this._bootResolver.reject(JD),JD}}ready(){return this}willDestroy(){super.willDestroy(),Ha.application===this&&(Ha.application=void 0),this._applicationInstances.size&&(this._applicationInstances.forEach(t=>t.destroy()),this._applicationInstances.clear())}visit(t,e){return this.boot().then(()=>{let n=this.buildInstance();return n.boot(e).then(()=>n.visit(t)).catch(t=>{throw ta(n,"destroy"),t})})}}const Iw=Object.freeze(Object.defineProperty({__proto__:null,_loaded:Ha,default:Mw,getOwner:Rw,onLoad:function(t,e){let n=Wa[t];(Va[t]??=[]).push(e),n&&e(n)},runLoadHooks:Ka,setOwner:Pw},Symbol.toStringTag,{value:"Module"})),Ow=Object.assign({},{});function Aw(){return Fw.global}const Fw={packages:{},global:{}};let Lw="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(Lw){let t={config:function(t){return Fw.packages[t]},getGlobalConfig:Aw,setConfig(t,e){Fw.packages[t]=e},setGlobalConfig(t,e){Fw.global[t]=e}};for(let e of Lw)e(t)}const Dw={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},Nw=Object.freeze(Object.defineProperty({__proto__:null,default:Dw,enterTestMode:function(){Dw.locationType="none",Dw.APP.rootElement="#ember-testing",Dw.APP.autoboot=!1;const t=Aw()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var jw;jw={throwOnUnhandled:!1,workflow:[]},self.deprecationWorkflow=self.deprecationWorkflow||{},self.deprecationWorkflow.deprecationLog={messages:new Set},self.deprecationWorkflow.flushDeprecations=t=>function({handler:t="silence",config:e={}}={}){let n=self.deprecationWorkflow.deprecationLog.messages,i=e.workflow??[],r=n.values().filter(t=>!i.some(e=>e.matchId===t)).map(e=>({handler:t,matchId:e})),s={...e,workflow:[...i,...r]};return`import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow';\n\nsetupDeprecationWorkflow(${JSON.stringify(s,void 0,2)});`}({config:jw,...t});const zw=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let Uw;!function(){const t="TEST_WAITERS",e="undefined"!=typeof Symbol?Symbol.for(t):t,n=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;throw new Error("unable to locate global object")}();let i=n[e];void 0===i&&(i=n[e]=new Map)}(),Uw=Ap;var Bw=Uw;class qw extends Bw{location=Dw.locationType;rootURL=Dw.rootURL}qw.map(function(){this.route("place",{path:"/place/:place_id"})});const $w=Object.freeze(Object.defineProperty({__proto__:null,default:qw},Symbol.toStringTag,{value:"Module"})),Gw=Object.freeze(Object.defineProperty({__proto__:null,default:class extends pf{controller=null;async getNearbyPois(t,e,n=50){this.controller&&this.controller.abort(),this.controller=new AbortController;const i=this.controller.signal,r=`\n[out:json][timeout:25];\n(\n nwr["amenity"](around:${n},${t},${e});\n nwr["shop"](around:${n},${t},${e});\n nwr["tourism"](around:${n},${t},${e});\n nwr["leisure"](around:${n},${t},${e});\n nwr["historic"](around:${n},${t},${e});\n);\nout center;\n `.trim(),s=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(r)}`;try{const t=await this.fetchWithRetry(s,{signal:i});if(!t.ok)throw new Error("Overpass request failed");return(await t.json()).elements}catch(o){if("AbortError"===o.name)return console.log("Overpass request aborted"),[];throw o}}async fetchWithRetry(t,e={},n=3){try{const i=await fetch(t,e);return!i.ok&&n>0&&[502,503,504,429].includes(i.status)?(console.log(`Overpass request failed with ${i.status}. Retrying... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1)):i}catch(i){if(n>0&&"AbortError"!==i.name)return console.log(`Retrying Overpass request... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1);throw i}}async getPoiById(t){const e=`\n[out:json][timeout:25];\n(\n node(${t});\n way(${t});\n relation(${t});\n);\nout center;\n `.trim(),n=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(e)}`,i=await this.fetchWithRetry(n);if(!i.ok)throw new Error("Overpass request failed");return(await i.json()).elements[0]}}},Symbol.toStringTag,{value:"Module"}));function Vw(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ww,Hw={exports:{}},Kw=(Ww||(Ww=1,Hw.exports=function(){var t={548:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Access=void 0;class n{constructor(){this.reset()}get scopes(){return Object.keys(this.scopeModeMap).map(t=>({name:t,mode:this.scopeModeMap[t]}))}get scopeParameter(){return this.scopes.map(t=>`${this._scopeNameForParameter(t)}:${t.mode}`).join(" ")}claim(t,e){if("string"!=typeof t||-1!==t.indexOf("/")||0===t.length)throw new Error("Scope should be a non-empty string without forward slashes");if("string"!=typeof e||!e.match(/^rw?$/))throw new Error("Mode should be either 'r' or 'rw'");this._adjustRootPaths(t),this.scopeModeMap[t]=e}get(t){return this.scopeModeMap[t]}remove(t){const e={};for(const n in this.scopeModeMap)e[n]=this.scopeModeMap[n];this.reset(),delete e[t];for(const n in e)this.claim(n,e[n])}checkPermission(t,e){const n=this.get(t);return n&&("r"===e||"rw"===n)}checkPathPermission(t,e){if(this.checkPermission("*",e))return!0;const n=this._getModuleName(t);return!!this.checkPermission(n,e)}reset(){this.rootPaths=[],this.scopeModeMap={}}_getModuleName(t){if("/"!==t[0])throw new Error("Path should start with a slash");const e=t.replace(/^\/public/,"").match(/^\/([^/]*)\//);return e?e[1]:"*"}_adjustRootPaths(t){"*"in this.scopeModeMap||"*"===t?this.rootPaths=["/"]:t in this.scopeModeMap||(this.rootPaths.push("/"+t+"/"),this.rootPaths.push("/public/"+t+"/"))}_scopeNameForParameter(t){if("*"===t.name&&this.storageType){if("2012.04"===this.storageType)return"";if(this.storageType.match(/remotestorage-0[01]/))return"root"}return t.name}setStorageType(t){this.storageType=t}static _rs_init(){}}e.Access=n,e.default=n},275:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Authorize=void 0;const s=r(n(334)),o=n(746),a=r(n(503)),l=n(368);let u;function h(t){const e=t||c.getLocation().href,n={};for(const[s,o]of new URL(e).searchParams)n[s]=o;const i=e.indexOf("#");if(-1===i)return n;const r=e.substring(i+1);return r.includes("=")?r.split("&").reduce(function(t,e){const n=e.split("=");if("state"===n[0]&&n[1].match(/rsDiscovery/)){let e=decodeURIComponent(n[1]);const i=e.substr(e.indexOf("rsDiscovery=")).split("&")[0].split("=")[1];t.rsDiscovery=JSON.parse(atob(i)),e=e.replace(new RegExp("&?rsDiscovery="+i),""),e.length>0&&(t.state=e)}else t[decodeURIComponent(n[0])]=decodeURIComponent(n[1]);return t},n):n}class c{static authorize(t,e){if((0,s.default)("[Authorize] authURL = ",e.authURL,"scope = ",e.scope,"redirectUri = ",e.redirectUri,"clientId = ",e.clientId,"response_type =",e.response_type),!e.scope)throw new Error("Cannot authorize due to undefined or empty scope; did you forget to access.claim()?");if(!(0,o.localStorageAvailable)()&&"remotestorage"===t.backend){e.redirectUri+=e.redirectUri.indexOf("#")>0?"&":"#";const n={userAddress:t.remote.userAddress,href:t.remote.href,storageApi:t.remote.storageApi,properties:t.remote.properties};e.redirectUri+="rsDiscovery="+(0,o.toBase64)(JSON.stringify(n))}const n=function(t){const e=new URL(t.redirectUri);t.state||(t.state=e.hash?e.hash.substring(1):""),t.response_type||(t.response_type="token");const n=new URL(t.authURL);n.searchParams.set("redirect_uri",t.redirectUri.replace(/#.*$/,"")),n.searchParams.set("scope",t.scope),n.searchParams.set("client_id",t.clientId);for(const i of["state","response_type","code_challenge","code_challenge_method","token_access_type"]){const e=t[i];e&&n.searchParams.set(i,e)}return n.href}(e);o.globalContext.cordova?c.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):c.setLocation(n)}static refreshAccessToken(t,e,n){return i(this,void 0,void 0,function*(){var t,i,r;yield e.configure({token:null,tokenType:null});const o=new URLSearchParams({grant_type:"refresh_token",client_id:e.clientId,refresh_token:n}),u=yield(0,l.requestWithTimeout)("POST",e.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString(),responseType:"json"});if(200!==(null==u?void 0:u.status))throw yield e.configure({refreshToken:null}),new a.default("refresh token rejected:"+JSON.stringify(u.response));{(0,s.default)(`[Authorize] access token good for ${null===(t=null==u?void 0:u.response)||void 0===t?void 0:t.expires_in} seconds`);const n={token:null===(i=null==u?void 0:u.response)||void 0===i?void 0:i.access_token,tokenType:null===(r=null==u?void 0:u.response)||void 0===r?void 0:r.token_type};if(!n.token)throw new Error(`no access_token in "successful" refresh: ${u.response}`);yield e.configure(n)}})}static setLocation(t){if("string"==typeof t)document.location.href=t;else{if("object"!=typeof t)throw"Invalid location "+t;document.location=t}}static _rs_supported(){return"undefined"!=typeof document}static _rs_cleanup(t){t.removeEventListener("features-loaded",u)}}e.Authorize=c,c.IMPLIED_FAKE_TOKEN=!1,c.getLocation=function(){return document.location},c.openWindow=function(t,e,n){return new Promise((i,r)=>{const s=open(t,"_blank",n);function o(){r("Authorization was canceled")}s&&!s.closed?(s.addEventListener("loadstart",function(t){if(0!==t.url.indexOf(e))return;s.removeEventListener("exit",o),s.close();const n=h(t.url);n?i(n):r("Authorization error")}),s.addEventListener("exit",o)):r("Authorization popup was blocked")})},c._rs_init=function(t){const e=h();let n;e&&(n=c.getLocation(),n.hash=""),u=function(){let r=!1;if(e){if(e.error)throw"access_denied"===e.error?new a.default("Authorization failed: access denied",{code:"access_denied"}):new a.default(`Authorization failed: ${e.error}`);e.rsDiscovery&&t.remote.configure(e.rsDiscovery),e.access_token&&(t.remote.configure({token:e.access_token}),r=!0),e.remotestorage&&(t.connect(e.remotestorage),r=!0),e.state&&(n=c.getLocation(),c.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){i(this,void 0,void 0,function*(){var i,r,o,a;const u=sessionStorage.getItem("remotestorage:codeVerifier");if(!u)return void(0,s.default)("[Authorize] Ignoring OAuth code parameter, because no PKCE code verifier found in sessionStorage");n=c.getLocation();let h=n.origin;"/"!==n.pathname&&(h+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:h,code_verifier:u}),p=yield(0,l.requestWithTimeout)("POST",t.remote.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),responseType:"json"});if(200===p.status){(0,s.default)(`[Authorize] access token good for ${null===(i=null==p?void 0:p.response)||void 0===i?void 0:i.expires_in} seconds`);const e={token:null===(r=null==p?void 0:p.response)||void 0===r?void 0:r.access_token,refreshToken:null===(o=null==p?void 0:p.response)||void 0===o?void 0:o.refresh_token,tokenType:null===(a=null==p?void 0:p.response)||void 0===a?void 0:a.token_type};e.token?t.remote.configure(e):t._emit("error",new Error(`no access_token in "successful" response: ${p.response}`)),sessionStorage.removeItem("remotestorage:codeVerifier")}else t._emit("error",new Error(`${p.statusText}: ${p.response}`))})}(e.code),r=!0),r||t.remote.stopWaitingForToken()}else t.remote.stopWaitingForToken()},t.on("features-loaded",u)},e.default=c},424:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClient=void 0;const s=r(n(439)),o=r(n(613)),a=r(n(491)),l=r(n(93)),u=r(n(28)),h=n(746);class c{constructor(t,e){if(this.schemas={configurable:!0,get(){return c.Types.inScope(this.moduleName)}},"/"!==e[e.length-1])throw"Not a folder: "+e;"/"===e&&(this.makePath=t=>("/"===t[0]?"":"/")+t),this.storage=t,this.base=e,this.moduleName=function(t){const e=t.split("/");return t.length>2?e[1]:"root"}(this.base),this.addEvents(["change"]),this.on=this.on.bind(this),t.onChange(this.base,this._fireChange.bind(this))}scope(t){return new c(this.storage,this.makePath(t))}getListing(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,h.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(t=>404===t.statusCode?{}:t.body)})}getAll(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,h.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(n=>{if(404===n.statusCode)return{};if("object"==typeof n.body){const i=Object.keys(n.body);if(0===i.length)return{};const r=i.map(i=>this.storage.get(this.makePath(t+i),e).then(t=>{if("string"==typeof t.body)try{t.body=JSON.parse(t.body)}catch(t){}"object"==typeof t.body&&(n.body[i]=t.body)}));return Promise.all(r).then(()=>n.body)}})})}getFile(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getFile must be a string"):this.storage.get(this.makePath(t),e).then(t=>({data:t.body,contentType:t.contentType,revision:t.revision}))})}storeFile(t,e,n){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'contentType' of baseClient.storeFile must be a string"):"string"!=typeof e?Promise.reject("Argument 'path' of baseClient.storeFile must be a string"):"string"!=typeof n&&"object"!=typeof n?Promise.reject("Argument 'body' of baseClient.storeFile must be a string, ArrayBuffer, or ArrayBufferView"):(this.storage.access.checkPathPermission(this.makePath(e),"rw")||console.warn("WARNING: Editing a document to which only read access ('r') was claimed"),this.storage.put(this.makePath(e),n,t).then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode)))})}getObject(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getObject must be a string"):this.storage.get(this.makePath(t),e).then(e=>{if("object"==typeof e.body)return e.body;if("string"==typeof e.body)try{return JSON.parse(e.body)}catch(e){throw new Error("Not valid JSON: "+this.makePath(t))}else if(void 0!==e.body&&200===e.statusCode)return Promise.reject("Not an object: "+this.makePath(t))})})}storeObject(t,e,n){return i(this,void 0,void 0,function*(){if("string"!=typeof t)return Promise.reject("Argument 'typeAlias' of baseClient.storeObject must be a string");if("string"!=typeof e)return Promise.reject("Argument 'path' of baseClient.storeObject must be a string");if("object"!=typeof n)return Promise.reject("Argument 'object' of baseClient.storeObject must be an object");this._attachType(n,t);try{const t=this.validate(n);if(!t.valid)return Promise.reject(t)}catch(t){return Promise.reject(t)}return this.storage.put(this.makePath(e),JSON.stringify(n),"application/json; charset=UTF-8").then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode))})}remove(t){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.remove must be a string"):(this.storage.access.checkPathPermission(this.makePath(t),"rw")||console.warn("WARNING: Removing a document to which only read access ('r') was claimed"),this.storage.delete(this.makePath(t),this.storage.connected))})}getItemURL(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.getItemURL must be a string";return this.storage.connected?(t=(0,h.cleanPath)(this.makePath(t)),this.storage.remote.href+t):void 0}cache(t,e="ALL"){if("string"!=typeof t)throw"Argument 'path' of baseClient.cache must be a string";if("string"!=typeof e)throw"Argument 'strategy' of baseClient.cache must be a string or undefined";if("FLUSH"!==e&&"SEEN"!==e&&"ALL"!==e)throw'Argument \'strategy\' of baseclient.cache must be one of ["FLUSH", "SEEN", "ALL"]';return this.storage.caching.set(this.makePath(t),e),this}declareType(t,e,n){let i;if(n&&"string"==typeof e)i=e;else if(n||"string"==typeof e){if(!n&&"string"==typeof e)throw new Error("declareType() requires a JSON Schema object to be passed, in order to validate object types/formats")}else n=e,i=this._defaultTypeURI(t);c.Types.declare(this.moduleName,t,i,n)}validate(t){const e=c.Types.getSchema(t["@context"]);if(e)return s.default.validateResult(t,e);throw new a.default(t["@context"])}_defaultTypeURI(t){return"http://remotestorage.io/spec/modules/"+encodeURIComponent(this.moduleName)+"/"+encodeURIComponent(t)}_attachType(t,e){t["@context"]=c.Types.resolveAlias(this.moduleName+"/"+e)||this._defaultTypeURI(e)}makePath(t){return this.base+(t||"")}_fireChange(t){u.default.changeEvents[t.origin]&&(["new","old","lastCommon"].forEach(function(e){if((!t[e+"ContentType"]||/^application\/(.*)json(.*)/.exec(t[e+"ContentType"]))&&"string"==typeof t[e+"Value"])try{t[e+"Value"]=JSON.parse(t[e+"Value"])}catch(t){}}),this._emit("change",t))}static _rs_init(){}}e.BaseClient=c,c.Types=o.default,(0,h.applyMixins)(c,[l.default]),e.default=c},285:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Caching=void 0;const r=n(746),s=i(n(334));class o{constructor(t){this.pendingActivations=[],this._access=t.access,this.reset()}set(t,e){if("string"!=typeof t)throw new Error("path should be a string");if(!(0,r.isFolder)(t))throw new Error("path should be a folder");if(!this._access.checkPathPermission(t,"r"))throw new Error('No access to path "'+t+'". You must claim access to it first.');if(void 0===e||!e.match(/^(FLUSH|SEEN|ALL)$/))throw new Error("strategy should be 'FLUSH', 'SEEN', or 'ALL'");this._rootPaths[t]=e,"ALL"===e&&(this.activateHandler?this.activateHandler(t):this.pendingActivations.push(t))}enable(t){this.set(t,"ALL")}disable(t){this.set(t,"FLUSH")}onActivate(t){(0,s.default)("[Caching] Setting activate handler",t,this.pendingActivations),this.activateHandler=t;for(let e=0;e{this.emitChange(t.data)})}get(t,e,n){return i(this,void 0,void 0,function*(){return"number"==typeof e?this.getNodes((0,u.pathsFromRoot)(t)).then(i=>{const r=h(i[t]);return c(i,e)?n(t):r?{statusCode:200,body:r.body||r.itemsMap,contentType:r.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=h(e[t]);if(n){if((0,u.isFolder)(t))for(const t in n.itemsMap)n.itemsMap.hasOwnProperty(t)&&!1===n.itemsMap[t]&&delete n.itemsMap[t];return{statusCode:200,body:n.body||n.itemsMap,contentType:n.contentType}}return{statusCode:404}})})}put(t,e,n){return i(this,void 0,void 0,function*(){const i=(0,u.pathsFromRoot)(t);return this._updateNodes(i,function(t,i){try{for(let r=0,s=t.length;r0)break}else console.error("Cannot delete non-existing node "+r)}return n})})}flush(t){return this._getAllDescendentPaths(t).then(t=>this.getNodes(t)).then(t=>{for(const e in t){const n=t[e];n&&n.common&&n.local&&this.emitChange({path:n.path,origin:"local",oldValue:!1===n.local.body?void 0:n.local.body,newValue:!1===n.common.body?void 0:n.common.body}),t[e]=void 0}return this.setNodes(t)})}emitChange(t){a.default.changeEvents[t.origin]&&this._emit("change",t)}fireInitial(){a.default.changeEvents.local&&this.forAllNodes(t=>{if((0,u.isDocument)(t.path)){const e=h(t);e&&this.emitChange({path:t.path,origin:"local",oldValue:void 0,oldContentType:void 0,newValue:e.body,newContentType:e.contentType})}}).then(()=>{this._emit("local-events-done")})}onDiff(t){this.diffHandler=t}_updateNodes(t,e){return new Promise((n,i)=>{this._doUpdateNodes(t,e,{resolve:n,reject:i})})}_doUpdateNodes(t,e,n){return i(this,void 0,void 0,function*(){if(this._updateNodesRunning)return void this._updateNodesQueued.push({paths:t,cb:e,promise:n});this._updateNodesRunning=!0;try{let i=yield this.getNodes(t);const r=(0,u.deepClone)(i),s=[];i=e(t,i);for(const t in i){const e=i[t];(0,u.equal)(e,r[t])?delete i[t]:(0,u.isDocument)(t)&&((0,u.equal)(e.local.body,e.local.previousBody)&&e.local.contentType===e.local.previousContentType||s.push({path:t,origin:"window",oldValue:e.local.previousBody,newValue:!1===e.local.body?void 0:e.local.body,oldContentType:e.local.previousContentType,newContentType:e.local.contentType}),void 0===e.local.body?i[t]=void 0:(delete e.local.previousBody,delete e.local.previousContentType))}yield this.setNodes(i),this._emitChangeEvents(s),n.resolve({statusCode:200})}catch(t){n.reject(t)}this._updateNodesRunning=!1;const i=this._updateNodesQueued.shift();i&&(yield this._doUpdateNodes(i.paths,i.cb,i.promise))})}_emitChangeEvents(t){for(let e=0,n=t.length;e{const n=[t],i=h(e[t]),r=Object.keys(i.itemsMap).map(e=>this._getAllDescendentPaths(t+e).then(t=>{for(let e=0,i=t.length;en)}):Promise.resolve([t])}_getInternals(){return{getLatest:h,makeNode:d,isOutdated:c}}}(0,u.applyMixins)(f,[o.default]),t.exports=f},28:function(t){t.exports={cache:!0,changeEvents:{local:!0,window:!1,remote:!0,conflict:!0},cordovaRedirectUri:void 0,logging:!1,modules:[],backgroundSyncInterval:6e4,disableFeatures:[],discoveryTimeout:5e3,isBackground:!1,requestTimeout:3e4,syncInterval:1e4}},373:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(199)),s=i(n(28)),o=i(n(334)),a=n(746);let l;const u="remotestorage:discover";let h={};const c=function(t){return new Promise((e,n)=>{if(t in h)return e(h[t]);const i=new r.default({tls_only:!1,uri_fallback:!0,request_timeout:s.default.discoveryTimeout});return setTimeout(()=>n(new Error("timed out")),s.default.discoveryTimeout),i.lookup(t,function(i,r){if(i)return n(i);if("object"!=typeof r.idx.links.remotestorage||"number"!=typeof r.idx.links.remotestorage.length||r.idx.links.remotestorage.length<=0)return(0,o.default)("[Discover] WebFinger record for "+t+" does not have remotestorage defined in the links section ",JSON.stringify(r.json)),n("WebFinger record for "+t+" does not have remotestorage defined in the links section.");const s=r.idx.links.remotestorage[0],a=s.properties["http://tools.ietf.org/html/rfc6749#section-4.2"]||s.properties["auth-endpoint"],c=s.properties["http://remotestorage.io/spec/version"]||s.type;return h[t]={href:s.href,storageApi:c,authURL:a,properties:s.properties},l&&localStorage.setItem(u,JSON.stringify({cache:h})),e(h[t])})})};(c.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),c.DiscoveryError.prototype.constructor=c.DiscoveryError,c._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(u));t&&(h=t.cache)}},c._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},c._rs_cleanup=function(){l&&localStorage.removeItem(u)},t.exports=c},706:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(424)),a=r(n(941)),l=r(n(982)),u=r(n(503)),h=n(746),c=n(368),d=n(684),p=r(n(275));let f;const g="remotestorage:dropbox",m="https://api.dropboxapi.com/2/files/list_folder",y="https://api.dropboxapi.com/2/files/list_folder/continue",_="/remotestorage";function v(t){return(_+"/"+t).replace(/\/+$/,"").replace(/\/+/g,"/")}const b=/[\u007f-\uffff]/g;function w(t){return JSON.stringify(t).replace(b,function(t){return"\\u"+("000"+t.charCodeAt(0).toString(16)).slice(-4)})}function x(t,e){return new RegExp("^"+e.join("\\/")+"(\\/|$)").test(t.error_summary)}function S(t){return t instanceof ArrayBuffer||(0,c.isArrayBufferView)(t)}class E extends d.RemoteBase{constructor(t){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this._initialFetchDone=!1,this.addEvents(["connected","not-connected"]),this.clientId=t.apiKeys.dropbox.appKey,this.TOKEN_URL="https://api.dropboxapi.com/oauth2/token",this._revCache=new a.default("rev"),this._fetchDeltaCursor=null,this._fetchDeltaPromise=null,this._itemRefs={},f=(0,h.localStorageAvailable)(),f){const t=(0,h.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,h.getJSONFromLocalStorage)(`${g}:shares`)||{}}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}connect(){return i(this,void 0,void 0,function*(){try{if(this.rs.setBackend("dropbox"),this.token)T(this.rs);else{const{codeVerifier:t,codeChallenge:e,state:n}=yield(0,h.generateCodeVerifier)();sessionStorage.setItem("remotestorage:codeVerifier",t),sessionStorage.setItem("remotestorage:state",n),this.rs.authorize({authURL:"https://www.dropbox.com/oauth2/authorize",scope:"account_info.read files.content.read files.content.write files.metadata.read files.metadata.write",clientId:this.clientId,response_type:"code",state:n,code_challenge:e,code_challenge_method:"S256",token_access_type:"offline"})}}catch(t){throw this.rs._emit("error",t),this.rs.setBackend(void 0),t}})}configure(t){return i(this,void 0,void 0,function*(){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token),void 0!==t.refreshToken&&(this.refreshToken=t.refreshToken),void 0!==t.tokenType&&(this.tokenType=t.tokenType);const e=()=>{f&&localStorage.setItem(g,JSON.stringify({userAddress:this.userAddress,token:this.token,refreshToken:this.refreshToken,tokenType:this.tokenType}))};if(this.refreshToken||this.token)if(this.connected=!0,this.userAddress)this._emit("connected"),e();else try{const t=yield this.info();this.userAddress=t.email,this._emit("connected"),e()}catch(t){this.connected=!1,this.rs._emit("error",new Error("Could not fetch user info.")),e.apply(this)}else(()=>{this.connected=!1,f&&localStorage.removeItem(g),this.rs.setBackend(void 0)})()})}_getFolder(t){const e=this._revCache,n=n=>{let r;if(200!==n.status&&409!==n.status)return Promise.reject("Unexpected response status: "+n.status);try{r=JSON.parse(n.responseText)}catch(t){return Promise.reject(t)}if(409===n.status)return x(r,["path","not_found"])?Promise.resolve({}):Promise.reject(new Error("API returned an error: "+r.error_summary));const s=r.entries.reduce((n,i)=>{try{const r="folder"===i[".tag"],s=i.path_display.split("/").slice(-1)[0]+(r?"/":"");if(r)n[s]={ETag:e.get(t+s)};else{const e=new Date(i.server_modified);n[s]={ETag:i.rev,"Content-Length":i.size,"Last-Modified":e.toUTCString()},this._revCache.set(t+s,i.rev)}}catch(e){console.error(`[Dropbox] folder “${t}” has entry ${JSON.stringify(i)}:`,e)}return n},{});return r.has_more?i(r.cursor).then(function(t){return Object.assign(s,t)}):Promise.resolve(s)},i=t=>{const e={body:{cursor:t}};return this._request("POST",y,e).then(n)};return this._request("POST",m,{body:{path:v(t)}}).then(n).then(function(n){return Promise.resolve({statusCode:200,body:n,contentType:"application/json; charset=UTF-8",revision:e.get(t)})})}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n=this._revCache.get(t);if(null===n)return Promise.resolve({statusCode:404});if(e&&e.ifNoneMatch){if(!this._initialFetchDone)return this.fetchDelta().then(()=>this.get(t,e));if(n&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304})}if("/"===t.slice(-1))return this._getFolder(t);const i={headers:{"Dropbox-API-Arg":w({path:v(t)})},responseType:"arraybuffer"};return e&&e.ifNoneMatch&&(i.headers["If-None-Match"]=e.ifNoneMatch),this._request("GET","https://content.dropboxapi.com/2/files/download",i).then(e=>{const n=e.status;let i,r,s,o;return 200!==n&&409!==n?Promise.resolve({statusCode:n}):(i=e.getResponseHeader("Dropbox-API-Result"),(0,h.getTextFromArrayBuffer)(e.response,"UTF-8").then(a=>{r=a,409===n&&(i=r);try{i=JSON.parse(i)}catch(t){return Promise.reject(t)}if(409===n)return x(i,["path","not_found"])?{statusCode:404}:Promise.reject(new Error('API error while downloading file ("'+t+'"): '+i.error_summary));if(s=e.getResponseHeader("Content-Type"),o=i.rev,this._revCache.set(t,o),this._shareIfNeeded(t),(0,h.shouldBeTreatedAsBinary)(a,s))r=e.response;else try{r=JSON.parse(r),s="application/json; charset=UTF-8"}catch(t){}return{statusCode:n,body:r,contentType:s,revision:o}}))})}put(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const r=this._revCache.get(t);if(i&&i.ifMatch&&r&&r!==i.ifMatch)return{statusCode:412,revision:r};if(i&&"*"===i.ifNoneMatch&&r&&"rev"!==r)return{statusCode:412,revision:r};if(!n.match(/charset=/)&&S(e)&&(n+="; charset=binary"),e.length>157286400)throw new Error("Cannot upload file larger than 150MB");const s={body:e,contentType:n,path:t};if(i&&(i.ifMatch||"*"===i.ifNoneMatch)){const e=yield this._getMetadata(t);if(i&&"*"===i.ifNoneMatch&&e)return{statusCode:412,revision:e.rev};if(i&&i.ifMatch&&e&&e.rev!==i.ifMatch)return{statusCode:412,revision:e.rev}}const o=yield this._uploadSimple(s);return this._shareIfNeeded(t),o})}delete(t){return i(this,arguments,void 0,function*(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const n=this._revCache.get(t);if((null==e?void 0:e.ifMatch)&&n&&e.ifMatch!==n)return{statusCode:412,revision:n};if(null==e?void 0:e.ifMatch){const n=yield this._getMetadata(t);if((null==e?void 0:e.ifMatch)&&n&&n.rev!==e.ifMatch)return{statusCode:412,revision:n.rev}}return this._deleteSimple(t)})}_shareIfNeeded(t){if(t.match(/^\/public\/.*[^/]$/)&&void 0===this._itemRefs[t])return this.share(t)}share(t){const e={body:{path:v(t)}};return this._request("POST","https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings",e).then(e=>{if(200!==e.status&&409!==e.status)return Promise.reject(new Error("Invalid response status:"+e.status));let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid response body: "+e.responseText))}return 409===e.status?x(n,["shared_link_already_exists"])?this._getSharedLink(t):Promise.reject(new Error("API error: "+n.error_summary)):Promise.resolve(n.url)}).then(e=>(this._itemRefs[t]=e,f&&localStorage.setItem(g+":shares",JSON.stringify(this._itemRefs)),Promise.resolve(e)),e=>(e.message='Sharing Dropbox file or folder ("'+t+'") failed: '+e.message,Promise.reject(e)))}info(){return this._request("POST","https://api.dropboxapi.com/2/users/get_current_account",{}).then(function(t){let e;try{const n=JSON.parse(t.responseText);e=null==n?void 0:n.email}catch(e){return Promise.reject(new Error("Could not query current account info: Invalid API response: "+t.responseText))}return Promise.resolve({email:e})})}_request(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i=1){if(this.isForbiddenRequestMethod(t,e))throw`Don't use ${t} on directories!`;if(!this.token)throw new u.default("No access token");n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,"object"!=typeof n.body||S(n.body)||(n.body=JSON.stringify(n.body),n.headers["Content-Type"]="application/json; charset=UTF-8"),this.rs._emit("wire-busy",{method:t,isFolder:(0,h.isFolder)(e)});try{const r=yield(0,c.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,h.isFolder)(e),success:!0}),401===(null==r?void 0:r.status)&&this.refreshToken?i>=3?(console.error(`Abandoned after ${i} attempts: ${t} ${e}`),r):(this.rs._emit("wire-busy",{method:t,isFolder:(0,h.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,h.isFolder)(e),success:!0}),this._request(t,e,n,i+1)):[503,429].includes(null==r?void 0:r.status)?(this.online&&(this.online=!1,this.rs._emit("network-offline")),i>=3?(console.warn(`Abandoned after ${i} attempts: ${t} ${e}`),r):(yield new Promise(t=>setTimeout(t,(0,c.retryAfterMs)(r))),this._request(t,e,n,i+1))):r}catch(n){throw this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,h.isFolder)(e),success:!1}),n}})}fetchDelta(...t){if(this._fetchDeltaPromise)return this._fetchDeltaPromise;const e=t=>i(this,void 0,void 0,function*(){let n,i;"string"==typeof t?(n=y,i={cursor:t}):(n=m,i={path:_,recursive:!0,include_deleted:!0});try{const r=yield this._request("POST",n,{body:i});if(401===r.status)throw new u.default;if(200!==r.status&&409!==r.status)throw new Error("Invalid response status: "+r.status);let s;try{s=JSON.parse(r.responseText)}catch(t){throw new Error("Invalid response body: "+r.responseText)}if(409===r.status){if(!x(s,["path","not_found"]))throw new Error("API returned an error: "+s.error_summary);s={cursor:null,entries:[],has_more:!1}}if(t||this._revCache.deactivatePropagation(),s.entries.forEach(t=>{const e=t.path_display.slice(14);"deleted"===t[".tag"]?(this._revCache.delete(e),this._revCache.delete(e+"/")):"file"===t[".tag"]&&this._revCache.set(e,t.rev)}),this._fetchDeltaCursor=s.cursor,s.has_more)return e(s.cursor);this._revCache.activatePropagation(),this._initialFetchDone=!0}catch(t){if("timeout"===t)return;throw t}});return this._fetchDeltaPromise=e(this._fetchDeltaCursor).catch(t=>("object"==typeof t&&"message"in t?t.message="Dropbox: fetchDelta: "+t.message:t=`Dropbox: fetchDelta: ${t}`,this.rs._emit("error",t),this._fetchDeltaPromise=null,Promise.reject(t))).then(()=>(this._fetchDeltaPromise=null,Promise.resolve(t))),this._fetchDeltaPromise}_getMetadata(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/get_metadata",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status:"+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?x(e,["path","not_found"])?Promise.resolve():Promise.reject(new Error("API error: "+e.error_summary)):Promise.resolve(e)}).then(void 0,e=>(e.message='Could not load metadata for file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_uploadSimple(t){const e={path:v(t.path),mode:{".tag":"overwrite",update:void 0},mute:!0};return t.ifMatch&&(e.mode={".tag":"update",update:t.ifMatch}),this._request("POST","https://content.dropboxapi.com/2/files/upload",{body:t.body,headers:{"Content-Type":"application/octet-stream","Dropbox-API-Arg":w(e)}}).then(e=>{if(200!==e.status&&409!==e.status)return Promise.resolve({statusCode:e.status});let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid API result: "+e.responseText))}return 409===e.status?x(n,["path","conflict"])?this._getMetadata(t.path).then(function(t){return Promise.resolve({statusCode:412,revision:t.rev})}):(this.rs._emit("error",new Error(n.error_summary)),Promise.resolve({statusCode:e.status})):(this._revCache.set(t.path,n.rev),Promise.resolve({statusCode:e.status,revision:n.rev}))})}_deleteSimple(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/delete",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.resolve({statusCode:t.status});let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}if(409===t.status){if(x(e,["path_lookup","not_found"]))return Promise.resolve({statusCode:404});this.rs._emit("error",new Error(e.error_summary))}return Promise.resolve({statusCode:t.status})}).then(e=>(200!==e.statusCode&&404!==e.statusCode||(this._revCache.delete(t),delete this._itemRefs[t]),Promise.resolve(e)),e=>(e.message='Could not delete Dropbox file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_getSharedLink(t){return i(this,void 0,void 0,function*(){const e={body:{path:v(t),direct_only:!0}};return this._request("POST","https://api.dropbox.com/2/sharing/list_shared_links",e).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status: "+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?Promise.reject(new Error("API error: "+(null==e?void 0:e.error_summary)||0)):e.links.length?Promise.resolve(e.links[0].url):Promise.reject(new Error("No links returned"))},e=>(e.message='Could not get link to a shared file or folder ("'+t+'"): '+e.message,Promise.reject(e)))})}static _rs_init(t){f=(0,h.localStorageAvailable)(),t.apiKeys.dropbox&&(t.dropbox=new E(t)),"dropbox"===t.backend&&T(t)}static _rs_supported(){return!0}static _rs_cleanup(t){!function(t){(function(t){t._origRemote&&(t.remote=t._origRemote,delete t._origRemote)})(t),function(t){t._dropboxOrigSync&&(t.sync.sync=t._dropboxOrigSync,delete t._dropboxOrigSync)}(t),function(t){t._origBaseClientGetItemURL&&(o.default.prototype.getItemURL=t._origBaseClientGetItemURL,delete t._origBaseClientGetItemURL)}(t),k(t)}(t),f&&localStorage.removeItem(g),t.setBackend(void 0)}}function C(t,...e){t._dropboxOrigSync||(t._dropboxOrigSync=t.sync.sync.bind(t.sync),t.sync.sync=function(){return this.dropbox.fetchDelta(t,...e).then(t._dropboxOrigSync,function(e){t._emit("error",new l.default(e)),t._emit("sync-done")})}.bind(t))}function k(t){t._dropboxOrigSyncCycle&&(t.syncCycle=t._dropboxOrigSyncCycle,delete t._dropboxOrigSyncCycle)}function T(t){!function(t){t._origRemote||(t._origRemote=t.remote,t.remote=t.dropbox)}(t),t.sync?C(t):function(t,...e){t._dropboxOrigSyncCycle||(t._dropboxOrigSyncCycle=t.syncCycle,t.syncCycle=()=>{if(!t.sync)throw new Error("expected sync to be initialized by now");C(t),t._dropboxOrigSyncCycle(t,...e),k(t)})}(t),function(t){t._origBaseClientGetItemURL||(t._origBaseClientGetItemURL=o.default.prototype.getItemURL,o.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Dropbox yet")})}(t)}(0,h.applyMixins)(E,[s.default]),t.exports=E},451:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=n(746),o=i(n(334));class a{constructor(){this.addEvents(["background","foreground"]),this.mode="undefined"!=typeof window?"browser":"node","browser"===this.mode&&(this.setBrowserPrefixedNames(),document.addEventListener(this.visibilityChangeEvent,this.setVisibility.bind(this),!1),this.setVisibility())}setBrowserPrefixedNames(){"browser"===this.mode&&(void 0!==document.hidden?(this.hiddenProperty="hidden",this.visibilityChangeEvent="visibilitychange"):void 0!==document.mozHidden?(this.hiddenProperty="mozHidden",this.visibilityChangeEvent="mozvisibilitychange"):void 0!==document.msHidden?(this.hiddenProperty="msHidden",this.visibilityChangeEvent="msvisibilitychange"):void 0!==document.webkitHidden&&(this.hiddenProperty="webkitHidden",this.visibilityChangeEvent="webkitvisibilitychange"))}setVisibility(){document[this.hiddenProperty]?((0,o.default)("[Env] Going into background mode"),this.goBackground()):((0,o.default)("[Env] Going into foreground mode"),this.goForeground())}isBrowser(){return"browser"===this.mode}isNode(){return"node"===this.mode}goBackground(){this._emit("background")}goForeground(){this._emit("foreground")}static _rs_init(){}static _rs_cleanup(){}}(0,s.applyMixins)(a,[r.default]),t.exports=a},93:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EventHandling=void 0;const r=i(n(334));class s{addEvents(t){t.forEach(t=>this._addEvent(t))}addEventListener(t,e){if("string"!=typeof t)throw new Error("Argument eventName should be a string");if("function"!=typeof e)throw new Error("Argument handler should be a function");(0,r.default)("[EventHandling] Adding event listener",t),this._validateEvent(t),this._handlers[t].push(e)}on(t,e){return this.addEventListener(t,e)}removeEventListener(t,e){this._validateEvent(t);const n=this._handlers[t].length;for(let i=0;i{t(...e)})}_validateEvent(t){if(!(t in this._handlers))throw new Error("Unknown event: "+t)}_delegateEvent(t,e){e.on(t,e=>{this._emit(t,e)})}_addEvent(t){void 0===this._handlers&&(this._handlers={}),this._handlers[t]=[]}}e.EventHandling=s,e.default=s},545:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(28)),s=i(n(451)),o=i(n(334)),a=n(746),l=i(n(370)),u=i(n(548)),h=i(n(275)),c=i(n(373)),d=i(n(424)),p=i(n(801)),f=i(n(706)),g=i(n(600)),m=i(n(313)),y=i(n(285)),_=i(n(567)),v=i(n(794)),b=i(n(365)),w={features:[],featuresDone:0,readyFired:!1,loadFeatures(){this.features=[],this.featuresDone=0,this.readyFired=!1,this.featureModules={WireClient:g.default,Dropbox:f.default,GoogleDrive:p.default,Access:u.default,Discover:c.default,Authorize:h.default,BaseClient:d.default,Env:s.default},r.default.cache&&(0,a.extend)(this.featureModules,{Caching:y.default,IndexedDB:_.default,LocalStorage:v.default,InMemoryStorage:b.default,Sync:m.default}),r.default.disableFeatures.forEach(t=>{this.featureModules[t]&&delete this.featureModules[t]}),this._allLoaded=!1;for(const t in this.featureModules)this.loadFeature(t)},hasFeature(t){for(let e=this.features.length-1;e>=0;e--)if(this.features[e].name===t)return this.features[e].supported;return!1},loadFeature(t){const e=this.featureModules[t],n=!e._rs_supported||e._rs_supported();(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initializing ...`),"object"==typeof n?n.then(()=>{this.featureSupported(t,!0),this.initFeature(t)},()=>{this.featureSupported(t,!1)}):"boolean"==typeof n?(this.featureSupported(t,n),n&&this.initFeature(t)):this.featureSupported(t,!1)},initFeature(t){const e=this.featureModules[t];let n;try{n=e._rs_init(this)}catch(e){return void this.featureFailed(t,e)}"object"==typeof n&&"function"==typeof n.then?n.then(()=>{this.featureInitialized(t)},e=>{this.featureFailed(t,e)}):this.featureInitialized(t)},featureFailed(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialization failed (${e})`),this.featureDone()},featureSupported(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}]${e?"":"not "} supported`),e||this.featureDone()},featureInitialized(t){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialized`),this.features.push({name:t,init:this.featureModules[t]._rs_init,supported:!0,cleanup:this.featureModules[t]._rs_cleanup}),this.featureDone()},featureDone(){this.featuresDone++,this.featuresDone===Object.keys(this.featureModules).length&&setTimeout(this.featuresLoaded.bind(this),0)},_setCachingModule(){["IndexedDB","LocalStorage","InMemoryStorage"].some(t=>{if(this.features.some(e=>e.name===t))return this.features.local=this.featureModules[t],!0})},_fireReady(){try{this.readyFired||(this._emit("ready"),this.readyFired=!0)}catch(t){console.error("'ready' failed: ",t,t.stack),this._emit("error",t)}},featuresLoaded(){(0,o.default)("[RemoteStorage] All features loaded"),this._setCachingModule(),this.local=r.default.cache&&this.features.local&&new this.features.local,this.local&&this.remote?(this._setGPD(l.default,this),this._bindChange(this.local)):this.remote&&this._setGPD(this.remote,this.remote),this.remote&&(this.remote.on("connected",()=>{this._fireReady(),this._emit("connected")}),this.remote.on("not-connected",()=>{this._fireReady(),this._emit("not-connected")}),this.remote.connected&&(this._fireReady(),this._emit("connected")),this.hasFeature("Authorize")||this.remote.stopWaitingForToken()),this._collectCleanupFunctions();try{this._allLoaded=!0,this._emit("features-loaded")}catch(t){(0,a.logError)(t),this._emit("error",t)}this._processPending()},_collectCleanupFunctions(){this._cleanups=[];for(let t=0;t=n-this.maxAge?e.v:void 0}set(t,e){this._items[t]={v:e,t:(new Date).getTime()}}}class _ extends l.RemoteBase{constructor(t,e){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this.addEvents(["connected","not-connected"]),this.clientId=e,this._fileIdCache=new y(300),d=(0,o.localStorageAvailable)(),d){const t=(0,o.getJSONFromLocalStorage)(h);t&&this.configure(t)}}configure(t){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token);const e=function(){d&&localStorage.setItem(h,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(h)};this.token?(this.connected=!0,this.userAddress?(this._emit("connected"),e.apply(this)):this.info().then(t=>{this.userAddress=t.user.emailAddress,this._emit("connected"),e.apply(this)}).catch(()=>{n.apply(this),this.rs._emit("error",new Error("Could not fetch user info."))})):n.apply(this)}connect(){this.rs.setBackend("googledrive"),this.rs.authorize({authURL:"https://accounts.google.com/o/oauth2/auth",scope:"https://www.googleapis.com/auth/drive",clientId:this.clientId})}get(t,e={}){return(0,o.isFolder)(t)?this._getFolder(m(t)):this._getFile(m(t),e)}put(t,e,n,i={}){const r=m(t);function s(t){if(t.status>=200&&t.status<300){const e=JSON.parse(t.responseText),n=this.stripQuotes(e.etag);return Promise.resolve({statusCode:200,contentType:e.mimeType,revision:n})}return 412===t.status?Promise.resolve({statusCode:412,revision:"conflict"}):Promise.reject("PUT failed with status "+t.status+" ("+t.responseText+")")}return this._getFileId(r).then(t=>t?i&&"*"===i.ifNoneMatch?s({status:412}):this._updateFile(t,r,e,n,i).then(s):this._createFile(r,e,n).then(s))}delete(t,e={}){const n=m(t);return this._getFileId(n).then(t=>t?this._getMeta(t).then(n=>{let i;return"object"==typeof n&&"string"==typeof n.etag&&(i=this.stripQuotes(n.etag)),e&&e.ifMatch&&e.ifMatch!==i?{statusCode:412,revision:i}:this._request("DELETE",u+"/drive/v2/files/"+t,{}).then(t=>200===t.status||204===t.status?{statusCode:200}:Promise.reject("Delete failed: "+t.status+" ("+t.responseText+")"))}):Promise.resolve({statusCode:200}))}info(){const t=u+"/drive/v2/about?fields=user";return this._request("GET",t,{}).then(function(t){try{const e=JSON.parse(t.responseText);return Promise.resolve(e)}catch(t){return Promise.reject(t)}})}_updateFile(t,e,n,i,r){const s={mimeType:i},o={"Content-Type":"application/json; charset=UTF-8"};return r&&r.ifMatch&&(o["If-Match"]=this.addQuotes(r.ifMatch)),this._request("PUT",u+"/upload/drive/v2/files/"+t+"?uploadType=resumable",{body:JSON.stringify(s),headers:o}).then(t=>412===t.status?t:this._request("PUT",t.getResponseHeader("Location"),{body:i.match(/^application\/json/)?JSON.stringify(n):n}))}_createFile(t,e,n){return this._getParentId(t).then(i=>{const r={title:p(g(t)),mimeType:n,parents:[{kind:"drive#fileLink",id:i}]};return this._request("POST",u+"/upload/drive/v2/files?uploadType=resumable",{body:JSON.stringify(r),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>this._request("POST",t.getResponseHeader("Location"),{body:n.match(/^application\/json/)?JSON.stringify(e):e}))})}_getFile(t,e){return this._getFileId(t).then(t=>this._getMeta(t).then(t=>{let n;if("object"==typeof t&&"string"==typeof t.etag&&(n=this.stripQuotes(t.etag)),e&&e.ifNoneMatch&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304});if(!t.downloadUrl){if(!t.exportLinks||!t.exportLinks["text/html"])return Promise.resolve({statusCode:200,body:"",contentType:t.mimeType,revision:n});t.mimeType+=";export=text/html",t.downloadUrl=t.exportLinks["text/html"]}return this._request("GET",t.downloadUrl,{responseType:"arraybuffer"}).then(e=>(0,o.getTextFromArrayBuffer)(e.response,"UTF-8").then(function(i){let r=i;if(t.mimeType.match(/^application\/json/))try{r=JSON.parse(r)}catch(t){}else(0,o.shouldBeTreatedAsBinary)(i,t.mimeType)&&(r=e.response);return{statusCode:200,body:r,contentType:t.mimeType,revision:n}}))}))}_getFolder(t){return this._getFileId(t).then(e=>{let n,i,r;if(!e)return Promise.resolve({statusCode:404});const s="'"+e+"' in parents";return this._request("GET",u+"/drive/v2/files?q="+encodeURIComponent(s)+"&fields="+encodeURIComponent("items(downloadUrl,etag,fileSize,id,mimeType,title,labels)")+"&maxResults=1000&trashed=false",{}).then(e=>{var s;if(200!==e.status)return Promise.reject("request failed or something: "+e.status);try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject("non-JSON response from GoogleDrive")}r={};for(const a of n.items)(null===(s=a.labels)||void 0===s?void 0:s.trashed)||(i=this.stripQuotes(a.etag),a.mimeType===c?(this._fileIdCache.set(t+(0,o.cleanPath)(a.title)+"/",a.id),r[a.title+"/"]={ETag:i}):(this._fileIdCache.set(t+(0,o.cleanPath)(a.title),a.id),r[a.title]={ETag:i,"Content-Type":a.mimeType,"Content-Length":a.fileSize}));return Promise.resolve({statusCode:200,body:r,contentType:"application/json; charset=UTF-8",revision:void 0})})})}_getParentId(t){const e=f(t);return this._getFileId(e).then(t=>t?Promise.resolve(t):this._createFolder(e))}_createFolder(t){return this._getParentId(t).then(e=>this._request("POST",u+"/drive/v2/files",{body:JSON.stringify({title:p(g(t)),mimeType:c,parents:[{id:e}]}),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>{const e=JSON.parse(t.responseText);return Promise.resolve(e.id)}))}_getFileId(t){let e;return"/"===t?Promise.resolve("root"):(e=this._fileIdCache.get(t))?Promise.resolve(e):this._getFolder(f(t)).then(()=>(e=this._fileIdCache.get(t),e?Promise.resolve(e):"/"===t.substr(-1)?this._createFolder(t).then(()=>this._getFileId(t)):Promise.resolve()))}_getMeta(t){return this._request("GET",u+"/drive/v2/files/"+t,{}).then(function(e){return 200===e.status?Promise.resolve(JSON.parse(e.responseText)):Promise.reject("request (getting metadata for "+t+") failed with status: "+e.status)})}_request(t,e,n){return this.isForbiddenRequestMethod(t,e)?Promise.reject(`Don't use ${t} on directories!`):(n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,this.rs._emit("wire-busy",{method:t,isFolder:(0,o.isFolder)(e)}),(0,a.requestWithTimeout)(t,e,n).then(n=>n&&401===n.status?void this.connect():(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!0}),Promise.resolve(n)),n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!1}),Promise.reject(n))))}static _rs_init(t){const e=t.apiKeys.googledrive;var n;e&&(t.googledrive=new _(t,e.clientId),"googledrive"===t.backend&&(t._origRemote=t.remote,t.remote=t.googledrive,(n=t)._origBaseClientGetItemURL||(n._origBaseClientGetItemURL=r.default.prototype.getItemURL,r.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Google Drive yet")})))}static _rs_supported(){return!0}static _rs_cleanup(t){var e;t.setBackend(void 0),t._origRemote&&(t.remote=t._origRemote,delete t._origRemote),(e=t)._origBaseClientGetItemURL&&(r.default.prototype.getItemURL=e._origBaseClientGetItemURL,delete e._origBaseClientGetItemURL)}}(0,o.applyMixins)(_,[s.default]),t.exports=_},567:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(496)),a=r(n(334)),l=n(746),u="remotestorage";let h;class c extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||h,this.db?(this.getsRunning=0,this.putsRunning=0,this.changesQueued={},this.changesRunning={},this.commitSlownessWarning=null):(0,a.default)("[IndexedDB] Failed to open DB")}getNodes(t){return i(this,void 0,void 0,function*(){const e=[],n={};for(let i=0,r=t.length;i0?this.getNodesFromDb(e).then(function(t){for(const e in n)t[e]=n[e];return t}):n})}setNodes(t){return i(this,void 0,void 0,function*(){for(const e in t)this.changesQueued[e]=t[e]||!1;this.maybeFlush()})}maybeFlush(){0===this.putsRunning?this.flushChangesQueued():this.commitSlownessWarning||(this.commitSlownessWarning=n.g.setInterval(function(){console.warn("WARNING: waited more than 10 seconds for previous commit to finish")},1e4))}flushChangesQueued(){this.commitSlownessWarning&&(clearInterval(this.commitSlownessWarning),this.commitSlownessWarning=null),Object.keys(this.changesQueued).length>0&&(this.changesRunning=this.changesQueued,this.changesQueued={},this.setNodesInDb(this.changesRunning).then(this.flushChangesQueued.bind(this)))}getNodesFromDb(t){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readonly"),r=i.objectStore("nodes"),s={};this.getsRunning++,t.map(t=>{r.get(t).onsuccess=e=>{s[t]=e.target.result}}),i.oncomplete=()=>{e(s),this.getsRunning--},i.onerror=i.onabort=()=>{n("get transaction error/abort"),this.getsRunning--}})}setNodesInDb(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readwrite"),r=i.objectStore("nodes"),s=(new Date).getTime();this.putsRunning++,(0,a.default)("[IndexedDB] Starting puts",t,this.putsRunning);for(const o in t){const e=t[o];if("object"==typeof e)try{r.put(e)}catch(t){throw(0,a.default)("[IndexedDB] Error while putting",e,t),t}else try{r.delete(o)}catch(t){throw(0,a.default)("[IndexedDB] Error while removing",r,e,t),t}}i.oncomplete=()=>{this.putsRunning--,(0,a.default)("[IndexedDB] Finished puts",t,this.putsRunning,(new Date).getTime()-s+"ms"),e()},i.onerror=()=>{this.putsRunning--,n("transaction error")},i.onabort=()=>{n("transaction abort"),this.putsRunning--}})})}reset(t){const e=this.db.name;this.db.close(),c.clean(e,()=>{c.open(e,(n,i)=>{n?(0,a.default)(`[IndexedDB] Error while resetting database ${e}:`,n):this.db=i,"function"==typeof t&&t(self)})})}forAllNodes(t){return i(this,void 0,void 0,function*(){return new Promise(e=>{this.db.transaction(["nodes"],"readonly").objectStore("nodes").openCursor().onsuccess=n=>{const i=n.target.result;i?(t(i.value),i.continue()):e()}})})}closeDB(){0===this.putsRunning?this.db.close():setTimeout(this.closeDB.bind(this),100)}static open(t,e){const n=setTimeout(function(){e("timeout trying to open db")},1e4);try{const i=indexedDB.open(t,2);i.onerror=function(){(0,a.default)("[IndexedDB] Opening DB failed",i),clearTimeout(n),e(i.error)},i.onupgradeneeded=function(t){const e=i.result;(0,a.default)("[IndexedDB] Upgrade: from ",t.oldVersion," to ",t.newVersion),1!==t.oldVersion&&((0,a.default)("[IndexedDB] Creating object store: nodes"),e.createObjectStore("nodes",{keyPath:"path"})),(0,a.default)("[IndexedDB] Creating object store: changes"),e.createObjectStore("changes",{keyPath:"path"})},i.onsuccess=function(){clearTimeout(n);const r=i.result;if(!r.objectStoreNames.contains("nodes")||!r.objectStoreNames.contains("changes"))return(0,a.default)("[IndexedDB] Missing object store. Resetting the database."),void c.clean(t,function(){c.open(t,e)});e(null,i.result)}}catch(i){(0,a.default)("[IndexedDB] Failed to open database: "+i),(0,a.default)("[IndexedDB] Resetting database and trying again."),clearTimeout(n),c.clean(t,function(){c.open(t,e)})}}static clean(t,e){const n=indexedDB.deleteDatabase(t);n.onsuccess=function(){(0,a.default)(`[IndexedDB] Deleted database "${t}"`),e()},n.onerror=n.onabort=function(e){console.error('Failed to remove database "'+t+'"',e)}}static _rs_init(t){return new Promise((e,n)=>{c.open(u,function(i,r){i?n(i):(h=r,r.onerror=()=>{t._emit("error",i)},e())})})}static _rs_supported(){return new Promise((t,e)=>{const n=(0,l.getGlobalContext)();let i=!1;if("undefined"!=typeof navigator&&navigator.userAgent.match(/Android (2|3|4\.[0-3])/)&&(navigator.userAgent.match(/Chrome|Firefox/)||(i=!0)),"indexedDB"in n&&!i)try{const n=indexedDB.open("rs-check");n.onerror=function(){e()},n.onsuccess=function(){n.result.close(),indexedDB.deleteDatabase("rs-check"),t()}}catch(t){e()}else e()})}static _rs_cleanup(t){return new Promise(e=>{t.local instanceof c&&t.local.closeDB(),c.clean(u,e)})}diffHandler(){}}(0,l.applyMixins)(c,[s.default]),t.exports=c},365:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=i(n(496)),o=n(746);class a extends s.default{constructor(){super(),this._storage={},this.addEvents(["change","local-events-done"])}getNodes(t){const e={};for(let n=0,i=t.length;n=2e3&&t<=36e5}var k;!function(t){t.GOOGLE="googledrive",t.DROPBOX="dropbox"}(k||(k={}));class T{constructor(t){if(this._pending=[],this._cleanups=[],this._pathHandlers={change:{}},this.apiKeys={},this._init=b.default.loadFeatures,this.features=b.default.features,this.loadFeature=b.default.loadFeature,this.featureSupported=b.default.featureSupported,this.featureDone=b.default.featureDone,this.featuresDone=b.default.featuresDone,this.featuresLoaded=b.default.featuresLoaded,this.featureInitialized=b.default.featureInitialized,this.featureFailed=b.default.featureFailed,this.hasFeature=b.default.hasFeature,this._setCachingModule=b.default._setCachingModule,this._collectCleanupFunctions=b.default._collectCleanupFunctions,this._fireReady=b.default._fireReady,this.initFeature=b.default.initFeature,"object"==typeof t&&(0,u.extend)(a.default,t),this.addEvents(["ready","authing","connecting","connected","disconnected","not-connected","conflict","error","features-loaded","sync-interval-change","sync-started","sync-req-done","sync-done","wire-busy","wire-done","network-offline","network-online"]),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")}),S=(0,u.localStorageAvailable)(),S){this.apiKeys=(0,u.getJSONFromLocalStorage)("remotestorage:api-keys")||{};const t=localStorage.getItem("remotestorage:backend");"dropbox"===t||"googledrive"===t?this.setBackend(t):this.setBackend("remotestorage")}const e=this.on;this.on=function(t,n){if(this._allLoaded)switch(t){case"features-loaded":setTimeout(n,0);break;case"ready":this.remote&&setTimeout(n,0);break;case"connected":this.remote&&this.remote.connected&&setTimeout(n,0);break;case"not-connected":this.remote&&!this.remote.connected&&setTimeout(n,0)}return e.call(this,t,n)},this._init(),this.fireInitial=function(){this.local&&setTimeout(this.local.fireInitial.bind(this.local),0)}.bind(this),this.on("ready",this.fireInitial.bind(this)),this.loadModules()}get connected(){return this.remote.connected}loadModules(){a.default.modules.forEach(this.addModule.bind(this))}authorize(t){if(this.access.setStorageType(this.remote.storageApi),void 0===t.scope&&(t.scope=this.access.scopeParameter),x.cordova)t.redirectUri=a.default.cordovaRedirectUri;else{const e=c.default.getLocation();let n=e.origin;"/"!==e.pathname&&(n+=e.pathname),t.redirectUri=n}void 0===t.clientId&&(t.clientId=t.redirectUri.match(/^(https?:\/\/[^/]+)/)[0]),c.default.authorize(this,t)}impliedauth(t,e){t=t||this.remote.storageApi,e=e||String(document.location),(0,l.default)("ImpliedAuth proceeding due to absent authURL; storageApi = "+t+" redirectUri = "+e),this.remote.configure({token:c.default.IMPLIED_FAKE_TOKEN}),document.location.href=e}connect(t,e){if(this.setBackend("remotestorage"),t.indexOf("@")<0&&!t.match(/^(https?:\/\/)?[^\s\/$\.?#]+\.[^\s]*$/))this._emit("error",new T.DiscoveryError("Not a valid user address or URL."));else{if(t.indexOf("@")<0&&!t.match(/^https?:\/\//)&&(t=`https://${t}`),x.cordova){if("string"!=typeof a.default.cordovaRedirectUri)return void this._emit("error",new T.DiscoveryError("Please supply a custom HTTPS redirect URI for your Cordova app"));if(!x.cordova.InAppBrowser)return void this._emit("error",new T.DiscoveryError("Please include the InAppBrowser Cordova plugin to enable OAuth"))}this.remote.configure({userAddress:t}),this._emit("connecting"),(0,y.default)(t).then(n=>{if(this._emit("authing"),n.userAddress=t,this.remote.configure(n),!this.remote.connected)if(n.authURL)if(void 0===e)this.authorize({authURL:n.authURL});else{if("string"!=typeof e)throw new Error("Supplied bearer token must be a string");(0,l.default)("Skipping authorization sequence and connecting with known token"),this.remote.configure({token:e})}else this.impliedauth()},()=>{this._emit("error",new T.DiscoveryError("No storage information found for this user address."))})}}reconnect(){this.remote.configure({token:null}),"remotestorage"===this.backend?this.connect(this.remote.userAddress):this.remote.connect()}disconnect(){this.remote&&this.remote.configure({userAddress:null,href:null,storageApi:null,token:null,properties:null}),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")});const t=this._cleanups.length;let e=0;const n=()=>{e++,e>=t&&(this._init(),(0,l.default)('Cleanups done, emitting "disconnected" event'),this._emit("disconnected"))};t>0?this._cleanups.forEach(t=>{const e=t(this);"object"==typeof e&&"function"==typeof e.then?e.then(n):n()}):n()}setBackend(t){this.backend=t,S&&(void 0!==t?localStorage.setItem("remotestorage:backend",t):localStorage.removeItem("remotestorage:backend"))}onChange(t,e){this._pathHandlers.change[t]||(this._pathHandlers.change[t]=[]),this._pathHandlers.change[t].push(e)}enableLog(){a.default.logging=!0}disableLog(){a.default.logging=!1}log(...t){l.default.apply(T,t)}setApiKeys(t){const e=[k.GOOGLE,k.DROPBOX];if("object"!=typeof t||!Object.keys(t).every(t=>e.includes(t)))return console.error("setApiKeys() was called with invalid arguments"),!1;Object.keys(t).forEach(e=>{const n=t[e];if(n){switch(e){case k.DROPBOX:this.apiKeys[k.DROPBOX]={appKey:n},void 0!==this.dropbox&&this.dropbox.clientId===n||m.default._rs_init(this);break;case k.GOOGLE:this.apiKeys[k.GOOGLE]={clientId:n},void 0!==this.googledrive&&this.googledrive.clientId===n||g.default._rs_init(this)}return!0}delete this.apiKeys[e]}),S&&localStorage.setItem("remotestorage:api-keys",JSON.stringify(this.apiKeys))}setCordovaRedirectUri(t){if("string"!=typeof t||!t.match(/http(s)?:\/\//))throw new Error("Cordova redirect URI must be a URI string");a.default.cordovaRedirectUri=t}_setGPD(t,e){function n(t){return function(...n){return t.apply(e,n).then(E.bind(this))}}this.get=n(t.get),this.put=n(t.put),this.delete=n(t.delete)}_pendingGPD(t){return(...e)=>{const n=Array.prototype.slice.call(e);return new Promise((e,i)=>{this._pending.push({method:t,args:n,promise:{resolve:e,reject:i}})})}}_processPending(){this._pending.forEach(t=>{try{this[t.method](...t.args).then(t.promise.resolve,t.promise.reject)}catch(e){t.promise.reject(e)}}),this._pending=[]}_bindChange(t){t.on("change",this._dispatchEvent.bind(this,"change"))}_dispatchEvent(t,e){Object.keys(this._pathHandlers[t]).forEach(n=>{const i=n.length;e.path.substr(0,i)===n&&this._pathHandlers[t][n].forEach(t=>{const i={};for(const n in e)i[n]=e[n];i.relativePath=e.path.replace(new RegExp("^"+n),"");try{t(i)}catch(t){console.error("'change' handler failed: ",t,t.stack),this._emit("error",t)}})})}scope(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.scope must be a string";return this.access.checkPathPermission(t,"r")||console.warn("WARNING: Please use remoteStorage.access.claim() to ask for access permissions first: https://remotestorage.io/rs.js/docs/api/access/classes/Access.html#claim"),new d.default(this,t)}getSyncInterval(){return a.default.syncInterval}setSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.syncInterval;a.default.syncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getBackgroundSyncInterval(){return a.default.backgroundSyncInterval}setBackgroundSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.backgroundSyncInterval;a.default.backgroundSyncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getCurrentSyncInterval(){return a.default.isBackground?a.default.backgroundSyncInterval:a.default.syncInterval}getRequestTimeout(){return a.default.requestTimeout}setRequestTimeout(t){if("number"!=typeof t)throw t+" is not a valid request timeout";a.default.requestTimeout=t}setupSyncCycle(){this.sync&&!this.sync.stopped&&((0,l.default)("[Sync] Setting up sync cycle"),this.on("sync-done",()=>{(0,l.default)("[Sync] Sync done. Setting timer to",this.getCurrentSyncInterval()),this.sync&&!this.sync.stopped&&(this._syncTimer&&clearTimeout(this._syncTimer),this._syncTimer=setTimeout(this.sync.sync.bind(this.sync),this.getCurrentSyncInterval()))}),this.sync.sync())}startSync(){return a.default.cache?(this.sync.stopped=!1,this.syncStopped=!1,this.sync.sync()):(console.warn("Nothing to sync, because caching is disabled."),Promise.resolve())}stopSync(){clearTimeout(this._syncTimer),this._syncTimer=void 0,this.sync?((0,l.default)("[Sync] Stopping sync"),this.sync.stopped=!0):((0,l.default)("[Sync] Will instantiate sync stopped"),this.syncStopped=!0)}addModule(t){const e=t.name,n=t.builder;if(Object.defineProperty(this,e,{configurable:!0,get:function(){const t=this._loadModule(e,n);return Object.defineProperty(this,e,{value:t}),t}}),-1!==e.indexOf("-")){const t=e.replace(/\-[a-z]/g,function(t){return t[1].toUpperCase()});Object.defineProperty(this,t,{get:function(){return this[e]}})}}_loadModule(t,e){if(e)return e(new d.default(this,"/"+t+"/"),new d.default(this,"/public/"+t+"/")).exports;throw"Unknown module: "+t}}e.RemoteStorage=T,T.SyncError=_.default,T.Unauthorized=v.default,T.DiscoveryError=y.default.DiscoveryError,T.util=w,Object.defineProperty(T.prototype,"access",{configurable:!0,get:function(){const t=new h.default;return Object.defineProperty(this,"access",{value:t}),t}}),Object.defineProperty(T.prototype,"caching",{configurable:!0,get:function(){const t=new p.default(this);return Object.defineProperty(this,"caching",{value:t}),t}}),(0,u.applyMixins)(T,[f.EventHandling]),e.default=T},368:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isArrayBufferView=void 0,e.retryAfterMs=function(t){const e=1e3*parseInt(t.getResponseHeader("Retry-After"));return e>=1e3?e:Math.max(1500,Math.min(6e4,Math.round(o.default.syncInterval/(2.9+.2*Math.random()))))},e.requestWithTimeout=function(t,n,r){return i(this,void 0,void 0,function*(){return"function"==typeof fetch?function(t,e,n){return i(this,void 0,void 0,function*(){const i="function"==typeof AbortController?new AbortController:null;let r;const a=new Promise((t,e)=>{r=setTimeout(()=>{i&&i.abort(),e("timeout")},o.default.requestTimeout)});let l;const u={},h=fetch(e,{method:t,headers:n.headers,body:n.body,signal:i?i.signal:void 0}).then(t=>{switch((0,s.default)("[requests fetch]",t),t.headers.forEach((t,e)=>{u[e.toUpperCase()]=t}),l={readyState:4,status:t.status,statusText:t.statusText,response:void 0,getResponseHeader:t=>u[t.toUpperCase()]||null,responseType:n.responseType,responseURL:e},n.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json();case void 0:case"":case"text":return t.text();default:throw new Error("responseType 'document' is not currently supported using fetch")}}).then(t=>(l.response=t,n.responseType&&"text"!==n.responseType||(l.responseText=t),l)).finally(()=>{clearTimeout(r)});return Promise.race([h,a])})}(t,n,r):"function"==typeof XMLHttpRequest?function(t,n,r){return i(this,void 0,void 0,function*(){return new Promise((i,a)=>{(0,s.default)("[requests XHR]",t,n);let l=!1;const u=setTimeout(()=>{l=!0,a("timeout")},o.default.requestTimeout),h=new XMLHttpRequest;if(h.open(t,n,!0),r.responseType&&(h.responseType=r.responseType),r.headers)for(const t in r.headers)h.setRequestHeader(t,r.headers[t]);h.onload=()=>{l||(clearTimeout(u),i(h))},h.onerror=t=>{l||(clearTimeout(u),a(t))};let c=r.body;"object"==typeof c&&!(0,e.isArrayBufferView)(c)&&c instanceof ArrayBuffer&&(c=new Uint8Array(c)),h.send(c)})})}(t,n,r):Promise.reject("[Requests] You need to add a polyfill for fetch or XMLHttpRequest")})};const s=r(n(334)),o=r(n(28));if("function"==typeof(n.g||window).ArrayBufferView)e.isArrayBufferView=function(t){return t&&t instanceof(n.g||window).ArrayBufferView};else{const t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];e.isArrayBufferView=function(e){for(let n=0;n<8;n++)if(e instanceof t[n])return!0;return!1}}},941:function(t){t.exports=class{constructor(t){this._itemsRev={},this._storage={},this._canPropagate=!1,this.defaultValue=t,this.activatePropagation()}get(t){t=t.toLowerCase();let e=this._storage[t];return void 0===e&&(e=this.defaultValue,this._storage[t]=e),e}set(t,e){return t=t.toLowerCase(),this._storage[t]===e||(this._storage[t]=e,e||delete this._itemsRev[t],this._updateParentFolderItemRev(t,e),this._canPropagate&&this._propagate(t)),e}delete(t){return this.set(t,null)}deactivatePropagation(){return this._canPropagate=!1,!0}activatePropagation(){return this._canPropagate||(this._generateFolderRev("/"),this._canPropagate=!0),!0}_hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n0&&(n=this._generateHash(t))}return this.set(t,n),n}}},491:function(t){class e extends Error{constructor(t){super();const e=new Error("Schema not found: "+t);return e.name="SchemaNotFound",e}}t.exports=e},982:function(t){class e extends Error{constructor(t){super(),this.name="SyncError",this.message="Sync failed: ","string"==typeof t?this.message+=t:(this.message+=t.message,this.stack=t.stack,this.originalError=t)}}t.exports=e},313:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Sync=void 0;const s=r(n(28)),o=r(n(451)),a=r(n(93)),l=r(n(334)),u=r(n(275)),h=r(n(982)),c=r(n(503)),d=n(746);let p,f;function g(t,e,n){return{action:t,path:e,promise:n}}function m(t,e){return t.common.revision!==e&&(!t.remote||t.remote.revision!==e)}function y(t){return!!t.common&&!!t.common.revision}class _{constructor(t){this.numThreads=10,this._tasks={},this._running={},this._timeStarted={},this._finishedTasks=[],this.rs=t,this.rs.local.onDiff(t=>{this.addTask(t),this.doTasks()}),this.rs.caching.onActivate(t=>{this.addTask(t),this.doTasks()}),this.addEvents(["done","req-done"])}now(){return(new Date).getTime()}queueGetRequest(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{this.rs.remote.connected?this.rs.remote.online?(this.addTask(t,function(){this.rs.local.get(t).then(t=>e(t))}.bind(this)),this.doTasks()):n("cannot fulfill maxAge requirement - remote is not online"):n("cannot fulfill maxAge requirement - remote is not connected")})})}corruptServerItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t){const n=t[e];if("object"!=typeof n)return!0;if("string"!=typeof n.ETag)return!0;if((0,d.isFolder)(e)){if(-1!==e.substring(0,e.length-1).indexOf("/"))return!0}else if(-1!==e.indexOf("/"))return!0}return!1}corruptItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t)if("boolean"!=typeof t[e])return!0;return!1}corruptRevision(t){return"object"!=typeof t||Array.isArray(t)||t.revision&&"string"!=typeof t.revision||t.body&&"string"!=typeof t.body&&"object"!=typeof t.body||t.contentType&&"string"!=typeof t.contentType||t.contentLength&&"number"!=typeof t.contentLength||t.timestamp&&"number"!=typeof t.timestamp||t.itemsMap&&this.corruptItemsMap(t.itemsMap)}isCorrupt(t){return"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.path||this.corruptRevision(t.common)||t.local&&this.corruptRevision(t.local)||t.remote&&this.corruptRevision(t.remote)||t.push&&this.corruptRevision(t.push)}hasTasks(){return Object.keys(this._tasks).length>0}collectDiffTasks(){return i(this,void 0,void 0,function*(){let t=0;return this.rs.local.forAllNodes(e=>{t>100||(this.isCorrupt(e)?((0,l.default)("[Sync] WARNING: corrupt node in local cache",e),"object"==typeof e&&e.path&&(this.addTask(e.path),t++)):(this.needsFetch(e)&&this.rs.access.checkPathPermission(e.path,"r")||(0,d.isDocument)(e.path)&&this.needsPush(e)&&this.rs.access.checkPathPermission(e.path,"rw"))&&(this.addTask(e.path),t++))}).then(()=>t)})}inConflict(t){return!(!t.local||!t.remote||void 0===t.remote.body&&!t.remote.itemsMap)}needsRefresh(t){return!!t.common&&(!t.common.timestamp||this.now()-t.common.timestamp>s.default.syncInterval)}needsFetch(t){return!!this.inConflict(t)||!(!t.common||void 0!==t.common.itemsMap||void 0!==t.common.body)||!(!t.remote||void 0!==t.remote.itemsMap||void 0!==t.remote.body)}needsPush(t){return!this.inConflict(t)&&(!(!t.local||t.push)||void 0)}needsRemotePut(t){return t.local&&"string"==typeof t.local.body}needsRemoteDelete(t){return t.local&&!1===t.local.body}getParentPath(t){const e=t.match(/^(.*\/)([^\/]+\/?)$/);if(e)return e[1];throw new Error('Not a valid path: "'+t+'"')}deleteChildPathsFromTasks(){for(const t in this._tasks){const e=(0,d.pathsFromRoot)(t);for(let n=1;n{let e;if(this.needsRefresh(t)){try{e=this.getParentPath(t.path)}catch(t){}e&&this.rs.access.checkPathPermission(e,"r")?this.addTask(e):this.rs.access.checkPathPermission(t.path,"r")&&this.addTask(t.path)}}),this.deleteChildPathsFromTasks()})}flush(t){for(const e in t)"FLUSH"===this.rs.caching.checkPath(e)&&t[e]&&!t[e].local&&((0,l.default)("[Sync] Flushing",e),t[e]=void 0);return t}doTask(t){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(e=>{const n=e[t];return void 0===n||function(t){return!(!t.remote||!t.remote.revision||t.remote.itemsMap||t.remote.body)}(n)?g("get",t,this.rs.remote.get(t)):this.needsRemotePut(n)?(n.push=(0,d.deepClone)(n.local),n.push.timestamp=this.now(),this.rs.local.setNodes(this.flush(e)).then(()=>{let e;return e=y(n)?{ifMatch:n.common.revision}:{ifNoneMatch:"*"},g("put",t,this.rs.remote.put(t,n.push.body,n.push.contentType,e))})):this.needsRemoteDelete(n)?(n.push={body:!1,timestamp:this.now()},this.rs.local.setNodes(this.flush(e)).then(()=>y(n)?g("delete",t,this.rs.remote.delete(t,{ifMatch:n.common.revision})):g("get",t,this.rs.remote.get(t)))):y(n)?g("get",t,this.rs.remote.get(t,{ifNoneMatch:n.common.revision})):g("get",t,this.rs.remote.get(t))})})}autoMergeFolder(t){if(t.remote.itemsMap&&(t.common=t.remote,delete t.remote,t.common.itemsMap)){for(const e in t.common.itemsMap)t.local.itemsMap[e]||(t.local.itemsMap[e]=!1);for(const e in t.local.itemsMap)t.common.itemsMap[e]||this.addTask(t.path+e);(0,d.equal)(t.local.itemsMap,t.common.itemsMap)&&delete t.local}return t}autoMergeDocument(t){var e;return function(t){return(!t.remote||!t.remote.revision||t.remote.revision===t.common.revision)&&(void 0===t.common.body&&!1===t.remote.body||t.remote.body===t.common.body&&t.remote.contentType===t.common.contentType)}(t)?delete(t=function(t){return t.remote&&!1===t.remote.body&&t.local&&!1===t.local.body&&delete t.local,t}(t)).remote:void 0!==t.remote.body&&(!1===t.remote.body&&!1===(null===(e=t.local)||void 0===e?void 0:e.body)||((0,l.default)("[Sync] Emitting conflict event"),setTimeout(this.rs.local.emitChange.bind(this.rs.local),10,{origin:"conflict",path:t.path,oldValue:t.local.body,newValue:t.remote.body,lastCommonValue:t.common.body,oldContentType:t.local.contentType,newContentType:t.remote.contentType,lastCommonContentType:t.common.contentType})),!1===t.remote.body?t.common={}:t.common=t.remote,delete t.remote,delete t.local),t}autoMerge(t){if(t.remote){if(t.local)return(0,d.isFolder)(t.path)?this.autoMergeFolder(t):this.autoMergeDocument(t);if((0,d.isFolder)(t.path))void 0!==t.remote.itemsMap&&(t.common=t.remote,delete t.remote);else if(void 0!==t.remote.body){const e={origin:"remote",path:t.path,oldValue:!1===t.common.body?void 0:t.common.body,newValue:!1===t.remote.body?void 0:t.remote.body,oldContentType:t.common.contentType,newContentType:t.remote.contentType};if(void 0===e.oldValue&&void 0===e.newValue||this.rs.local.emitChange(e),!1===t.remote.body)return;t.common=t.remote,delete t.remote}return t}t.common.body&&this.rs.local.emitChange({origin:"remote",path:t.path,oldValue:t.common.body,newValue:void 0,oldContentType:t.common.contentType,newContentType:void 0})}updateCommonTimestamp(t,e){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(n=>(n[t]&&n[t].common&&n[t].common.revision===e&&(n[t].common.timestamp=this.now()),this.rs.local.setNodes(this.flush(n))))})}markChildren(t,e,n,r){return i(this,void 0,void 0,function*(){const i=[],s={},o={};for(const n in e)i.push(t+n),s[t+n]=e[n];for(const e in r)i.push(t+e);const a=yield this.rs.local.getNodes(i);let l,u;for(const e in a)if(u=a[e],s[e])u&&u.common?m(u,s[e].ETag)&&(n[e]=(0,d.deepClone)(u),n[e].remote={revision:s[e].ETag,timestamp:this.now()},n[e]=this.autoMerge(n[e])):(l=this.rs.caching.checkPath(e),"ALL"===l&&(n[e]={path:e,common:{timestamp:this.now()},remote:{revision:s[e].ETag,timestamp:this.now()}})),n[e]&&s[e]["Content-Type"]&&(n[e].remote.contentType=s[e]["Content-Type"]),n[e]&&s[e]["Content-Length"]&&(n[e].remote.contentLength=s[e]["Content-Length"]);else if(r[e.substring(t.length)]&&u&&u.common){if(u.common.itemsMap)for(const t in u.common.itemsMap)o[e+t]=!0;if(u.local&&u.local.itemsMap)for(const t in u.local.itemsMap)o[e+t]=!0;if(u.remote||(0,d.isFolder)(e))n[e]=void 0;else if(n[e]=this.autoMerge(u),void 0===n[e]){const i=this.getParentPath(e),r=n[i],s=e.substring(t.length);r&&r.local&&(delete r.local.itemsMap[s],(0,d.equal)(r.local.itemsMap,r.common.itemsMap)&&delete r.local)}}const h=yield this.markRemoteDeletions(Object.keys(o),n);h&&(yield this.rs.local.setNodes(this.flush(h)))})}markRemoteDeletions(t,e){return i(this,void 0,void 0,function*(){if(0===t.length)return e;const n=yield this.rs.local.getNodes(t),i={};function r(t,e){if(t&&t.itemsMap)for(const n in t.itemsMap)i[e+n]=!0}for(const t in n){const i=n[t];i&&((0,d.isFolder)(t)?(r(i.common,t),r(i.local,t)):i.common&&void 0!==i.common.body&&(e[t]=(0,d.deepClone)(i),e[t].remote={body:!1,timestamp:this.now()},e[t]=this.autoMerge(e[t])))}const s=yield this.markRemoteDeletions(Object.keys(i),e);s&&(yield this.rs.local.setNodes(this.flush(s)))})}completeFetch(t,e,n,r){return i(this,void 0,void 0,function*(){let i,s;const o=(0,d.pathsFromRoot)(t);(0,d.isFolder)(t)?i=[t]:(s=o[1],i=[t,s]);const a=yield this.rs.local.getNodes(i),l=a[s],u={};let h,c=a[t];function p(t){if(t&&t.itemsMap)for(h in t.itemsMap)e[h]||(u[h]=!0)}if("object"==typeof c&&c.path===t&&"object"==typeof c.common||(c={path:t,common:{}},a[t]=c),c.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(h in p(c.common),p(c.remote),c.remote.itemsMap={},e)c.remote.itemsMap[h]=!0;else c.remote.body=e,c.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(h=t.substring(s.length),!1!==e?l.local.itemsMap[h]=!0:l.local.itemsMap[h]&&delete l.local.itemsMap[h],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(c),{toBeSaved:a,missingChildren:u}})}completePush(t,e,n,r){return i(this,void 0,void 0,function*(){const i=yield this.rs.local.getNodes([t]),s=i[t];if(!s.push)throw this.stopped=!0,new Error("completePush called but no push version!");n?((0,l.default)("[Sync] We have a conflict"),s.remote&&s.remote.revision===r||(s.remote={revision:r||"conflict",timestamp:this.now()},delete s.push),i[t]=this.autoMerge(s)):(s.common={revision:r,timestamp:this.now()},"put"===e?(s.common.body=s.push.body,s.common.contentType=s.push.contentType,(0,d.equal)(s.local.body,s.push.body)&&s.local.contentType===s.push.contentType&&delete s.local,delete s.push):"delete"===e&&(!1===s.local.body?i[t]=void 0:delete s.push)),yield this.rs.local.setNodes(this.flush(i))})}dealWithFailure(t){return i(this,void 0,void 0,function*(){const e=yield this.rs.local.getNodes([t]);if(e[t])return delete e[t].push,this.rs.local.setNodes(this.flush(e))})}interpretStatus(t){const e={statusCode:t,successful:void 0,conflict:void 0,unAuth:void 0,notFound:void 0,changed:void 0,networkProblems:void 0};if("string"==typeof t&&("offline"===t||"timeout"===t))return e.successful=!1,e.networkProblems=!0,e;if("number"==typeof t){const n=Math.floor(t/100);return e.successful=2===n||304===t||412===t||404===t,e.conflict=412===t,e.unAuth=401===t&&this.rs.remote.token!==u.default.IMPLIED_FAKE_TOKEN||402===t||403===t,e.notFound=404===t,e.changed=304!==t,e}}handleGetResponse(t,e,n,r,s){return i(this,void 0,void 0,function*(){if(e.notFound&&(n=!!(0,d.isFolder)(t)&&{}),e.changed){const e=yield this.completeFetch(t,n,r,s);if((0,d.isFolder)(t)){if(this.corruptServerItemsMap(n))return(0,l.default)("[Sync] WARNING: Discarding corrupt folder description from server for "+t),!1;yield this.markChildren(t,n,e.toBeSaved,e.missingChildren)}else yield this.rs.local.setNodes(this.flush(e.toBeSaved))}else yield this.updateCommonTimestamp(t,s);return!0})}handleResponse(t,e,n){return i(this,void 0,void 0,function*(){const i=this.interpretStatus(n.statusCode);if(i.successful){if("get"===e)return this.handleGetResponse(t,i,n.body,n.contentType,n.revision);if("put"===e||"delete"===e)return this.completePush(t,e,i.conflict,n.revision).then(function(){return!0});throw new Error(`cannot handle response for unknown action ${e}`)}{let e;return e=i.unAuth?new c.default:i.networkProblems?new h.default("Network request failed."):new Error("HTTP response code "+i.statusCode+" received."),this.dealWithFailure(t).then(()=>{throw this.rs._emit("error",e),e})}})}finishTask(t){return i(this,arguments,void 0,function*(t,e=!0){if(void 0===t.action)return void delete this._running[t.path];if(e&&((0,l.default)("[Sync] queue finished task:",t.path),this._finishedTasks.push(t),this._finishedTasks.length>1))return void(0,l.default)("[Sync] delaying finished task:",t.path);let n;(0,l.default)("[Sync] run task:",t.path);try{n=yield t.promise}catch(e){(0,l.default)("[Sync] wire client rejects its promise",t.path,t.action,e),n={statusCode:"offline"}}try{const e=yield this.handleResponse(t.path,t.action,n);this.finishSuccessfulTask(t,e)}catch(e){this.finishUnsuccessfulTask(t,e)}})}finishSuccessfulTask(t,e){return i(this,void 0,void 0,function*(){if(this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],e&&this._tasks[t.path]){for(let e=0;e0?yield this.finishTask(this._finishedTasks[0],!1):yield this.collectTasks(!1).then(()=>{!this.hasTasks()||this.stopped?(this.done||(this.done=!0),this.rs._emit("sync-done",{completed:!0})):setTimeout(()=>{this.doTasks()},10)})})}finishUnsuccessfulTask(t,e){return i(this,void 0,void 0,function*(){(0,l.default)("[Sync]",e.message),this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],this.rs._emit("sync-req-done",{tasksRemaining:Object.keys(this._tasks).length}),this._finishedTasks.length>0?yield this.finishTask(this._finishedTasks[0],!1):this.done||(this.done=!0,this.rs._emit("sync-done",{completed:!1}))})}tasksWanted(){return this.rs.remote.connected?this.rs.remote.online?this.numThreads:1:0}doTasks(){const t=this.tasksWanted()-Object.keys(this._running).length;if(t<=0)return!0;this.hasTasks()&&!this.done&&this.rs._emit("sync-started");let e,n=0;for(e in this._tasks)if(!this._running[e]&&(this._timeStarted[e]=this.now(),this._running[e]=this.doTask(e).then(this.finishTask.bind(this)),n++,n>=t))break;return n>=t}collectTasks(){return i(this,arguments,void 0,function*(t=!0){if(!this.hasTasks()&&!this.stopped)return(yield this.collectDiffTasks())>0?void 0:t?this.collectRefreshTasks():void 0})}addTask(t,e){this._tasks[t]||(this._tasks[t]=[]),"function"==typeof e&&this._tasks[t].push(e)}sync(){return i(this,void 0,void 0,function*(){if(this.done=!1,!this.doTasks()){try{yield this.collectTasks()}catch(t){throw(0,l.default)("[Sync] Sync error",t),new Error("Local cache unavailable")}this.doTasks()}})}static _rs_init(t){p=function(){const e=new o.default;e.isBrowser()&&function(t,e){function n(t){const n=e.getCurrentSyncInterval();s.default.isBackground=!t;const i=e.getCurrentSyncInterval();e._emit("sync-interval-change",{oldValue:n,newValue:i})}t.on("background",()=>n(!1)),t.on("foreground",()=>n(!0))}(e,t),t.sync||(t.sync=new _(t),t.syncStopped&&((0,l.default)("[Sync] Initializing with sync stopped"),t.sync.stopped=!0,delete t.syncStopped)),t.setupSyncCycle()},f=function(){t.removeEventListener("connected",f),t.startSync()},t.on("ready",p),t.on("connected",f)}static _rs_cleanup(t){t.stopSync(),t.removeEventListener("ready",p),t.removeEventListener("connected",f),t.sync=void 0,delete t.sync}}e.Sync=_,(0,d.applyMixins)(_,[a.default]),e.default=_},370:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const r=(this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}})(n(334));function s(t){return"dropbox"===this.backend&&!!t.match(/^\/public\/.*[^\/]$/)}const o={get:function(t,e){if(this.local){if(void 0===e)e="object"==typeof(n=this).remote&&n.remote.connected&&n.remote.online?2*n.getSyncInterval():((0,r.default)("Not setting default maxAge, because remote is offline or not connected"),!1);else if("number"!=typeof e&&!1!==e)return Promise.reject("Argument 'maxAge' must be 'false' or a number");return this.local.get(t,e,this.sync.queueGetRequest.bind(this.sync))}return this.remote.get(t);var n},put:function(t,e,n){return s.bind(this)(t)?o._wrapBusyDone.call(this,this.remote.put(t,e,n)):this.local?this.local.put(t,e,n):o._wrapBusyDone.call(this,this.remote.put(t,e,n))},delete:function(t,e){return this.local?this.local.delete(t,e):o._wrapBusyDone.call(this,this.remote.delete(t,e))},_wrapBusyDone:function(t){return i(this,void 0,void 0,function*(){return this._emit("wire-busy"),t.then(t=>(this._emit("wire-done",{success:!0}),Promise.resolve(t)),t=>(this._emit("wire-done",{success:!1}),Promise.reject(t)))})}};t.exports=o},613:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClientTypes=void 0;class n{constructor(){this.uris={},this.schemas={},this.aliases={}}declare(t,e,n,i){const r=t+"/"+e;if(i.extends){const e=i.extends.split("/"),n=1===e.length?t+"/"+e.shift():e.join("/"),s=this.uris[n];if(!s)throw"Type '"+r+"' tries to extend unknown schema '"+n+"'";i.extends=this.schemas[s]}this.uris[r]=n,this.aliases[n]=r,this.schemas[n]=i}resolveAlias(t){return this.uris[t]}getSchema(t){return this.schemas[t]}inScope(t){const e=t.length,n={};for(const i in this.uris)if(i.substr(0,e+1)===t+"/"){const t=this.uris[i];n[t]=this.schemas[t]}return n}}e.BaseClientTypes=n;const i=new n;e.default=i},503:function(t){class e extends Error{constructor(t,e={}){super(),this.name="Unauthorized",this.message=void 0===t?"App authorization expired or revoked.":t,void 0!==e.code&&(this.code=e.code),this.stack=(new Error).stack}}t.exports=e},746:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};function r(t,e){if("object"==typeof t&&!Array.isArray(t)&&null!==t)for(const n in t)if("object"==typeof t[n]&&null!==t[n])if("[object ArrayBuffer]"===t[n].toString()){e[n]=new ArrayBuffer(t[n].byteLength);const i=new Int8Array(t[n]);new Int8Array(e[n]).set(i)}else r(t[n],e[n])}Object.defineProperty(e,"__esModule",{value:!0}),e.toBase64=e.getTextFromArrayBuffer=e.shouldBeTreatedAsBinary=e.getJSONFromLocalStorage=e.localStorageAvailable=e.pathsFromRoot=e.deepClone=e.equal=e.bindAll=e.cleanPath=e.baseName=e.isDocument=e.isFolder=e.containingFolder=e.extend=e.getGlobalContext=e.globalContext=e.logError=void 0,e.generateCodeVerifier=function(){return i(this,arguments,void 0,function*(t=128){const e=new Uint8Array(t);crypto.getRandomValues(e);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=Array.from(e).map(t=>n[t%66]),r=i.join(""),s=Uint8Array.from(i.map(t=>t.charCodeAt(0))),o=(a=yield crypto.subtle.digest("SHA-256",s),btoa(String.fromCharCode.apply(null,new Uint8Array(a))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""));var a;return crypto.getRandomValues(e),{codeVerifier:r,codeChallenge:o,state:Array.from(e).map(t=>n[t%66]).join("")}})},e.applyMixins=function(t,e){e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(n=>{Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n))})})},e.logError=t=>{"string"==typeof t?console.error(t):console.error(t.message,t.stack)},e.globalContext="undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.getGlobalContext=()=>"undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.extend=(...t)=>{const e=t[0];return Array.prototype.slice.call(t,1).forEach(function(t){for(const n in t)e[n]=t[n]}),e},e.containingFolder=t=>{if(""===t)return"/";if(!t)throw"Path not given!";return t.replace(/\/+/g,"/").replace(/[^\/]+\/?$/,"")},e.isFolder=t=>"/"===t.slice(-1),e.isDocument=t=>!(0,e.isFolder)(t),e.baseName=t=>{const n=t.split("/");return(0,e.isFolder)(t)?n[n.length-2]+"/":n[n.length-1]},e.cleanPath=t=>t.replace(/\/+/g,"/").split("/").map(encodeURIComponent).join("/").replace(/'/g,"%27"),e.bindAll=t=>{for(const e in this)"function"==typeof t[e]&&(t[e]=t[e].bind(t))},e.equal=(t,n,i=[])=>{let r;if(typeof t!=typeof n)return!1;if("number"==typeof t||"boolean"==typeof t||"string"==typeof t)return t===n;if("function"==typeof t)return t.toString()===n.toString();if(t instanceof ArrayBuffer&&n instanceof ArrayBuffer&&(t=new Uint8Array(t),n=new Uint8Array(n)),t instanceof Array){if(t.length!==n.length)return!1;for(let r=0,s=t.length;r=0)continue;s=i.slice(),s.push(n[r])}if(!(0,e.equal)(t[r],n[r],s))return!1}}return!0},e.deepClone=t=>{if(void 0!==t){const e=JSON.parse(JSON.stringify(t));return r(t,e),e}},e.pathsFromRoot=t=>{const e=[t],n=t.replace(/\/$/,"").split("/");for(;n.length>1;)n.pop(),e.push(n.join("/")+"/");return e},e.localStorageAvailable=()=>{const t=(0,e.getGlobalContext)();if(!("localStorage"in t))return!1;try{return t.localStorage.setItem("rs-check","1"),t.localStorage.removeItem("rs-check"),!0}catch(t){return!1}},e.getJSONFromLocalStorage=t=>{const n=(0,e.getGlobalContext)();try{return JSON.parse(n.localStorage.getItem(t))}catch(t){}},e.shouldBeTreatedAsBinary=(t,e)=>!!(e&&e.match(/charset=binary/)||/[\x00-\x08\x0E-\x1F\uFFFD]/.test(t)),e.getTextFromArrayBuffer=(t,n)=>new Promise(i=>{if("undefined"==typeof Blob||"undefined"==typeof FileReader){const e=Buffer.from(t);i(e.toString(n))}else{let r;const s=e.globalContext;if(s.BlobBuilder=s.BlobBuilder||s.WebKitBlobBuilder,void 0!==s.BlobBuilder){const e=new s.BlobBuilder;e.append(t),r=e.getBlob()}else r=new Blob([t]);const o=new FileReader;"function"==typeof o.addEventListener?o.addEventListener("loadend",function(t){i(t.target.result)}):o.onloadend=function(t){i(t.target.result)},o.readAsText(r,n)}}),e.toBase64=t=>{const n=(0,e.getGlobalContext)();return"btoa"in n?n.btoa(t):Buffer.from(t).toString("base64")}},600:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(275)),o=r(n(93)),a=r(n(503)),l=r(n(334)),u=n(746),h=n(368),c=n(684);let d;const p="remotestorage:wireclient",f={"draft-dejong-remotestorage-00":2,"draft-dejong-remotestorage-01":3,"draft-dejong-remotestorage-02":4,"https://www.w3.org/community/rww/wiki/read-write-web-00#simple":1};class g extends c.RemoteBase{constructor(t){if(super(t),this._revisionCache={},d=(0,u.localStorageAvailable)(),this.addEvents(["connected","not-connected"]),d){const t=function(){const t=(0,u.getJSONFromLocalStorage)(p)||{},{userAddress:e,href:n,storageApi:i,token:r,properties:s}=t;return{userAddress:e,href:n,storageApi:i,token:r,properties:s}}();t&&setTimeout(()=>{this.configure(t)},0)}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}get storageType(){if(this.storageApi){const t=this.storageApi.match(/draft-dejong-(remotestorage-\d\d)/);return t?t[1]:"2012.04"}}_request(t,e,n,r,o,c,d){return i(this,void 0,void 0,function*(){if(this.isForbiddenRequestMethod(t,e))return Promise.reject(`Don't use ${t} on directories!`);let i;return n!==s.default.IMPLIED_FAKE_TOKEN&&(r.Authorization="Bearer "+n),this.rs._emit("wire-busy",{method:t,isFolder:(0,u.isFolder)(e)}),(0,h.requestWithTimeout)(t,e,{body:o,headers:r,responseType:"arraybuffer"}).then(n=>{if(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),r=n.status,[401,403,404,412].indexOf(r)>=0)return(0,l.default)("[WireClient] Error response status",n.status),i=c?this.stripQuotes(n.getResponseHeader("ETag")):void 0,401===n.status&&this.rs._emit("error",new a.default),Promise.resolve({statusCode:n.status,revision:i});if(function(t){return[201,204,304].indexOf(t)>=0}(n.status)||200===n.status&&"GET"!==t)return i=this.stripQuotes(n.getResponseHeader("ETag")),(0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,revision:i});{const t=n.getResponseHeader("Content-Type");i=c?this.stripQuotes(n.getResponseHeader("ETag")):200===n.status?d:void 0;const e=function(t){let e,n="utf-8";return t&&(e=t.match(/charset=(.+)$/),e&&(n=e[1])),n}(t);return(0,u.shouldBeTreatedAsBinary)(n.response,t)?((0,l.default)("[WireClient] Successful request with unknown or binary mime-type",i),Promise.resolve({statusCode:n.status,body:n.response,contentType:t,revision:i})):(0,u.getTextFromArrayBuffer)(n.response,e).then(e=>((0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,body:e,contentType:t,revision:i})))}var r},n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!1}),Promise.reject(n)))})}configure(t){if("object"!=typeof t)throw new Error("WireClient configure settings parameter should be an object");if(void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.href&&(this.href=t.href),void 0!==t.storageApi&&(this.storageApi=t.storageApi),void 0!==t.token&&(this.token=t.token),void 0!==t.properties&&(this.properties=t.properties),"string"==typeof this.storageApi){const t=f[this.storageApi]||5;this.supportsRevs=t>=2}this.href&&this.token?(this.connected=!0,this.online=!0,this._emit("connected")):this.connected=!1,d&&localStorage.setItem(p,JSON.stringify({userAddress:this.userAddress,href:this.href,storageApi:this.storageApi,token:this.token,properties:this.properties}))}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n={};return this.supportsRevs&&e.ifNoneMatch&&(n["If-None-Match"]=this.addQuotes(e.ifNoneMatch)),this._request("GET",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs,this._revisionCache[t]).then(e=>{if(!(0,u.isFolder)(t))return Promise.resolve(e);let n={};if(void 0!==e.body)try{e.body=JSON.parse(e.body)}catch(e){return Promise.reject("Folder description at "+this.href+(0,u.cleanPath)(t)+" is not JSON")}if(200===e.statusCode&&"object"==typeof e.body){if(0===Object.keys(e.body).length)e.statusCode=404;else if("http://remotestorage.io/spec/folder-description"===(i=e.body)["@context"]&&"object"==typeof i.items){for(const n in e.body.items)this._revisionCache[t+n]=e.body.items[n].ETag;n=e.body.items}else Object.keys(e.body).forEach(i=>{this._revisionCache[t+i]=e.body[i],n[i]={ETag:e.body[i]}});return e.body=n,Promise.resolve(e)}return Promise.resolve(e);var i})}put(t,e,n,i={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");!n.match(/charset=/)&&(e instanceof ArrayBuffer||(0,h.isArrayBufferView)(e))&&(n+="; charset=binary");const r={"Content-Type":n};return this.supportsRevs&&(i.ifMatch&&(r["If-Match"]=this.addQuotes(i.ifMatch)),i.ifNoneMatch&&(r["If-None-Match"]=this.addQuotes(i.ifNoneMatch))),this._request("PUT",this.href+(0,u.cleanPath)(t),this.token,r,e,this.supportsRevs)}delete(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");e||(e={});const n={};return this.supportsRevs&&e.ifMatch&&(n["If-Match"]=this.addQuotes(e.ifMatch)),this._request("DELETE",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs)}static _rs_init(t){t.remote=new g(t),t.remote.online=!0}static _rs_supported(){return"function"==typeof fetch||"function"==typeof XMLHttpRequest}static _rs_cleanup(){d&&delete localStorage[p]}}(0,u.applyMixins)(g,[o.default]),t.exports=g},439:function(t,e){var n,i;n=function(){var t,e,n,i;Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=(n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(r){if("object"!=typeof r&&"function"!=typeof r||null===r)throw new TypeError("Object.keys called on non-object");var s=[];for(var o in r)t.call(r,o)&&s.push(o);if(e)for(var a=0;a>>0;if(0===n)return-1;var i=0;if(arguments.length>1&&((i=Number(arguments[1]))!=i?i=0:0!==i&&i!==1/0&&i!==-1/0&&(i=(i>0||-1)*Math.floor(Math.abs(i)))),i>=n)return-1;for(var r=i>=0?i:Math.max(n-Math.abs(i),0);r0&&(e+=h.suffices["*"]&&n||",",h.suffices["*"]&&l&&(e+=h.name+"=")),e+=a?encodeURIComponent(c[p]).replace(/!/g,"%21"):o(c[p])}else if("object"==typeof c){l&&!h.suffices["*"]&&(e+=h.name+"=");var f=!0;for(var g in c)f||(e+=h.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=h.suffices["*"]?"=":",",e+=a?encodeURIComponent(c[g]).replace(/!/g,"%21"):o(c[g])}else l&&(e+=h.name,u&&""===c||(e+="=")),null!=h.truncate&&(c=c.substring(0,h.truncate)),e+=a?encodeURIComponent(c).replace(/!/g,"%21"):o(c)}return e};return b.varNames=h,{prefix:i,substitution:b}}function l(t){if(!(this instanceof l))return new l(t);for(var e=t.split("{"),n=[e.shift()],i=[],r=[],s=[];e.length>0;){var o=e.shift(),u=o.split("}")[0],h=o.substring(u.length+1),c=a(u);r.push(c.substitution),i.push(c.prefix),n.push(h),s=s.concat(c.substitution.varNames)}this.fill=function(t){for(var e=n[0],i=0;i0&&"/"===e.charAt(t.length-1)||"#"===n.charAt(0)||"?"===n.charAt(0))return!0}return!1}(e,t.id)&&void 0===this.schemas[t.id]&&(this.schemas[t.id]=t),t)if("enum"!==i)if("object"==typeof t[i])this.searchSchemas(t[i],e);else if("$ref"===i){var r=g(t[i]);r&&void 0===this.schemas[r]&&void 0===this.missingMap[r]&&(this.missingMap[r]=r)}},u.prototype.addSchema=function(t,e){if("string"!=typeof t||void 0===e){if("object"!=typeof t||"string"!=typeof t.id)return;t=(e=t).id}t===g(t)+"#"&&(t=g(t)),this.schemas[t]=e,delete this.missingMap[t],m(e,t),this.searchSchemas(e,t)},u.prototype.getSchemaMap=function(){var t={};for(var e in this.schemas)t[e]=this.schemas[e];return t},u.prototype.getSchemaUris=function(t){var e=[];for(var n in this.schemas)t&&!t.test(n)||e.push(n);return e},u.prototype.getMissingUris=function(t){var e=[];for(var n in this.missingMap)t&&!t.test(n)||e.push(n);return e},u.prototype.dropSchemas=function(){this.schemas={},this.reset()},u.prototype.reset=function(){this.missing=[],this.missingMap={},this.errors=[]},u.prototype.validateAll=function(t,e,n,i,r){var s;if(!(e=this.resolveRefs(e)))return null;if(e instanceof x)return this.errors.push(e),e;var o,a=this.errors.length,l=null,u=null;if(this.checkRecursive&&t&&"object"==typeof t){if(s=!this.scanned.length,t[this.validatedSchemasKey]){var h=t[this.validatedSchemasKey].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(t[this.validationErrorsKey][h]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var c=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==c)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][c]),null}if(this.scanned.push(t),Object.isFrozen(t))-1===o&&(o=this.scannedFrozen.length,this.scannedFrozen.push(t),this.scannedFrozenSchemas.push([])),l=this.scannedFrozenSchemas[o].length,this.scannedFrozenSchemas[o][l]=e,this.scannedFrozenValidationErrors[o][l]=[];else{if(!t[this.validatedSchemasKey])try{Object.defineProperty(t,this.validatedSchemasKey,{value:[],configurable:!0}),Object.defineProperty(t,this.validationErrorsKey,{value:[],configurable:!0})}catch(e){t[this.validatedSchemasKey]=[],t[this.validationErrorsKey]=[]}u=t[this.validatedSchemasKey].length,t[this.validatedSchemasKey][u]=e,t[this.validationErrorsKey][u]=[]}}var d=this.errors.length,p=this.validateBasic(t,e,r)||this.validateNumeric(t,e,r)||this.validateString(t,e,r)||this.validateArray(t,e,r)||this.validateObject(t,e,r)||this.validateCombinations(t,e,r)||this.validateHypermedia(t,e,r)||this.validateFormat(t,e,r)||this.validateDefinedKeywords(t,e,r)||null;if(s){for(;this.scanned.length;)delete this.scanned.pop()[this.validatedSchemasKey];this.scannedFrozen=[],this.scannedFrozenSchemas=[]}if(p||d!==this.errors.length)for(;n&&n.length||i&&i.length;){var f=n&&n.length?""+n.pop():null,g=i&&i.length?""+i.pop():null;p&&(p=p.prefixWith(f,g)),this.prefixErrors(d,f,g)}return null!==l?this.scannedFrozenValidationErrors[o][l]=this.errors.slice(a):null!==u&&(t[this.validationErrorsKey][u]=this.errors.slice(a)),this.handleError(p)},u.prototype.validateFormat=function(t,e){if("string"!=typeof e.format||!this.formatValidators[e.format])return null;var n=this.formatValidators[e.format].call(null,t,e);return"string"==typeof n||"number"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n},"","/format",null,t,e):n&&"object"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n.message||"?"},n.dataPath||"",n.schemaPath||"/format",null,t,e):null},u.prototype.validateDefinedKeywords=function(t,e,n){for(var i in this.definedKeywords)if(void 0!==e[i])for(var r=this.definedKeywords[i],s=0;s=c&&ie.maximum)return this.createError(_.NUMBER_MAXIMUM,{value:t,maximum:e.maximum},"","/maximum",null,t,e);if(e.exclusiveMaximum&&t===e.maximum)return this.createError(_.NUMBER_MAXIMUM_EXCLUSIVE,{value:t,maximum:e.maximum},"","/exclusiveMaximum",null,t,e)}return null},u.prototype.validateNaN=function(t,e){return"number"!=typeof t?null:!0===isNaN(t)||t===1/0||t===-1/0?this.createError(_.NUMBER_NOT_A_NUMBER,{value:t},"","/type",null,t,e):null},u.prototype.validateString=function(t,e,n){return this.validateStringLength(t,e,n)||this.validateStringPattern(t,e,n)||null},u.prototype.validateStringLength=function(t,e){return"string"!=typeof t?null:void 0!==e.minLength&&t.lengthe.maxLength?this.createError(_.STRING_LENGTH_LONG,{length:t.length,maximum:e.maxLength},"","/maxLength",null,t,e):null},u.prototype.validateStringPattern=function(t,e){if("string"!=typeof t||"string"!=typeof e.pattern&&!(e.pattern instanceof RegExp))return null;var n;if(e.pattern instanceof RegExp)n=e.pattern;else{var i,r="",s=e.pattern.match(/^\/(.+)\/([img]*)$/);s?(i=s[1],r=s[2]):i=e.pattern,n=new RegExp(i,r)}return n.test(t)?null:this.createError(_.STRING_PATTERN,{pattern:e.pattern},"","/pattern",null,t,e)},u.prototype.validateArray=function(t,e,n){return Array.isArray(t)&&(this.validateArrayLength(t,e,n)||this.validateArrayUniqueItems(t,e,n)||this.validateArrayItems(t,e,n))||null},u.prototype.validateArrayLength=function(t,e){var n;return void 0!==e.minItems&&t.lengthe.maxItems&&(n=this.createError(_.ARRAY_LENGTH_LONG,{length:t.length,maximum:e.maxItems},"","/maxItems",null,t,e),this.handleError(n))?n:null},u.prototype.validateArrayUniqueItems=function(t,e){if(e.uniqueItems)for(var n=0;ne.maxProperties&&(n=this.createError(_.OBJECT_PROPERTIES_MAXIMUM,{propertyCount:i.length,maximum:e.maxProperties},"","/maxProperties",null,t,e),this.handleError(n))?n:null},u.prototype.validateObjectRequiredProperties=function(t,e){if(void 0!==e.required)for(var n=0;n 10000");if(void 0!==_[t])throw new Error("Error already defined: "+t+" as "+_[t]);if(void 0!==v[e])throw new Error("Error code already used: "+v[e]+" as "+e);for(var i in _[t]=e,v[e]=t,w[t]=w[e]=n,S){var r=S[i];r[t]&&(r[e]=r[e]||r[t])}},reset:function(){i.reset(),this.error=null,this.missing=[],this.valid=!0},missing:[],error:null,valid:!0,normSchema:m,resolveUrl:f,getDocumentUri:g,errorCodes:_};return r.language("en"),r}();return E.addLanguage("en-gb",w),E.tv4=E,E},void 0===(i=n.apply(e,[]))||(t.exports=i)},199:function(t,e,n){var i;"function"!=typeof fetch&&"function"!=typeof XMLHttpRequest&&(XMLHttpRequest=n(317)),function(){var n={"http://webfist.org/spec/rel":"webfist","http://webfinger.net/rel/avatar":"avatar",remotestorage:"remotestorage","http://tools.ietf.org/id/draft-dejong-remotestorage":"remotestorage",remoteStorage:"remotestorage","http://www.packetizer.com/rel/share":"share","http://webfinger.net/rel/profile-page":"profile",me:"profile",vcard:"vcard",blog:"blog","http://packetizer.com/rel/blog":"blog","http://schemas.google.com/g/2010#updates-from":"updates","https://camlistore.org/rel/server":"camilstore"},r={avatar:[],remotestorage:[],blog:[],vcard:[],updates:[],share:[],profile:[],webfist:[],camlistore:[]},s=["webfinger","host-meta","host-meta.json"];function o(t){return t.toString=function(){return this.message},t}function a(t){"object"!=typeof t&&(t={}),this.config={tls_only:void 0===t.tls_only||t.tls_only,webfist_fallback:void 0!==t.webfist_fallback&&t.webfist_fallback,uri_fallback:void 0!==t.uri_fallback&&t.uri_fallback,request_timeout:void 0!==t.request_timeout?t.request_timeout:1e4}}a.prototype.__fetchJRD=function(t,e,n){if("function"==typeof fetch)return this.__fetchJRD_fetch(t,e,n);if("function"==typeof XMLHttpRequest)return this.__fetchJRD_XHR(t,e,n);throw new Error("add a polyfill for fetch or XMLHttpRequest")},a.prototype.__fetchJRD_fetch=function(t,e,n){var i,r=this;"function"==typeof AbortController&&(i=new AbortController);var s=fetch(t,{headers:{Accept:"application/jrd+json, application/json"},signal:i?i.signal:void 0}).then(function(e){if(e.ok)return e.text();throw 404===e.status?o({message:"resource not found",url:t,status:e.status}):o({message:"error during request",url:t,status:e.status})},function(e){throw o({message:"error during request",url:t,status:void 0,err:e})}).then(function(e){if(r.__isValidJSON(e))return e;throw o({message:"invalid json",url:t,status:void 0})}),a=new Promise(function(e,n){setTimeout(function(){n(o({message:"request timed out",url:t,status:void 0})),i&&i.abort()},r.config.request_timeout)});Promise.race([s,a]).then(function(t){n(t)}).catch(function(t){e(t)})},a.prototype.__fetchJRD_XHR=function(t,e,n){var i=this,r=!1,s=new XMLHttpRequest;function a(){if(!r)return r=!0,200===s.status?i.__isValidJSON(s.responseText)?n(s.responseText):e(o({message:"invalid json",url:t,status:s.status})):404===s.status?e(o({message:"resource not found",url:t,status:s.status})):s.status>=301&&s.status<=302?function(t){return"string"==typeof t&&"https"===t.split("://")[0]}(s.getResponseHeader("Location"))?l():e(o({message:"no redirect URL found",url:t,status:s.status})):e(o({message:"error during request",url:t,status:s.status}))}function l(){s.onreadystatechange=function(){4===s.readyState&&a()},s.onload=function(){a()},s.ontimeout=function(){return e(o({message:"request timed out",url:t,status:s.status}))},s.open("GET",t,!0),s.timeout=i.config.request_timeout,s.setRequestHeader("Accept","application/jrd+json, application/json"),s.send()}return l()},a.prototype.__isValidJSON=function(t){try{JSON.parse(t)}catch(t){return!1}return!0},a.prototype.__isLocalhost=function(t){return/^localhost(\.localdomain)?(\:[0-9]+)?$/.test(t)},a.prototype.__processJRD=function(t,e,i,s){var a=JSON.parse(e);if("object"!=typeof a||"object"!=typeof a.links)return void 0!==a.error?i(o({message:a.error,request:t})):i(o({message:"unknown response from server",request:t}));var l=a.links;Array.isArray(l)||(l=[]);var u={object:a,json:e,idx:{}};u.idx.properties={name:void 0},u.idx.links=JSON.parse(JSON.stringify(r)),l.map(function(t){if(n.hasOwnProperty(t.rel)&&u.idx.links[n[t.rel]]){var e={};Object.keys(t).map(function(n){e[n]=t[n]}),u.idx.links[n[t.rel]].push(e)}});var h=JSON.parse(e).properties;for(var c in h)h.hasOwnProperty(c)&&"http://packetizer.com/ns/name"===c&&(u.idx.properties.name=h[c]);return s(u)},a.prototype.lookup=function(t,e){if("string"!=typeof t)throw new Error("first parameter must be a user address");if("function"!=typeof e)throw new Error("second parameter must be a callback");var n=this,i="";i=t.indexOf("://")>-1?t.replace(/ /g,"").split("/")[2]:t.replace(/ /g,"").split("@")[1];var r=0,o="https";function a(){var e="";return t.split("://")[1]||(e="acct:"),o+"://"+i+"/.well-known/"+s[r]+"?resource="+e+t}function l(t){if(n.config.uri_fallback&&"webfist.org"!==i&&r!==s.length-1)return r+=1,u();if(!n.config.tls_only&&"https"===o)return r=0,o="http",u();if(!n.config.webfist_fallback||"webfist.org"===i)return e(t);r=0,o="http",i="webfist.org";var l=a();n.__fetchJRD(l,e,function(t){n.__processJRD(l,t,e,function(t){"object"==typeof t.idx.links.webfist&&"string"==typeof t.idx.links.webfist[0].href&&n.__fetchJRD(t.idx.links.webfist[0].href,e,function(t){n.__processJRD(l,t,e,function(){return e(null,e)})})})})}function u(){var t=a();n.__fetchJRD(t,l,function(i){n.__processJRD(t,i,e,function(t){e(null,t)})})}return n.__isLocalhost(i)&&(o="http"),setTimeout(u,0)},a.prototype.lookupLink=function(t,e,n){if(!r.hasOwnProperty(e))return n("unsupported rel "+e);this.lookup(t,function(t,i){var r=i.idx.links[e];return t?n(t):0===r.length?n('no links found with rel="'+e+'"'):n(null,r[0])})},void 0===(i=function(){return a}.apply(e,[]))||(t.exports=i)}()},317:function(t){t.exports=XMLHttpRequest}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,n),s.exports}return n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n(423).default}()),Hw.exports); +/*! For license information please see remotestorage.js.LICENSE.txt */const Xw=Vw(Kw),Yw="0123456789bcdefghjkmnpqrstuvwxyz";let Zw=class t{static encode(e,n,i){if(void 0===i){for(let i=1;i<=12;i++){const r=t.encode(e,n,i),s=t.decode(r);if(s.lat==e&&s.lon==n)return r}i=12}if(e=Number(e),n=Number(n),i=Number(i),isNaN(e)||isNaN(n)||isNaN(i))throw new Error("Invalid geohash");let r=0,s=0,o=!0,a="",l=-90,u=90,h=-180,c=180;for(;a.length=t?(r=2*r+1,h=t):(r*=2,c=t)}else{const t=(l+u)/2;e>=t?(r=2*r+1,l=t):(r*=2,u=t)}o=!o,5==++s&&(a+=Yw.charAt(r),s=0,r=0)}return a}static decode(e){const n=t.bounds(e),i=n.sw.lat,r=n.sw.lon,s=n.ne.lat,o=n.ne.lon;let a=(i+s)/2,l=(r+o)/2;return a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),l=l.toFixed(Math.floor(2-Math.log(o-r)/Math.LN10)),{lat:Number(a),lon:Number(l)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(e,n){if(e=e.toLowerCase(),n=n.toLowerCase(),0==e.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(n))throw new Error("Invalid direction");const i=e.slice(-1);let r=e.slice(0,-1);const s=e.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[n][s].indexOf(i)&&""!=r&&(r=t.adjacent(r,n)),r+Yw.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[n][s].indexOf(i))}static neighbours(e){return{n:t.adjacent(e,"n"),ne:t.adjacent(t.adjacent(e,"n"),"e"),e:t.adjacent(e,"e"),se:t.adjacent(t.adjacent(e,"s"),"e"),s:t.adjacent(e,"s"),sw:t.adjacent(t.adjacent(e,"s"),"w"),w:t.adjacent(e,"w"),nw:t.adjacent(t.adjacent(e,"n"),"w")}}};const Jw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Qw=0xffffffffffff;var tx;!function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"}(tx||(tx={}));class ex extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function nx(t){const e=Math.floor(32*t())%32;return Jw.charAt(e)}const ix={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",{type:"object",properties:{id:{type:"string",required:!0},title:{type:"string",required:!0},lat:{type:"number",required:!0},lon:{type:"number",required:!0},geohash:{type:"string",required:!0},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time",required:!0},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]});const n={store:async function(n){const i=function(t){const e=(new Date).toISOString(),n=t.id||function(){const t=function(){const t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:null,e=t&&(t.crypto||t.msCrypto)||null;if("function"==typeof e?.getRandomValues)return()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]/256};if("function"==typeof e?.randomBytes)return()=>e.randomBytes(1).readUInt8()/256;throw new ex(tx.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Qw)throw new ex(tx.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Qw}: ${t}`);if(t<0)throw new ex(tx.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Jw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=nx(e)+n;return n}(16,t)}(),i="number"==typeof t.lat?t.lat:0,r="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||Zw.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,createdAt:t.createdAt||e,updatedAt:t.id?e:void 0};return Object.keys(a).forEach(t=>{void 0===a[t]&&delete a[t]}),a}(n),r=e(i.geohash,i.id);return await t.storeObject("place",r,i),i},remove:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to remove a place");const r=e(i,n);return t.remove(r)},get:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to get a place");const r=e(i,n);return t.getObject(r)},listByPrefix:async function(e){let n="";return e.length>=2&&(n+=e.substring(0,2)+"/"),e.length>=4&&(n+=e.substring(2,4)+"/"),t.getAll(n)},getPlaces:async function(e){const n=[],i=async e=>{const i=await t.getAll(e,!1);i&&Object.values(i).forEach(t=>{t&&"object"==typeof t&&!t.toString().endsWith("/")&&n.push(t)})};if(e&&e.length>0){const t=e.map(async t=>{if(t.length<4)return;const e=t.substring(0,2),n=t.substring(2,4);await i(`${e}/${n}/`)});await Promise.all(t)}else{const e=t=>{if(!t||"object"!=typeof t)return[];let e=t;return t.items&&"object"==typeof t.items&&(e=t.items),Object.keys(e).filter(t=>t.endsWith("/")&&!t.startsWith("@"))},n=await t.getListing("",!1),r=e(n);await Promise.all(r.map(async n=>{const r=await t.getListing(n,!1),s=e(r);await Promise.all(s.map(async t=>{await i(n+t)}))}))}return n}};return{exports:n}}},rx="0123456789bcdefghjkmnpqrstuvwxyz";class sx{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const i=sx.encode(t,e,n),r=sx.decode(i);if(r.lat==t&&r.lon==e)return i}n=12}if(t=Number(t),e=Number(e),n=Number(n),isNaN(t)||isNaN(e)||isNaN(n))throw new Error("Invalid geohash");let i=0,r=0,s=!0,o="",a=-90,l=90,u=-180,h=180;for(;o.length=t?(i=2*i+1,u=t):(i*=2,h=t)}else{const e=(a+l)/2;t>=e?(i=2*i+1,a=e):(i*=2,l=e)}s=!s,5==++r&&(o+=rx.charAt(i),r=0,i=0)}return o}static decode(t){const e=sx.bounds(t),n=e.sw.lat,i=e.sw.lon,r=e.ne.lat,s=e.ne.lon;let o=(n+r)/2,a=(i+s)/2;return o=o.toFixed(Math.floor(2-Math.log(r-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(o),lon:Number(a)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),0==t.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(e))throw new Error("Invalid direction");const n=t.slice(-1);let i=t.slice(0,-1);const r=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][r].indexOf(n)&&""!=i&&(i=sx.adjacent(i,e)),i+rx.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:sx.adjacent(t,"n"),ne:sx.adjacent(sx.adjacent(t,"n"),"e"),e:sx.adjacent(t,"e"),se:sx.adjacent(sx.adjacent(t,"s"),"e"),s:sx.adjacent(t,"s"),sw:sx.adjacent(sx.adjacent(t,"s"),"w"),w:sx.adjacent(t,"w"),nw:sx.adjacent(sx.adjacent(t,"n"),"w")}}}function ox(t){const{minLat:e,minLon:n,maxLat:i,maxLon:r}=t,s=new Set;if(Math.abs(i-e)>20||Math.abs(r-n)>20)return console.warn("BBox too large for 4-char geohash scanning, aborting fine scan."),[];for(let a=e;a<=i+.1;a+=.1)for(let t=n;t<=r+.1;t+=.1){const e=Math.min(a,i),n=Math.min(t,r);try{const t=sx.encode(e,n,4);s.add(t)}catch(o){}}try{s.add(sx.encode(e,n,4))}catch(o){}try{s.add(sx.encode(i,r,4))}catch(o){}try{s.add(sx.encode(e,r,4))}catch(o){}try{s.add(sx.encode(i,n,4))}catch(o){}return Array.from(s)}const ax=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:ox},Symbol.toStringTag,{value:"Module"})),lx=new WeakMap;function ux(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=lx.get(t);i||(i=new Map,lx.set(t,i)),i.set(e,n)}(t,e,r)}function hx(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function cx(t,e){let n=function(t,e){var n;let i=t.prototype;for(;i;){let t=null==(n=lx.get(i))?void 0:n.get(e);if(t)return t;i=i.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}class dx extends pf{rs;static{ux(this.prototype,"savedPlaces",[ys],function(){return[]})}#P=void cx(this,"savedPlaces");static{ux(this.prototype,"loadedPrefixes",[ys],function(){return[]})}#M=void cx(this,"loadedPrefixes");static{ux(this.prototype,"currentBbox",[ys],function(){return null})}#I=void cx(this,"currentBbox");static{ux(this.prototype,"version",[ys],function(){return 0})}#O=void cx(this,"version");constructor(){super(...arguments),console.log("ohai"),this.rs=new Xw({modules:[ix]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.rs.on("ready",()=>{}),this.rs.scope("/places/").on("change",()=>{aa(this,this.reloadCurrentView,200)})}get places(){return this.rs.places}notifyChange(){this.version++,aa(this,this.reloadCurrentView,200)}reloadCurrentView(){if(!this.currentBbox)return;const t=ox(this.currentBbox);console.log("Reloading view due to changes, prefixes:",t),this.loadAllPlaces(t)}async loadPlacesInBounds(t){const e=ox(t).filter(t=>!this.loadedPrefixes.includes(t));0!==e.length&&(console.log("Loading new prefixes:",e),await this.loadAllPlaces(e),this.loadedPrefixes=[...this.loadedPrefixes,...e],this.currentBbox=t)}async loadAllPlaces(t=null){try{const e=await this.places.getPlaces(t);if(e&&Array.isArray(e))if(t){const n=new Set(t),i=this.savedPlaces.filter(t=>{if(!t.lat||!t.lon)return!1;try{const e=sx.encode(t.lat,t.lon,4);return!n.has(e)}catch(e){return!0}});this.savedPlaces=[...i,...e]}else this.savedPlaces=e;else t||(this.savedPlaces=[]);console.log("Loaded saved places:",this.savedPlaces.length)}catch(e){console.error("Failed to load places:",e)}}findPlaceById(t){let e=this.savedPlaces.find(e=>e.id===t);return e||(e=this.savedPlaces.find(e=>e.osmId===t),e)}}const px=Object.freeze(Object.defineProperty({__proto__:null,default:dx},Symbol.toStringTag,{value:"Module"}));function fx(t,e,n,i){const r=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(i-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(r)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const gx=Object.freeze(Object.defineProperty({__proto__:null,getDistance:fx},Symbol.toStringTag,{value:"Module"}));function mx(t,e,n){return(e="symbol"==typeof(i=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?i:String(i))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t;var i}function yx(t,e,n,i){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function _x(t,e,n,i){var r={};return Object.keys(i).forEach(function(t){r[t]=i[t]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),void 0===(r=n.slice().reverse().reduce(function(n,i){return i(t,e,n)||n},r)).initializer&&(Object.defineProperty(t,e,r),r=null),r}var vx,bx,wx,xx,Sx;const Ex="undefined"!=typeof FastBoot,Cx="routeDidChange",kx=["separator","prepend","replace"];let Tx=(vx=df("router"),bx=df("-document"),wx=class extends pf{constructor(t){if(super(t),yx(this,"router",xx,this),yx(this,"document",Sx,this),mx(this,"tokens",[]),mx(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),mx(this,"scheduleTitleUpdate",()=>{sa("afterRender",this,this._updateTitle)}),this._validateExistingTitleElement(),function(t){return"resolveRegistration"in t}(t)){const n=t.resolveRegistration("config:environment");"object"==typeof(e=n)&&null!==e&&"pageTitle"in e&&kx.forEach(t=>{if(!function(t){if(null==t)return!0;if(!ls(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=us(t,"size");if("number"==typeof e)return!e;let n=us(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(Cx,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,i=this._defaultConfig.replace;t.previous??=null,t.next??=null,null==t.separator&&(t.separator=e),null==t.prepend&&null!=n&&(t.prepend=n),null==t.replace&&null!=i&&(t.replace=i)}inheritFromPrevious(t){const e=t.previous;e&&(null==t.separator&&(t.separator=e.separator),null==t.prepend&&(t.prepend=e.prepend))}push(t){const e=this._findTokenById(t.id);if(e){const n=this.tokens.indexOf(e),i=[...this.tokens],r=e.previous;return t.previous=r,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),i.splice(n,1,t),void(this.tokens=i)}const n=this.tokens.slice(-1)[0];n&&(t.previous=n??null,n.next=t,this.inheritFromPrevious(t)),this.applyTokenDefaults(t),this.tokens=[...this.tokens,t]}remove(t){const e=this._findTokenById(t);if(!e)return;const{next:n,previous:i}=e;n&&(n.previous=i),i&&(i.next=n),e.previous=e.next=null;const r=[...this.tokens];r.splice(r.indexOf(e),1),this.tokens=r}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const i=t[e];if(i){if(i.replace){n.unshift(i);break}n.unshift(i)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const i=[n],r=[];return t.forEach(t=>{t.front?r.unshift(t):t.prepend?(e&&(e=!1,n=[],i.push(n)),n.unshift(t)):(e||(e=!0,n=[],i.push(n)),n.push(t))}),r.concat(i.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,i=t.length;ne.id===t)}updateFastbootTitle(t){if(!Ex)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew Dx(t),Nx);const jx=Object.freeze(Object.defineProperty({__proto__:null,default:Nx},Symbol.toStringTag,{value:"Module"}));var zx,Ux,Bx;let qx=(zx=df("page-title"),Bx=_x((Ux=class extends Zv{constructor(t){super(t),yx(this,"tokens",Bx,this),mx(this,"tokenId",U(this)),this.tokens.push({id:this.tokenId})}compute(t,e){const n={...e,id:this.tokenId,title:t.join("")};return this.tokens.push(n),this.tokens.scheduleTitleUpdate(),""}willDestroy(){super.willDestroy(),this.tokens.remove(this.tokenId),this.tokens.scheduleTitleUpdate()}}).prototype,"tokens",[zx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ux);const $x=Ai;class Gx{capabilities=Mi();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e);i.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){At(t)}}$x(t=>new Gx(t),class{constructor(t,e){Pw(this,t)}modify(t,e,n){}});const Vx=new class{capabilities=Mi();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:r,named:s}=n,o=t.instance(e,r,s);"function"==typeof o&&(i.teardown=o)}updateModifier(t,e){"function"==typeof t.teardown&&t.teardown();const n=t.instance(t.element,e.positional,e.named);"function"==typeof n&&(t.teardown=n)}destroyModifier(t){"function"==typeof t.teardown&&t.teardown()}getDebugName(t){return t.instance.toString()}getDebugInstance(t){return t}};function Wx(t){return t.toString=()=>t.name,$x(()=>Vx,t)}const Hx="add",Kx="remove",Xx="propertychange",Yx="change",Zx="contextmenu",Jx="click",Qx="keydown",tS="keypress",eS="touchmove",nS="wheel";class iS{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function rS(t,e){return t>e?1:te?-1:0}function oS(t,e,n){if(t[0]<=e)return 0;const i=t.length;if(e<=t[i-1])return i-1;if("function"==typeof n){for(let r=1;r0?r-1:r}return i-1}if(n>0){for(let n=1;n0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const i=n.indexOf(e);-1!==i&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=dS,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function vS(t,e,n,i,r){if(r){const r=n;n=function(s){return t.removeEventListener(e,n),r.call(i??this,s)}}else i&&i!==t&&(n=n.bind(i));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function bS(t,e,n,i){return vS(t,e,n,i,!0)}function wS(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),gS(t))}class xS extends _S{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Yx)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,i=new Array(n);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,n=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new PS(Hx,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let n=0,i=e.length;n=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new PS(Kx,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new PS(Kx,n,t)),this.dispatchEvent(new PS(Hx,e,t))}updateLength_(){this.set(RS,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let i=0,r=n.length;i{this.clickTimeoutId_=void 0;const e=new OS(AS.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==AS.POINTERUP||e.type==AS.POINTERCANCEL){delete this.trackedTouches_[n];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=AS.POINTERDOWN&&e.type!=AS.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new OS(AS.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new OS(AS.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(vS(t,AS.POINTERMOVE,this.handlePointerMove_,this),vS(t,AS.POINTERUP,this.handlePointerUp_,this),vS(this.element_,AS.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(vS(this.element_.getRootNode(),AS.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new OS(AS.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new OS(AS.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(wS(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(eS,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(wS(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const GS="postrender",VS="loadstart",WS="loadend",HS="layergroup",KS="size",XS="target",YS="view";function ZS(t,e){if(!t)throw new Error(e)}const JS=1/0;class QS{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,gS(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,n=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(t){ZS(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=JS&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,n=this.priorities_,i=e.length,r=e[t],s=n[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(i[t]>s))break;n[e]=n[t],i[e]=i[t],e=t}n[e]=r,i[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let i=0;const r=e.length;let s,o,a;for(o=0;ot.apply(null,e),t=>t[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(Yx,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,n=e.getState();if(2===n||3===n||4===n){3!==n&&e.removeEventListener(Yx,this.boundHandleTileChange_);const t=e.getKey();t in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[t],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let n=0;for(;this.tilesLoading_0;){const t=this.dequeue()[0],e=t.getKey();0!==t.getState()||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++n,t.load())}}}const eE={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function nE(t,e,n){return Math.min(Math.max(t,e),n)}function iE(t,e,n,i,r,s){const o=r-n,a=s-i;if(0!==o||0!==a){const l=((t-n)*o+(e-i)*a)/(o*o+a*a);l>1?(n=r,i=s):l>0&&(n+=o*l,i+=a*l)}return rE(t,e,n,i)}function rE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function sE(t){return 180*t/Math.PI}function oE(t){return t*Math.PI/180}function aE(t,e){const n=t%e;return n*e<0?n+e:n}function lE(t,e,n){return t+n*(e-t)}function uE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function hE(t,e){return Math.floor(uE(t,e))}function cE(t,e){return Math.ceil(uE(t,e))}function dE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=nE(i[0],d,p),y=nE(i[1],f,g);if(o&&n&&r){const t=30*r;m+=-t*Math.log(1+Math.max(0,d-i[0])/t)+t*Math.log(1+Math.max(0,i[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-i[1])/t)+t*Math.log(1+Math.max(0,i[1]-g)/t)}return[m,y]}}function fE(t){return t}function gE(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr&&(l|=4),as&&(l|=2),0===l&&(l=1),l}function SE(t,e,n,i,r){return r?(r[0]=t,r[1]=e,r[2]=n,r[3]=i,r):[t,e,n,i]}function EE(t){return SE(1/0,1/0,-1/0,-1/0,t)}function CE(t,e){const n=t[0],i=t[1];return SE(n,i,n,i,e)}function kE(t,e,n,i,r){return ME(EE(r),t,e,n,i)}function TE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function RE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function PE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function ME(t,e,n,i,r){for(;ne[0]?i[0]=t[0]:i[0]=e[0],t[1]>e[1]?i[1]=t[1]:i[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function WE(t){return t[2]1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s=n[2])){const e=GE(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function XE(t,e,n){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];KE(t,e);const r=GE(i);if(GE(t)>r&&!n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-r,t[3]]]}return[t]}function YE(t,e){let n=!0;for(let i=t.length-1;i>=0;--i)if(t[i]!=e[i]){n=!1;break}return n}function ZE(t,e){const n=Math.cos(e),i=Math.sin(e),r=t[0]*n-t[1]*i,s=t[1]*n+t[0]*i;return t[0]=r,t[1]=s,t}function JE(t,e){if(e.canWrapX()){const n=GE(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||GE(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function QE(t){return Math.pow(t,3)}function tC(t){return 1-QE(1-t)}function eC(t){return 3*t*t-2*t*t*t}function nC(t){return t}function iC(t,e,n){n=n||6371008.8;const i=oE(t[1]),r=oE(e[1]),s=(r-i)/2,o=oE(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function rC(...t){console.warn(...t)}const sC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class oC{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||sC[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const aC=6378137,lC=Math.PI*aC,uC=[-lC,-lC,lC,lC],hC=[-180,-85,180,85],cC=aC*Math.log(Math.tan(Math.PI/2));class dC extends oC{constructor(t){super({code:t,units:"m",extent:uC,global:!0,worldExtent:hC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/aC)}})}}const pC=[new dC("EPSG:3857"),new dC("EPSG:102100"),new dC("EPSG:102113"),new dC("EPSG:900913"),new dC("http://www.opengis.net/def/crs/EPSG/0/3857"),new dC("http://www.opengis.net/gml/srs/epsg.xml#3857")],fC=[-180,-90,180,90],gC=6378137*Math.PI/180;class mC extends oC{constructor(t,e){super({code:t,units:"degrees",extent:fC,axisOrientation:e,global:!0,metersPerUnit:gC,worldExtent:fC})}}const yC=[new mC("CRS:84"),new mC("EPSG:4326","neu"),new mC("urn:ogc:def:crs:OGC:1.3:CRS84"),new mC("urn:ogc:def:crs:OGC:2:84"),new mC("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new mC("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new mC("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let _C={},vC={};function bC(t,e,n){const i=t.getCode(),r=e.getCode();i in vC||(vC[i]={}),vC[i][r]=n}function wC(t,e){return t in vC&&e in vC[t]?vC[t][e]:null}const xC=.9996,SC=.00669438,EC=SC*SC,CC=EC*SC,kC=SC/(1-SC),TC=Math.sqrt(1-SC),RC=(1-TC)/(1+TC),PC=RC*RC,MC=PC*RC,IC=MC*RC,OC=IC*RC,AC=.9983242984503243,FC=15*EC/256+45*CC/1024,LC=35*CC/3072,DC=1.5*RC-27/32*MC+269/512*OC,NC=21/16*PC-55/32*IC,jC=151/96*MC-417/128*OC,zC=1097/512*IC,UC=6378137;function BC(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/xC/(UC*AC),s=r+DC*Math.sin(2*r)+NC*Math.sin(4*r)+jC*Math.sin(6*r)+zC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,h=u*u,c=h*h,d=1-SC*a,p=Math.sqrt(1-SC*a),f=kC*l**2,g=f*f,m=i/(UC/p*xC),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-SC)/d)*(y/2-v/24*(5+3*h+10*f-4*g-9*kC))+b*m/720*(61+90*h+298*f+45*c-252*kC-3*g);let x=(m-_/6*(1+2*h+f)+b/120*(5-2*f+28*h-3*g+8*kC+24*c))/l;return x=dE(x+oE($C(n.number)),-Math.PI,Math.PI),[sE(x),sE(w)]}function qC(t,e,n){t=dE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=oE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,u=oE(t),h=oE($C(n.number)),c=UC/Math.sqrt(1-SC*r**2),d=kC*s**2,p=s*dE(u-h,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=UC*(AC*i-.002514607064228144*Math.sin(2*i)+FC*Math.sin(4*i)-LC*Math.sin(6*i)),b=xC*c*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*kC))+5e5;let w=xC*(v+c*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*kC)));return n.north||(w+=1e7),[b,w]}function $C(t){return 6*(t-1)-180+3}const GC=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function VC(t){let e=0;for(const r of GC){const n=t.match(r);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,i=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(i=!0,n=e-32600),n?{number:n,north:i}:null}function WC(t,e){return function(n,i,r,s){const o=n.length;r=r>1?r:2,s=s??r,i||(i=r>2?n.slice():new Array(o));for(let a=0;a180)&&(e[0]=aE(n+180,360)-180),e}function sk(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||ok(t,e)===ZC)&&n}function ok(t,e){const n=t.getCode(),i=e.getCode();let r=wC(n,i);if(r)return r;let s=null,o=null;for(const l of HC)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=ak(s.inverse,o.forward);else{const t=wC(n,a);t&&(r=ak(t,o.forward))}else{const t=wC(a,i);t&&(r=ak(s.inverse,t))}return r&&(JC(t),JC(e),bC(t,e,r)),r}function ak(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function lk(t,e){return ok(QC(t),QC(e))}function uk(t,e,n){const i=lk(e,n);if(!i){const t=QC(e).getCode(),i=QC(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function hk(t,e,n,i){return HE(t,lk(e,n),void 0,i)}function ck(t){return t}function dk(t){return XC&&!YE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(XC=!1,rC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function pk(t){return t}var fk,gk,mk;ek(pC),ek(yC),fk=pC,gk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;scC?n=cC:n<-cC&&(n=-cC),e[s+1]=n}return e},mk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;s{if(!n)return this.getSimplifiedGeometry(e);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return SS()}closestPointXY(t,e,n,i){return SS()}containsXY(t,e){return 0===this.closestPointXY(t,e,Mk,Number.MIN_VALUE)}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return SS()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&EE(t),this.extentRevision_=this.getRevision()}return function(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t}(this.extent_,t)}rotate(t,e){SS()}scale(t,e,n){SS()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return SS()}getType(){return SS()}applyTransform(t){SS()}intersectsExtent(t){return SS()}translate(t,e){SS()}transform(t,e){const n=QC(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=UE(o)/UE(s);Sk(Pk,o[0],o[3],a,-a,0,0,0);const l=Tk(t,0,t.length,r,Pk,i),u=lk(n,e);return u?u(l,l,r):l}:lk(n,e);return this.applyTransform(i),this}}class Ok extends Ik{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return kE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return SS()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)c=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function zk(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=u.pop(),s=u.pop();let o=0;const a=t[s],c=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(h=e,o=n)}o>r&&(l[(h-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=c):(s[o++]=a,s[o++]=l,u=a,h=l,a=n,l=c)}return s[o++]=a,s[o++]=l,o}function Jk(t,e,n,i,r,s,o,a){for(let l=0,u=n.length;ls&&(n-a)*(s-l)-(r-a)*(i-l)>0&&o++:i<=s&&(n-a)*(s-l)-(r-a)*(i-l)<0&&o--,a=n,l=i}return 0!==o}function iT(t,e,n,i,r,s){if(0===n.length)return!1;if(!nT(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(h+c)/2,iT(t,e,n,i,u,f)&&(m=u,y=r)),h=c}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function sT(t,e,n,i,r){let s=[];for(let o=0,a=n.length;o=r[0]&&s[2]<=r[2]||s[1]>=r[1]&&s[3]<=r[3]||oT(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=xE(t,e),s=xE(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],u=t[3],h=e[0],c=e[1],d=n[0],p=n[1],f=(p-c)/(d-h);let g,m;2&s&&!(2&r)&&(g=d-(p-u)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=u),i||!(8&s)||8&r||(g=d-(p-a)/f,i=g>=o&&g<=l),i||!(16&s)||16&r||(m=p-(d-o)*f,i=m>=a&&m<=u)}return i}(r,t,e)}))}function lT(t,e,n,i,r){return!!(aT(t,e,n,i,r)||nT(t,e,n,i,r[0],r[1])||nT(t,e,n,i,r[0],r[3])||nT(t,e,n,i,r[2],r[1])||nT(t,e,n,i,r[2],r[3]))}function uT(t,e,n,i,r){if(!lT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function dT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sh&&d1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let i=0;for(;i0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,s=i.length;n0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],i=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(n-t),o=e+l*(i-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(n,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?aE(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=i[0].callback;t&&CT(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let n;const i=this.getCenterInternal();var r,s;return void 0!==i&&(n=[i[0]-e[0],i[1]-e[1]],ZE(n,t-this.getRotation()),s=e,(r=n)[0]+=+s[0],r[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[e[0]-t*(e[0]-i[0])/r,e[1]-t*(e[1]-i[1])/r]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],i=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(i*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(i*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?ck(t,this.getProjection()):t}getCenterInternal(){return this.get(eE.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return e=this.calculateExtentInternal(t),this.getProjection(),e;var e}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();ZS(e,"The view center is not defined");const n=this.getResolution();ZS(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return ZS(void 0!==i,"The view rotation is not defined"),jE(e,n,i,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(eE.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(pk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=GE(t)/e[0],i=UE(t)/e[1];return Math.max(n,i)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*i)}}getRotation(){return this.get(eE.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/e;return function(t){return Math.log(n/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const n=this.padding_;return n&&(e=[e[0]-n[1]-n[3],e[1]-n[0]-n[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();i=TT(i,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,n)}return{center:i.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,n,i=this.minZoom_||0;if(this.resolutions_){const r=oS(this.resolutions_,t,1);i=r,e=this.resolutions_[r],n=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=nE(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,nE(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(ZS(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))ZS(!WE(t),"Cannot fit empty extent provided as `geometry`"),n=_T(pk(t,this.getProjection()));else if("Circle"===t.getType()){const e=pk(t.getExtent(),this.getProjection());n=_T(e),n.rotate(this.getRotation(),DE(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),i=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,u=-1/0;for(let h=0,c=r.length;ht.trim().replace(/^['"]|['"]$/g,"")),n};function DT(t,e,n,i){let r;return r=n&&n.length?n.shift():jS?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("2d",i)}let NT;function jT(){return NT||(NT=DT(1,1)),NT}function zT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function UT(t){let e=t.offsetWidth;const n=getComputedStyle(t);return e+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),e}function BT(t){let e=t.offsetHeight;const n=getComputedStyle(t);return e+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),e}function qT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function $T(t){for(;t.lastChild;)t.lastChild.remove()}function GT(){const t=new Proxy({childNodes:[],appendChild:function(t){return this.childNodes.push(t),t},remove:function(){},removeChild:function(t){const e=this.childNodes.indexOf(t);if(-1===e)throw new Error("Node to remove was not found");return this.childNodes.splice(e,1),t},insertBefore:function(t,e){const n=this.childNodes.indexOf(e);if(-1===n)throw new Error("Reference node not found");return this.childNodes.splice(n,0,t),t},style:{}},{get:(t,e,n)=>"firstElementChild"===e?t.childNodes.length>0?t.childNodes[0]:null:Reflect.get(t,e,n)});return t}function VT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class WT extends TS{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&this.element?.remove();for(let e=0,n=this.listenerKeys.length;ee.getAttributions(t)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(t=>n.add(t)):n.add(this.attributions_)),!this.overrideCollapsible_){const t=!e.some(t=>!1===t.getSource()?.getAttributionsCollapsible());this.setCollapsible(t)}return Array.from(n)}async updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=await Promise.all(this.collectSourceAttributions_(t).map(t=>fS(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!uS(e,this.renderedAttributions_)){$T(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:tC}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const n=e.viewState.rotation;if(n!=this.rotation_){const t="rotate("+n+"rad)";if(this.autoHide_){const t=this.element.classList.contains(RT);t||0!==n?t&&0!==n&&this.element.classList.remove(RT):this.element.classList.add(RT)}this.label_.style.transform=t}this.rotation_=n}}class XT extends WT{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",n=void 0!==t.delta?t.delta:1,i=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=a,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Jx,this.handleClick_.bind(this,n),!1);const h=document.createElement("button");h.className=r,h.setAttribute("type","button"),h.title=l,h.appendChild("string"==typeof o?document.createTextNode(o):o),h.addEventListener(Jx,this.handleClick_.bind(this,-n),!1);const c=e+" "+PT+" "+MT,d=this.element;d.className=c,d.appendChild(u),d.appendChild(h),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const n=e.getZoom();if(void 0!==n){const i=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:i,duration:this.duration_,easing:tC})):e.setZoom(i)}}}function YT(t){t=t||{};const e=new MS;return(void 0===t.zoom||t.zoom)&&e.push(new XT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new KT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new HT(t.attributionOptions)),e}class ZT{constructor(t,e,n){this.decay_=t,this.minVelocity_=e,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[n+2]>t;)n-=3;const i=this.points_[e+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const JT="active";class QT extends TS{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(JT)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(JT,t)}setMap(t){this.map_=t}}function tR(t,e,n,i){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==i?i:250,easing:tC})}class eR extends QT{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==AS.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;tR(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function nR(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==AS.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==AS.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function pR(t){const e=t.length;let n=0,i=0;for(let r=0;r0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}class gR extends dR{constructor(t){t=t||{},super({stopDown:cS}),this.condition_=t.condition?t.condition:iR,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!hR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===xT)return;const i=e.getSize(),r=t.pixel,s=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!hR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!hR(t)||!oR(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class mR extends iS{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(t[0],e[0])+n,i.top=Math.min(t[1],e[1])+n,i.width=Math.abs(e[0]-t[0])+n,i.height=Math.abs(e[1]-t[1])+n}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new yT([n])}getGeometry(){return this.geometry_}}const yR="boxcancel";class _R extends yS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class vR extends dR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new mR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??oR,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const i=n[0]-e[0],r=n[1]-e[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new _R("boxdrag",t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new _R(e?"boxend":yR,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new _R("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new _R(yR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new _R(yR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class bR extends vR{constructor(t){super({condition:(t=t||{}).condition?t.condition:lR,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let n=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(n),i=e.getResolutionForExtentInternal(t),r=e.getResolution()/i;n=n.clone(),n.scale(r*r)}e.fitInternal(n,{duration:this.duration_,easing:tC})}}const wR="ArrowLeft",xR="ArrowRight",SR="ArrowDown";class ER extends QT{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return aR(t)&&uR(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Qx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==SR||i==wR||i==xR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==SR?a=-s:i==wR?o=-s:i==xR?o=s:a=s;const l=[o,a];ZE(l,r.getRotation()),function(t,e,n){const i=t.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:nC,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class CR extends QT{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return DS?e.metaKey:e.ctrlKey}(t)&&uR(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Qx||t.type==tS){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;tR(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class kR extends QT{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:sR;this.condition_=t.onFocusOnly?nR(rR,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==nS)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let n=-nE(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),tR(e,n,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}class TR extends dR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==xT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(pR(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return!(this.targetPointers.length<2&&(t.map.getView().endInteraction(this.duration_),1))}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}class RR extends dR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,s=n.clientY-i.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(pR(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const PR="opacity",MR="visible",IR="extent",OR="zIndex",AR="maxResolution",FR="minResolution",LR="maxZoom",DR="minZoom",NR="source";class jR extends TS{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[PR]=void 0!==t.opacity?t.opacity:1,ZS("number"==typeof e[PR],"Layer opacity must be a number"),e[MR]=void 0===t.visible||t.visible,e[OR]=t.zIndex,e[AR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[FR]=void 0!==t.minResolution?t.minResolution:0,e[DR]=void 0!==t.minZoom?t.minZoom:-1/0,e[LR]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},n=this.getZIndex();return e.opacity=nE(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==n||e.managed?n:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return SS()}getLayerStatesArray(t){return SS()}getExtent(){return this.get(IR)}getMaxResolution(){return this.get(AR)}getMinResolution(){return this.get(FR)}getMinZoom(){return this.get(DR)}getMaxZoom(){return this.get(LR)}getOpacity(){return this.get(PR)}getSourceState(){return SS()}getVisible(){return this.get(MR)}getZIndex(){return this.get(OR)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(IR,t)}setMaxResolution(t){this.set(AR,t)}setMinResolution(t){this.set(FR,t)}setMaxZoom(t){this.set(LR,t)}setMinZoom(t){this.set(DR,t)}setOpacity(t){ZS("number"==typeof t,"Layer opacity must be a number"),this.set(PR,t)}setVisible(t){this.set(MR,t)}setZIndex(t){this.set(OR,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const zR="addlayer",UR="removelayer";class BR extends yS{constructor(t,e){super(t),this.layer=e}}const qR="layers";class $R extends jR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let n=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(qR,this.handleLayersChanged_),n?Array.isArray(n)?n=new MS(n.slice(),{unique:!0}):ZS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new MS(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(wS),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(vS(t,Hx,this.handleLayersAdd_,this),vS(t,Kx,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(wS);gS(this.listenerKeys_);const e=t.getArray();for(let n=0,i=e.length;n{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const n=this.getMapInternal();let i;if(!t&&n&&(t=n.getView()),e=t instanceof ET?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(i=e.layerStatesArray.find(t=>t.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return XR(i,e.viewState)&&(!r||VE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof ET?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const n=this.getRenderer();return n.prepareFrame(t)?(this.rendered=!0,n.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set("map",t)}getMapInternal(){return this.get("map")}setMap(t){this.mapPrecomposeKey_&&(wS(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(wS(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=vS(t,WR,this.handlePrecompose_,this),this.mapRenderKey_=vS(this,Yx,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);ZS(!e.some(t=>t.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(n)}setSource(t){this.set(NR,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function XR(t,e){if(!t.visible)return!1;const n=e.resolution;if(n=t.maxResolution)return!1;const i=e.zoom;return i>t.minZoom&&i<=t.maxZoom}function YR(t,e,n=0,i=t.length-1,r=JR){for(;i>n;){if(i-n>600){const s=i-n+1,o=e-n+1,a=Math.log(s),l=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);YR(t,e,Math.max(n,Math.floor(e-o*l/s+u)),Math.min(i,Math.floor(e+(s-o)*l/s+u)),r)}const s=t[e];let o=n,a=i;for(ZR(t,n,e),r(t[i],s)>0&&ZR(t,n,i);o0;)a--}0===r(t[n],s)?ZR(t,n,a):(a++,ZR(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function ZR(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function JR(t,e){return te?1:0}let QR=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const n=[];if(!cP(t,e))return n;const i=this.toBBox,r=[];for(;e;){for(let s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(i,r,e)}_split(t,e){const n=t[e],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i),o=dP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,eP(n,this.toBBox),eP(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=dP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,eP(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let i,r=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=nP(t,0,o,this.toBBox),a=nP(t,o,n,this.toBBox),l=uP(e,a),u=oP(e)+oP(a);l=e;l--){const e=t.children[l];iP(o,t.leaf?r(e):e),a+=aP(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)iP(e[i],t)}_condense(t){for(let e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children,e.splice(e.indexOf(t[n]),1)):this.clear():eP(t[n],this.toBBox)}};function tP(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function dP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function pP(t,e,n,i,r){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=i)continue;const o=e+Math.ceil((n-e)/i/2)*i;YR(t,o,e,n,r),s.push(e,o,o,n)}}const fP=[NaN,NaN,NaN,0];let gP;const mP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,yP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,_P=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,vP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function bP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function wP(t){throw new Error('failed to parse "'+t+'" as color')}function xP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(yP)||t.match(mP)||t.match(_P);if(e){const t=e[4],n=100/255;return[nE(bP(e[1],n)+.5|0,0,255),nE(bP(e[2],n)+.5|0,0,255),nE(bP(e[3],n)+.5|0,0,255),void 0!==t?nE(bP(t,100),0,1):1]}wP(t)}if(t.startsWith("#")){if(vP.test(t)){const e=t.substring(1),n=e.length<=4?1:2,i=[0,0,0,255];for(let t=0,r=e.length;t.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function TP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function RP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function PP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function MP(t){const e=RP(t[0]),n=RP(t[1]),i=RP(t[2]),r=PP(.222488403*e+.716873169*n+.06060791*i),s=500*(PP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-PP(.016863605*e+.117638439*n+.865350722*i)),a=Math.atan2(o,s)*(180/Math.PI);return[116*r-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function IP(t){if("none"===t)return fP;if(SP.hasOwnProperty(t))return SP[t];if(EP>=1024){let t=0;for(const e in SP)3&t++||(delete SP[e],--EP)}const e=xP(t);4!==e.length&&wP(t);for(const n of e)isNaN(n)&&wP(t);return SP[t]=e,++EP,e}function OP(t){return Array.isArray(t)?t:IP(t)}function AP(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let i=t[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+e+","+n+","+i+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function FP(t){return t[0]>0&&t[1]>0}function LP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let DP=0;const NP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function ZM(t,e,n){const i=t.length-1,r=new Array(i);for(let s=0;s{for(let e=0;e{for(let r=0;r{const i=t.args;let r=n.properties[e];for(let t=1,e=i.length;tt.variables[e];case VM:return n=>{const i=t.args;if(!(e in n.properties))return!1;let r=n.properties[e];for(let t=1,e=i.length;tt.featureId;case nM:return t=>t.geometryType;case eM:{const e=t.args.map(t=>iI(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case aM:return t=>t.resolution;case rM:case sM:case OM:case DM:case"!":return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{for(let e=0;e{for(let e=0;e{const e=i[0](t),n=i[1](t),r=i[2](t);return e>=n&&e<=r};case DM:return t=>{const e=i[0](t);for(let r=1;r!i[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case hM:case cM:case"<":case gM:case">":case pM:return function(t){const e=t.operator,n=iI(t.args[0]),i=iI(t.args[1]);switch(e){case hM:return t=>n(t)===i(t);case cM:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case pM:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case bM:case"%":case"^":case SM:case EM:case CM:case kM:case TM:case RM:case PM:case MM:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{let e=1;for(let r=0;ri[0](t)/i[1](t);case"+":return t=>{let e=0;for(let r=0;ri[0](t)-i[1](t);case bM:return t=>{const e=i[0](t),n=i[1](t);if(er?r:e};case"%":return t=>i[0](t)%i[1](t);case"^":return t=>Math.pow(i[0](t),i[1](t));case SM:return t=>Math.abs(i[0](t));case EM:return t=>Math.floor(i[0](t));case CM:return t=>Math.ceil(i[0](t));case kM:return t=>Math.round(i[0](t));case TM:return t=>Math.sin(i[0](t));case RM:return t=>Math.cos(i[0](t));case PM:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case MM:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case LM:return function(t){const e=t.args.length,n=new Array(e);for(let i=0;i{for(let i=0;i{const i=n[0](t);for(let r=1;r{const i=n[0](t),r=n[1](t);let s,o;for(let a=2;a=r)return 2===a?l:u?sI(i,r,s,o,e,l):rI(i,r,s,o,e,l);s=e,o=l}return o}}(t);case GM:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{const n=i[0](e);return t.args[0].type===UP?AP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function rI(t,e,n,i,r,s){const o=r-n;if(0===o)return i;const a=e-n;return i+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-i)}function sI(t,e,n,i,r,s){if(0===r-n)return i;const o=MP(i),a=MP(s);let l=a[2]-o[2];return l>180?l-=360:l<-180&&(l+=360),function(t){const e=(t[0]+16)/116,n=t[1],i=t[2]*Math.PI/180,r=TP(e),s=TP(e+n/500*Math.cos(i)),o=TP(e-n/200*Math.sin(i)),a=kP(3.021973625*s-1.617392459*r-.404875592*o),l=kP(-.943766287*s+1.916279586*r+.027607165*o),u=kP(.069407491*s-.22898585*r+1.159737864*o);return[nE(a+.5|0,0,255),nE(l+.5|0,0,255),nE(u+.5|0,0,255),t[3]]}([rI(t,e,n,o[0],r,a[0]),rI(t,e,n,o[1],r,a[1]),o[2]+rI(t,e,n,0,r,l),rI(t,e,n,i[3],r,s[3])])}class oI extends _S{constructor(t,e,n,i){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Yx)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;fS(()=>this.loader(this.getExtent(),e,this.getPixelRatio())).then(t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||US&&t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=2}).catch(t=>{this.state=3,console.error(t)}).finally(()=>this.changed())}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}}function aI(t,e,n){return e+":"+t+":"+(n?OP(n):"null")}const lI=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const n=this.cache_[e];3&t++||n.hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,n){const i=aI(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=aI(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=aI(t,e,n),o=s in this.cache_;this.cache_[s]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[s]=jT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=jT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let uI=null;class hI extends _S{constructor(t,e,n,i,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){uI||(uI=DT(1,1,void 0,{willReadFrequently:!0})),uI.drawImage(this.image_,0,0);try{uI.getImageData(0,0,1,1),this.tainted_=!1}catch{uI=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Yx)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],n=DT(t,e);n.fillRect(0,0,t,e),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&zS?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(i=>t.complete&&t.width?e(t):n(i))):function(t){return new Promise((e,n)=>{function i(){s(),e(t)}function r(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",i),t.removeEventListener("error",r)}t.addEventListener("load",i),t.addEventListener("error",r)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,n=DT(Math.ceil(e.width*t),Math.ceil(e.height*t)),i=n.canvas;var r;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:AP(r),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Yx,e),t())};this.addEventListener(Yx,e)}})),this.ready_}}function cI(t,e,n,i,r,s){let o=void 0===e?void 0:lI.get(e,n,r);return o||(o=new hI(t,t&&"src"in t?t.src||void 0:e,n,i,r),lI.set(e,n,r,o,s)),s&&o&&!lI.getPattern(e,n,r)&&lI.set(e,n,r,o,s),o}function dI(t){return t?Array.isArray(t)?AP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return lI.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=lI.getPattern(e,void 0,t.color);if(n)return n;const i=lI.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=DT(t.size[0],t.size[1]);return r.drawImage(i.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),cI(r.canvas,e,void 0,2,t.color,!0),lI.getPattern(e,void 0,t.color)}(t):t:null}const pI="10px sans-serif",fI="#000",gI="round",mI=[],yI="round",_I="#000",vI="center",bI="middle",wI=[0,0,0,0],xI=new TS;let SI,EI=null;const CI={},kI=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function TI(t,e,n){return`${t} ${e} 16px "${n}"`}const RI=function(){const t=100;let e,n;async function i(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const i=LT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=FT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=xI.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,II(t,n)),0);return n[e]=i,i}class AI{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=LP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new AI({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return SS()}getImage(t){return SS()}getHitDetectionImage(){return SS()}getPixelRatio(t){return 1}getImageState(){return SS()}getImageSize(){return SS()}getOrigin(){return SS()}getSize(){return SS()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=LP(t)}listenImageChange(t){SS()}load(){SS()}unlistenImageChange(t){SS()}ready(){return Promise.resolve()}}class FI extends AI{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new FI({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),n=this.getScaleArray();return[t[0]/2-e[0]/n[0],t[1]/2+e[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){const e=this.fill_?.getKey(),n=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(",");let i=lI.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=DT(r,r);this.draw_(e,s,t),i=s.canvas,lI.set(n,null,null,new hI(i,void 0,null,2,null))}return i}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,n){if(0===e||this.points_===1/0||"bevel"!==t&&"miter"!==t)return e;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}getKey(){const t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?CS(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:OP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function NI(t,e,n,i){return void 0!==n&&void 0!==i?[n/t,i/e]:void 0!==n?n/t:void 0!==i?i/e:1}class jI extends AI{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,i=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:i,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(ZS(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||CS(s)),ZS(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),ZS(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=0:void 0!==s&&(o="complete"in s?s.complete?s.src?2:0:1:2),this.color_=void 0!==t.color?OP(t.color):null,this.iconImage_=cI(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,this.initialOptions_,void 0!==t.width||void 0!==t.height){let e,n;if(t.size)[e,n]=t.size;else{const i=this.getImage(1);if(i.width&&i.height)e=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(NI(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(NI(e,n,t.width,t.height))}}clone(){let t,e,n;return this.initialOptions_?(e=this.initialOptions_.width,n=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new jI({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),n=this.getScaleArray();return[t[0]-e[0]/n[0],t[1]+e[1]/n[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),n=this.iconImage_.getSize();if(!e||!n)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=n[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=n[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=cI(null,t,this.crossOrigin_,0,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Yx,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Yx,t)}ready(){return this.iconImage_.ready()}}class zI{constructor(t){t=t||{},this.color_=void 0!==t.color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new zI({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}class UI{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=$I,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&"object"==typeof t&&(t=t.clone()),new UI({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=$I,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let BI=null;function qI(){if(!BI){const t=new DI({color:"rgba(255,255,255,0.4)"}),e=new zI({color:"#3399CC",width:1.25});BI=[new UI({image:new LI({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return BI}function $I(t){return t.getGeometry()}let GI=class t{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=LP(void 0!==t.scale?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=void 0!==t.fill?t.fill:new DI({color:"#333"}),this.maxAngle_=void 0!==t.maxAngle?t.maxAngle:Math.PI/4,this.placement_=void 0!==t.placement?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=void 0!==t.stroke?t.stroke:null,this.offsetX_=void 0!==t.offsetX?t.offsetX:0,this.offsetY_=void 0!==t.offsetY?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=void 0===t.padding?null:t.padding,this.declutterMode_=t.declutterMode}clone(){const e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof DI?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=LP(void 0!==t?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}};function VI(){return!0}function WI(t){const e=ZP(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=tO(t,e+"fill-color",n)}if(!i)return null;const r=new DI;return function(t){const e=i(t);return e===fP?null:(r.setColor(e),r)}}function YI(t,e,n){const i=ZI(t,e+"stroke-width",n),r=tO(t,e+"stroke-color",n);if(!i&&!r)return null;const s=JI(t,e+"stroke-line-cap",n),o=JI(t,e+"stroke-line-join",n),a=eO(t,e+"stroke-line-dash",n),l=ZI(t,e+"stroke-line-dash-offset",n),u=ZI(t,e+"stroke-miter-limit",n),h=new zI;return function(t){if(r){const e=r(t);if(e===fP)return null;h.setColor(e)}if(i&&h.setWidth(i(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");h.setLineCap(e)}if(o){const e=o(t);if("bevel"!==e&&"round"!==e&&"miter"!==e)throw new Error("Expected bevel, round, or miter line join");h.setLineJoin(e)}return a&&h.setLineDash(a(t)),l&&h.setLineDashOffset(l(t)),u&&h.setMiterLimit(u(t)),h}}function ZI(t,e,n){if(!(e in t))return;const i=nI(t[e],jP,n);return function(t){return cO(i(t),e)}}function JI(t,e,n){if(!(e in t))return null;const i=nI(t[e],zP,n);return function(t){return hO(i(t),e)}}function QI(t,e,n){if(!(e in t))return null;const i=nI(t[e],NP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function tO(t,e,n){if(!(e in t))return null;const i=nI(t[e],UP,n);return function(t){return dO(i(t),e)}}function eO(t,e,n){if(!(e in t))return null;const i=nI(t[e],BP,n);return function(t){return uO(i(t),e)}}function nO(t,e,n){if(!(e in t))return null;const i=nI(t[e],BP,n);return function(t){const n=uO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function iO(t,e,n){if(!(e in t))return null;const i=nI(t[e],BP,n);return function(t){return pO(i(t),e)}}function rO(t,e,n){if(!(e in t))return null;const i=nI(t[e],BP|jP,n);return function(t){return function(t,e){return"number"==typeof t?t:pO(t,e)}(i(t),e)}}function sO(t,e){const n=t[e];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${e}`);return n}}function oO(t,e){const n=t[e];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return n}}function aO(t,e){const n=t[e];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${e}`);return n}}function lO(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${e}`);return n}}function uO(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let i=0;i4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function pO(t,e){const n=uO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const fO="renderOrder";class gO extends KR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(fO)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){const n=this.getDeclutter();n in t.declutter==0&&(t.declutter[n]=new QR(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(fO,t)}setStyle(t){this.style_=void 0===t?qI:t;const e=function(t){if(void 0===t)return qI;if(!t)return null;if("function"==typeof t)return t;if(t instanceof UI)return t;if(!Array.isArray(t))return HI([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof UI){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&XR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=h.bind(null,r.managed);y[0]=s[0]+p[v][0],y[1]=s[1]+p[v][1],l=i.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const _=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*_),m.sort((t,e)=>t.distanceSq-e.distanceSq),m.some(t=>l=t.callback(t.feature,t.layer,t.geometry)),l}hasFeatureAtCoordinate(t,e,n,i,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,i,hS,this,r,s)}getMap(){return this.map_}renderFrame(t){SS()}scheduleExpireIconCache(t){lI.canExpireCache()&&t.postRenderFunctions.push(_O)}}function _O(){lI.expire()}class vO extends yO{constructor(t){super(t),this.fontChangeListenerKey_=vS(xI,Xx,t.redrawText,t),this.element_=jS?GT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=PT+" ol-layers";const n=t.getViewport();n&&n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){const n=this.getMap();if(n.hasListener(t)){const i=new mO(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){wS(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(t),this.dispatchRenderEvent(WR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof gO&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,a=e.length;o0)&&(t.fillStyle=i,t.fillRect(0,0,s.width,s.height)),VT(n)&&n.width>0){const i=e.style.opacity||n.style.opacity;t.globalAlpha=""===i?1:Number(i);const r=n.style.transform;if(r)t.setTransform(...kk(r));else{const e=parseFloat(n.style.width)/n.width,i=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,i,0,0)}t.drawImage(n,0,0)}}t.globalAlpha=1,t.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent("postcompose",t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let n=e.length-1;n>=0;--n){const i=e[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(t,i)}e.forEach(e=>e.layer.renderDeferred(t))}}}function bO(t){t instanceof KR?t.setMapInternal(null):t instanceof $R&&t.getLayers().forEach(bO)}function wO(t,e){if(t instanceof KR)t.setMapInternal(e);else if(t instanceof $R){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(jS?new MS:YT()),this.interactions=e.interactions||(jS?new MS:function(t){t=t||{};const e=new MS,n=new ZT(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new gR),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new eR({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new fR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new TR),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new RR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new ER),e.push(new CR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new kR({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new bR({duration:t.zoomDuration})),e}({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new tE(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(HS,this.handleLayerGroupChanged_),this.addChangeListener(YS,this.handleViewChanged_),this.addChangeListener(KS,this.handleSizeChanged_),this.addChangeListener(XS,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof ET||t.view.then(function(t){n.setView(new ET(t))}),this.controls.addEventListener(Hx,t=>{t.element.setMap(this)}),this.controls.addEventListener(Kx,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Hx,t=>{t.element.setMap(this)}),this.interactions.addEventListener(Kx,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Hx,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener(Kx,t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)}),this.controls.forEach(t=>{t.setMap(this)}),this.interactions.forEach(t=>{t.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){wO(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(t),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:hS,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const n=[];return this.forEachFeatureAtPixel(t,function(t){n.push(t)},e),n}getAllLayers(){const t=[];return function e(n){n.forEach(function(n){n instanceof $R?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),i=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:hS,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,s,i,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=e.width/n[0],r=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/i,(s.clientY-e.top)/r]}getTarget(){return this.get(XS)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return ck(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?wk(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(HS)}setLayers(t){const e=this.getLayerGroup();if(t instanceof MS)return void e.setLayers(t);const n=e.getLayers();n.clear(),n.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,n=t.length;e=0;n--){const i=e[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,i=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,i=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new BR("removelayer",e)),this.set(HS,t)}setSize(t){this.set(KS,t)}setTarget(t){this.set(XS,t)}setView(t){if(!t||t instanceof ET)return void this.set(YS,t);this.set(YS,new ET);const e=this;t.then(function(t){e.setView(new ET(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(VT(t))n=t.width,i=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),i=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(i)||(e=[Math.max(0,n),Math.max(0,i)],!FP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&rC("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&uS(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};const SO="element",EO="map",CO="offset",kO="position",TO="positioning";class RO extends TS{constructor(t){super(),this.on,this.once,this.un,this.options=t,this.id=t.id,this.insertFirst=void 0===t.insertFirst||t.insertFirst,this.stopEvent=void 0===t.stopEvent||t.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==t.className?t.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===t.autoPan?{}:t.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(SO,this.handleElementChanged),this.addChangeListener(EO,this.handleMapChanged),this.addChangeListener(CO,this.handleOffsetChanged),this.addChangeListener(kO,this.handlePositionChanged),this.addChangeListener(TO,this.handlePositioningChanged),void 0!==t.element&&this.setElement(t.element),this.setOffset(void 0!==t.offset?t.offset:[0,0]),this.setPositioning(t.positioning||"top-left"),void 0!==t.position&&this.setPosition(t.position)}getElement(){return this.get(SO)}getId(){return this.id}getMap(){return this.get(EO)||null}getOffset(){return this.get(CO)}getPosition(){return this.get(kO)}getPositioning(){return this.get(TO)}handleElementChanged(){$T(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),wS(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=vS(t,GS,this.render,this),this.updatePixelPosition();const e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(t){this.set(SO,t)}setMap(t){this.set(EO,t)}setOffset(t){this.set(CO,t)}setPosition(t){this.set(kO,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(kO))return;const n=this.getRect(e.getTargetElement(),e.getSize()),i=this.getElement(),r=this.getRect(i,[UT(i),BT(i)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!bE(n,r)){const i=r[0]-n[0],o=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],u=[0,0];if(i<0?u[0]=i-s:o<0&&(u[0]=Math.abs(o)+s),a<0?u[1]=a-s:l<0&&(u[1]=Math.abs(l)+s),0!==u[0]||0!==u[1]){const n=e.getView().getCenterInternal(),i=e.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+u[0],i[1]+u[1]],s=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(r),duration:s.duration,easing:s.easing})}}}getRect(t,e){const n=t.getBoundingClientRect(),i=n.left+window.pageXOffset,r=n.top+window.pageYOffset;return[i,r,i+e[0],r+e[1]]}setPositioning(t){this.set(TO,t)}setVisible(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)}updatePixelPosition(){const t=this.getMap(),e=this.getPosition();if(!t||!t.isRendered()||!e)return void this.setVisible(!1);const n=t.getPixelFromCoordinate(e),i=t.getSize();this.updateRenderedPosition(n,i)}updateRenderedPosition(t,e){const n=this.element.style,i=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let s="0%",o="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?s="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(s="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?o="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(o="-50%");const a=`translate(${s}, ${o}) translate(${t[0]+i[0]}px, ${t[1]+i[1]}px)`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}}class PO{drawCustom(t,e,n,i,r){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const MO=11,IO=[8],OO=[12],AO=[1],FO=[3];class LO extends PO{constructor(t,e,n,i){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let s=r.length;for(let o=0,a=t.length;oa&&(this.instructions.push([4,a,u,t,n,Vk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Vk,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),u=this.coordinates.length,this.instructions.push([4,a,u,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,void 0,r])}this.endGeometry(e)}beginGeometry(t,e,n){this.beginGeometryInstruction1_=[0,e,0,t,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[0,e,0,t,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const n=t.length;let i,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){const n=this.state;this.fillStyleToState(t,n),this.strokeStyleToState(e,n)}createFill(t){const e=t.fillStyle,n=[10,e];return"string"!=typeof e&&n.push(t.fillPatternScale),n}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[MO,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const n=t.fillStyle;"string"==typeof n&&t.currentFillStyle==n||(this.instructions.push(e.call(this,t)),t.currentFillStyle=n)}updateStrokeStyle(t,e){const n=t.strokeStyle,i=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=i||r!=t.currentLineDash&&!uS(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=i,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[7,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=yE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;mE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class DO extends LO{constructor(t,e,n,i){super(t,e,n,i)}drawFlatCoordinatess_(t,e,n,i){const r=this.state,s=void 0!==r.fillStyle,o=void 0!==r.strokeStyle,a=n.length;this.instructions.push(AO),this.hitDetectionInstructions.push(AO);for(let l=0;l=t){const e=(t-a+c)/c,d=lE(n,u,e),p=lE(i,h,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function jO(t,e,n,i,r){let s,o,a,l,u,h,c,d,p,f,g=n,m=n,y=0,_=0,v=n;for(o=n;ot&&(_>y&&(y=_,g=v,m=o),_=0,v=o-r)),a=l,c=p,d=f),u=n,h=i}return _+=l,_>y?[v,o]:[g,m]}const zO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},UO={Circle:DO,Default:LO,Image:class extends LO{constructor(t,e,n,i){super(t,e,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,n){if(!this.image_||this.maxExtent&&!vE(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,r);this.instructions.push([6,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([6,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,n){if(!this.image_)return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=[];for(let a=0,l=i.length;a{const i=o[2*(t+n)]===u[n*h]&&o[2*(t+n)+1]===u[n*h+1];return i||--t,i})}this.saveTextStates_();const c=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,d=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(t,e,n);let p=s.padding;if(p!=wI&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],i=s.padding[3];s.scale[0]<0&&(e=-e,i=-i),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,i]}const f=this.pixelRatio;this.instructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==wI?wI:p.map(function(t){return t*f}),c,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=c?c.slice(0):null;m&&(m[1]=fI),this.hitDetectionInstructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,this.declutterMode_,this.declutterImageWithText_,p,m,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?fI:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!VE(this.maxExtent,t.getExtent()))return;let i;if(u=t.getFlatCoordinates(),"LineString"==l)i=[u.length];else if("MultiLineString"==l)i=t.getEnds();else if("Polygon"==l)i=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else R=w>k;const P=Math.PI,M=[],I=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],I){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return M[0]=[t,e,(C-s)/2,O,r],M}for(let A=0,F=(r=r.replace(/\n/g," ")).length;A0?-P:P),void 0!==O){let e=t-O;if(e+=e>P?-2*P:e<-P?2*P:0,Math.abs(e)>o)return null}O=t;const c=A;let d=0;for(;A{if("function"==typeof jT()[e])return this.push_(e),this.pushMethodArgs_},set:(t,e,n)=>(this.push_(e,n),!0)})}push_(...t){const e=this.instructions_,n=this.zIndex+this.offset_;e[n]||(e[n]=[]),e[n].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let n=0,i=e.length;n0&&t.push("\n",""),t.push(e,""),t}function tA(t,e,n){return n%2==0&&(t+=e),t}class eA{constructor(t,e,n,i,r){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new GO:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,i){const r=t+e+n+i;if(this.labels_[r])return this.labels_[r];const s=i?this.strokeStates[i]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,u=[a.scale[0]*l,a.scale[1]*l],h=a.justify?zO[a.justify]:JO(Array.isArray(t)?t[0]:t,a.textAlign||vI),c=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(QO,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],i=[],r=[];let s=0,o=0,a=0,l=0;for(let u=0,h=e.length;u<=h;u+=2){const c=e[u];if("\n"===c||u===h){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=II(d,c);n.push(p),o+=p;const f=PI(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+c,v=[],b=(_+2)*u[0],w=(f+c)*u[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==u[0]&&1==u[1]||v.push("scale",u),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",c),v.push("lineCap",s.lineCap),v.push("lineJoin",s.lineJoin),v.push("miterLimit",s.miterLimit),v.push("setLineDash",[s.lineDash]),v.push("lineDashOffset",s.lineDashOffset)),n&&v.push("fillStyle",o.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const S=.5-h;let E=h*_+S*c;const C=[],k=[];let T,R=0,P=0,M=0,I=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*c[0]+p[1],w=p[0]+v*c[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==h)&&(WO[0]=x,XO[0]=x,WO[1]=S,HO[1]=S,HO[0]=x+b,KO[0]=HO[0],KO[1]=S+w,XO[1]=KO[1]),0!==h?(E=Sk([1,0,0,1,0,0],n,i,1,1,h,-n,-i),wk(E,WO),wk(E,HO),wk(E,KO),wk(E,XO),SE(Math.min(WO[0],HO[0],KO[0],XO[0]),Math.min(WO[1],HO[1],KO[1],XO[1]),Math.max(WO[0],HO[0],KO[0],XO[0]),Math.max(WO[1],HO[1],KO[1],XO[1]),VO)):SE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),VO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:VO[0],minY:VO[1],maxX:VO[2],maxY:VO[3],value:g},canvasTransform:E,scale:c}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,u=o?o[2]*i.scale[0]/2:0;return l.minX-u<=e[0]&&l.maxX+u>=0&&l.minY-u<=e[1]&&l.maxY+u>=0&&(a&&this.replayTextBackground_(t,WO,HO,KO,XO,s,o),function(t,e,n,i,r,s,o,a,l,u,h){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),i.contextInstructions?(t.translate(l,u),t.scale(h[0],h[1]),function(t,e){const n=t.contextInstructions;for(let i=0,r=n.length;iF&&(this.fill_(t),R=0),P>F&&(t.stroke(),P=0),R||P||(t.beginPath(),_=NaN,v=NaN),++d;break;case 2:T=n[1];const i=u[T],h=u[T+1],c=u[T+2]-i,p=u[T+3]-h,z=Math.sqrt(c*c+p*p);t.moveTo(i+z,h),t.arc(i,h,z,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const U=n[3],B=n[4],q=n[5];A.geometry=U,A.feature=L,d in M||(M[d]=[]);const $=M[d];q?q(u,T,f,2,$):($[0]=u[T],$[1]=u[T+1],$.length=2),l&&(l.zIndex=n[6]),B($,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let G=n[6];const V=n[7],W=n[8],H=n[9],K=n[10];let X=n[11];const Y=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],E=n[20],C=n[21],k=n[22];const t=this.drawLabelWithPointPlacement_(S,E,C,k);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const i=n[24];m=(t.anchorY-i)*this.pixelRatio,n[5]=m,G=x.height,n[6]=G,Z=x.width,n[13]=Z}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=wI,et=null,nt=null),K&&O?X+=I:K||O||(X-=I);let it=0;for(;T!iA.includes(t));class sA{constructor(t,e,n,i,r,s,o){this.maxExtent_=t,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=e,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,o)}clip(t,e){const n=this.getClipCoords(e);t.beginPath(),t.moveTo(n[0],n[1]),t.lineTo(n[2],n[3]),t.lineTo(n[4],n[5]),t.lineTo(n[6],n[7]),t.clip()}createExecutors_(t,e){for(const n in t){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=t[n];for(const t in r){const n=r[t];i[t]=new eA(this.resolution_,this.pixelRatio_,this.overlaps_,n,e)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const n=this.executorsByZIndex_[e];for(let e=0,i=t.length;en)break;let a=i[o];a||(a=[],i[o]=a),a.push(4*((t+s)*e+(t+r))+3),s>0&&a.push(4*((t-s)*e+(t+r))+3),r>0&&(a.push(4*((t+s)*e+(t-r))+3),s>0&&a.push(4*((t-s)*e+(t-r))+3))}const r=[];for(let s=0,o=i.length;s0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(c[l]-3)/4,s=i-n%o,a=i-(n/o|0),u=r(t,e,s*s+a*a);if(u)return u}u.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(rS),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=nA.length-1;m>=0;--m)if(d=nA[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,h),v))return v}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],i=e[1],r=e[2],s=e[3],o=[n,i,n,s,r,s,r,i];return Tk(o,0,8,2,t,o),o}isEmpty(){return mS(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?sS:rS),s=s||nA;const l=nA.length;for(let u=0,h=a.length;up.execute(t,e,n,i,r,o)):p.execute(c,e,n,i,r,o),d&&c.restore(),s){s.offset();const t=a[u]*l+nA.indexOf(h);this.deferredZIndexContexts_[t]||(this.deferredZIndexContexts_[t]=[]),this.deferredZIndexContexts_[t].push(s)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(rS);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const oA={};class aA extends PO{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?uE(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,n,i){if(!this.image_)return;const r=Tk(t,e,n,i,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let u=0,h=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:yI,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:dI(t||_I)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),i=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/n,s[1]*this.pixelRatio_/n],this.imageWidth_=e[0]*n}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:dI(t||fI)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:gI,lineDash:i||mI,lineDashOffset:r||0,lineJoin:void 0!==s?s:yI,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:dI(t||_I)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),u=t.getText(),h=t.getTextAlign(),c=t.getTextBaseline();this.textState_={font:void 0!==i?i:pI,textAlign:void 0!==h?h:vI,textBaseline:void 0!==c?c:bI},this.text_=void 0!==u?Array.isArray(u)?u.reduce((t,e,n)=>t+(n%2?" ":e),""):u:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}}const lA=.5;function uA(t,e,n,i,r,s,o,a,l){const u=r,h=DT(t[0]*lA,t[1]*lA);h.imageSmoothingEnabled=!1;const c=h.canvas,d=new aA(h,lA,r,null,o,a,l?ok(null,l):null),p=n.length,f=Math.floor(16777215/p),g={};for(let y=1;y<=p;++y){const t=n[y-1],e=t.getStyleFunction()||i;if(!e)continue;let r=e(t,s);if(!r)continue;Array.isArray(r)||(r=[r]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,i=r.length;n0;return c&&Promise.all(l).then(()=>r(null)),function(t,e,n,i,r,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?mA(t,l,n,e,o):(0,cA[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),c}function mA(t,e,n,i,r){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;ethis.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return SS()}getData(t){return null}prepareFrame(t){return SS()}renderFrame(t,e){return SS()}forEachFeatureAtCoordinate(t,e,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;2!==e.getState()&&3!==e.getState()||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return 2!=e&&3!=e&&t.addEventListener(Yx,this.boundHandleImageChange_),0==e&&(t.load(),e=t.getState()),2==e}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const _A=[];let vA=null;class bA extends yA{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,n){let i;vA||(vA=DT(1,1,void 0,{willReadFrequently:!0})),vA.clearRect(0,0,1,1);try{vA.drawImage(t,e,n,1,1,0,0,1,1),i=vA.getImageData(0,0,1,1).data}catch{return vA=null,null}return i}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const i=this.getLayer().getClassName();let r,s;if(t&&t.className===i&&(!n||t&&t.style.backgroundColor&&uS(OP(t.style.backgroundColor),OP(n)))){const e=t.firstElementChild;VT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=kk(t),i=kk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*Ck[r]))return!1;return!0}(s.canvas.style.transform,e)?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=jS?GT():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=DT();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const i=qE(n),r=$E(n),s=LE(n),o=FE(n);wk(e.coordinateToPixelTransform,i),wk(e.coordinateToPixelTransform,r),wk(e.coordinateToPixelTransform,s),wk(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;wk(a,i),wk(a,r),wk(a,s),wk(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}prepareContainer(t,e){const n=t.extent,i=t.viewState.resolution,r=t.viewState.rotation,s=t.pixelRatio,o=Math.round(GE(n)/i*s),a=Math.round(UE(n)/i*s);Sk(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),Ek(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(e,l,this.getBackground(t)),!this.containerReused){const t=this.context.canvas;t.width!=o||t.height!=a?(t.width=o,t.height=a):this.context.clearRect(0,0,o,a),l!==t.style.transform&&(t.style.transform=l)}}dispatchRenderEvent_(t,e,n){const i=this.getLayer();if(i.hasListener(t)){const r=new mO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(GR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(VR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new GO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(GR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(VR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,h=-u,c=-t[0]+o,d=-t[1];return Sk(this.tempTransform,a,l,u,h,-n,c,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class wA extends bA{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,n){const i=e.extent,r=e.viewState,s=r.center,o=r.resolution,a=r.projection,l=r.rotation,u=a.getExtent(),h=this.getLayer().getSource(),c=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(GE(i)/o*d),y=Math.round(UE(i)/o*d),_=h.getWrapX()&&a.canWrapX(),v=_?GE(u):null,b=_?Math.ceil((i[2]-u[2])/v)+1:1;let w=_?Math.floor((i[0]-u[0])/v):0;do{let i=this.getRenderTransform(s,o,0,d,m,y,w*v);e.declutter&&(i=i.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],i,l,f,void 0===n?nA:n?iA:rA,n?c&&e.declutter[c]:void 0)}while(++w{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*lA,u=t[1]*lA;a.push(this.getRenderTransform(e,n,i,lA,l,u,0).slice());const h=o.getSource(),c=r.getExtent();if(h.getWrapX()&&r.canWrapX()&&!bE(c,s)){let t=s[0];const r=GE(c);let o,h=0;for(;tc[2];)++h,o=r*h,a.push(this.getRenderTransform(e,n,i,lA,l,u,o).slice()),t-=r}this.hitDetectionImageData_=uA(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,pA(n,this.renderedPixelRatio_),null)}e(hA(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,i,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},u=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=CS(t),o=l[s];if(o){if(!0!==o&&nt.value):null)}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),n=e.getSource();if(!n)return!1;const i=t.viewHints[0],r=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&i||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,u=l.projection,h=l.resolution,c=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=dA);const g=l.center.slice(),m=mE(a,p*h),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!bE(v,t.extent)){const t=GE(v),e=Math.max(GE(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,JE(g,u);const n=KE(_[0],u);n[0]v[0]&&n[2]>v[2]&&_.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==h&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&bE(this.wrappedRenderedExtent_,m))return uS(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new BO(fA(h,c),m,h,c);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,h)),i){const e=this.renderFeature(t,w,i,b,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},E=m,C=n.getFeaturesInExtent(E);f&&C.sort(f);for(let R=0,P=C.length;R=200&&a.status<300){const t=e.getType();try{let i;"text"==t||"json"==t?i=a.responseText:"xml"==t?i=a.responseXML||a.responseText:"arraybuffer"==t&&(i=a.response),i?s(e.readFeatures(i,{extent:n,featureProjection:r}),e.readProjection(i)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function EA(t,e){return function(n,i,r,s,o){SA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function CA(){return[[-1/0,-1/0,1/0,1/0]]}function kA(t){return[t]}class TA extends TS{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if("function"==typeof t.getSimplifiedGeometry){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new TA(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const n=this.getStyle();return n&&t.setStyle(n),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(wS(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=vS(t,Yx,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?function(t){if("function"==typeof t)return t;let e;return Array.isArray(t)?e=t:(ZS("function"==typeof t.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[t]),function(){return e}}(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function RA(t,e,n,i){const r=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(h,c);d<0?(l=(c-h[-d-2])/(h[-d-1]-h[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let h=0;h>1;rt.clone())}class AA extends Ok{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){lS(this.flatCoordinates,t),this.changed()}clone(){const t=new AA(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,i){return i<_E(this.getExtent(),t,e)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(jk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Uk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,i))}forEachSegment(t){return oT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(e=void 0!==e&&e,MA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Vk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return PA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return qO(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=Kk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new AA(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return aT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,this.getExtent())}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=qk(this.flatCoordinates,0,t,this.stride),this.changed()}}class FA extends Ok{constructor(t,e,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(void 0!==e&&n)this.setFlatCoordinates(e,t),this.ends_=n;else{const e=t,n=[],i=[];for(let t=0,s=e.length;t{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Kk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Xk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=Jk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new jA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}jA.prototype.getFlatCoordinates=jA.prototype.getOrientedFlatCoordinates;class zA{constructor(t){this.rbush_=new QR(t),this.items_={}}insert(t,e){const n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(n),this.items_[CS(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const qA="addfeature",$A="removefeature";class GA extends yS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class VA extends UA{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=dS,this.format_=t.format||null,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(ZS(this.format_,"`format` must be set when `url` is set"),this.loader_=EA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:CA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new zA:null,this.loadedExtentsRtree_=new zA,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?i=t.features:t.features&&(n=t.features,i=n.getArray()),e||void 0!==n||(n=new MS(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=CS(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const n=t.getGeometry();if(n){const e=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new GA(qA,t))}setupChangeEvents_(t,e){e instanceof jA||(this.featureChangeKeys_[t]=[vS(e,Yx,this.handleFeatureChange_,this),vS(e,Xx,this.handleFeatureChange_,this)])}addToIndex_(t,e){let n=!0;if(void 0!==e.getId()){const t=String(e.getId());if(t in this.idIndex_)if(e instanceof jA){const i=this.idIndex_[t];i instanceof jA?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(ZS(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),n}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],n=[],i=[];for(let r=0,s=t.length;r{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener(Kx,t=>{e||(e=!0,this.removeFeature(t.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_)this.featureChangeKeys_[t].forEach(wS);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(t=>{this.removeFeatureInternal(t)});for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new GA("clear");this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const n=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof jA||i.intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(n){const i=n.getGeometry();if(i instanceof jA||i.intersectsExtent(t)){const t=e(n);if(t)return t}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),mS(this.nullGeometryFeatures_)||lS(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(t){e.push(t)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=XE(t,e);return[].concat(...n.map(t=>this.featuresRtree_.getInExtent(t)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const n=t[0],i=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||hS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof jA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new GA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new GA("featuresloaderror"))}),i.insert(t,{extent:t.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_,n=e.forEachInExtent(t,function(e){if(TE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;n{t in e&&(n[t]=e[t])}),n}function KA(t){t=t.slice();const e=Object.create(null);for(let n=0;n`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const fF=[ZA,JA,QA,tF,eF,nF,oF,iF,dF(rF),aF,uF,lF,hF,cF];function gF(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!gF(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of fF)if(!gF(t,e))return null}return`Expected ${pF(t)} but found ${pF(e)} instead.`}function mF(t,e){return e.some(e=>e.kind===t.kind)}function yF(t,e){return e.some(e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t)}function _F(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const vF=.96422,bF=.82521,wF=4/29,xF=6/29,SF=3*xF*xF,EF=xF*xF*xF,CF=Math.PI/180,kF=180/Math.PI;function TF(t){return(t%=360)<0&&(t+=360),t}function RF([t,e,n,i]){let r,s;const o=MF((.2225045*(t=PF(t))+.7168786*(e=PF(e))+.0606169*(n=PF(n)))/1);t===e&&e===n?r=s=o:(r=MF((.4360747*t+.3850649*e+.1430804*n)/vF),s=MF((.0139322*t+.0971045*e+.7141733*n)/bF));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function PF(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function MF(t){return t>EF?Math.pow(t,1/3):t/SF+wF}function IF([t,e,n,i]){let r=(t+16)/116,s=isNaN(e)?r:r+e/500,o=isNaN(n)?r:r-n/200;return r=1*AF(r),s=vF*AF(s),o=bF*AF(o),[OF(3.1338561*s-1.6168667*r-.4906146*o),OF(-.9787684*s+1.9161415*r+.033454*o),OF(.0719453*s-.2289914*r+1.4052427*o),i]}function OF(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function AF(t){return t>xF?t*t*t:SF*(t-wF)}const FF=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function LF(t,e){return FF(t,e)?t[e]:void 0}function DF(t){return parseInt(t.padEnd(2,t),16)/255}function NF(t,e){return jF(e?t/100:t,0,1)}function jF(t,e,n){return Math.min(Math.max(e,t),n)}function zF(t){return!t.some(Number.isNaN)}const UF={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function BF(t,e,n){return t+n*(e-t)}function qF(t,e,n){return t.map((t,i)=>BF(t,e[i],n))}class $F{constructor(t,e,n,i=1,r=!0){this.r=t,this.g=e,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[t,e,n,i]))}static parse(t){if(t instanceof $F)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=LF(UF,t);if(e){const[t,n,i]=e;return[t/255,n/255,i/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let n=1;return[DF(t.slice(n,n+=e)),DF(t.slice(n,n+=e)),DF(t.slice(n,n+=e)),DF(t.slice(n,n+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=t.match(e);if(n){const[t,e,i,r,s,o,a,l,u,h,c,d]=n,p=[r||" ",a||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[jF(+e/n,0,1),jF(+s/n,0,1),jF(+l/n,0,1),c?NF(+c,d):1];if(zF(t))return t}}return}}const n=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[t,e,i,r,s,o,a,l,u]=n,h=[i||" ",s||" ",a].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,jF(+r,0,100),jF(+o,0,100),l?NF(+l,u):1];if(zF(t))return function([t,e,n,i]){function r(i){const r=(i+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(r-3,9-r,1))}return t=TF(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new $F(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[t/r,e/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,i,r]=RF(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?TF(Math.atan2(i,n)*kF):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",RF(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,i]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${i})`}static interpolate(t,e,n,i="rgb"){switch(i){case"rgb":{const[i,r,s,o]=qF(t.rgb,e.rgb,n);return new $F(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,h]=e.hcl;let c,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?c=NaN:(c=a,1!==s&&0!==s||(d=l)):(c=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),c=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*CF,IF([n,Math.cos(t)*e,Math.sin(t)*e,i])}([c,null!=d?d:BF(r,l,n),BF(s,u,n),BF(o,h,n)]);return new $F(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=IF(qF(t.lab,e.lab,n));return new $F(i,r,s,o,!1)}}}}$F.black=new $F(0,0,0,1),$F.white=new $F(1,1,1,1),$F.transparent=new $F(0,0,0,0),$F.red=new $F(1,0,0,1);class GF{constructor(t,e,n){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const VF=["bottom","center","top"];class WF{constructor(t,e,n,i,r,s){this.text=t,this.image=e,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=s}}class HF{constructor(t){this.sections=t}static fromString(t){return new HF([new WF(t,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(t=>0!==t.text.length||t.image&&0!==t.image.name.length)}static factory(t){return t instanceof HF?t:HF.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class KF{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof KF)return t;if("number"==typeof t)return new KF([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new KF(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new KF(qF(t.values,e.values,n))}}class XF{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof XF)return t;if("number"==typeof t)return new XF([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new XF(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new XF(qF(t.values,e.values,n))}}class YF{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof YF)return t;if("string"==typeof t){const e=$F.parse(t);if(!e)return;return new YF([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=$F.parse(n);if(!t)return;e.push(t)}return new YF(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,i="rgb"){const r=[];if(t.values.length!=e.values.length)throw new Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${e.values.length}), cannot interpolate.`);for(let s=0;s=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[t,e,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[t,e,n,i]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function iL(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof eL||t instanceof $F||t instanceof GF||t instanceof HF||t instanceof KF||t instanceof XF||t instanceof YF||t instanceof QF||t instanceof tL)return!0;if(Array.isArray(t)){for(const e of t)if(!iL(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!iL(t[e]))return!1;return!0}return!1}function rL(t){if(null===t)return ZA;if("string"==typeof t)return QA;if("boolean"==typeof t)return tF;if("number"==typeof t)return JA;if(t instanceof $F)return eF;if(t instanceof eL)return nF;if(t instanceof GF)return sF;if(t instanceof HF)return oF;if(t instanceof KF)return aF;if(t instanceof XF)return uF;if(t instanceof YF)return lF;if(t instanceof QF)return cF;if(t instanceof tL)return hF;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=rL(i);if(n){if(n===t)continue;n=rF;break}n=t}return dF(n||rF,e)}return iF}function sL(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof $F||t instanceof eL||t instanceof HF||t instanceof KF||t instanceof XF||t instanceof YF||t instanceof QF||t instanceof tL?t.toString():JSON.stringify(t)}class oL{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!iL(t[1]))return e.error("invalid value");const n=t[1];let i=rL(n);const r=e.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new oL(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const aL={string:QA,number:JA,boolean:tF,object:iF};class lL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n,i=1;const r=t[0];if("array"===r){let r,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in aL)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=aL[n],i++}else r=rF;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],i++}n=dF(r,s)}else{if(!aL[r])throw new Error(`Types doesn't contain name = ${r}`);n=aL[r]}const s=[];for(;it.outputDefined())}}const uL={"to-boolean":tF,"to-color":eF,"to-number":JA,"to-string":QA};class hL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[0];if(!uL[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==t.length)return e.error("Expected one argument.");const i=uL[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:nL(e[0],e[1],e[2],e[3]),!n))return new $F(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ZF(n||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const n of this.args){e=n.evaluate(t);const i=KF.parse(e);if(i)return i}throw new ZF(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"numberArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=XF.parse(e);if(i)return i}throw new ZF(`Could not parse numberArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"colorArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=YF.parse(e);if(i)return i}throw new ZF(`Could not parse colorArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const n of this.args){e=n.evaluate(t);const i=QF.parse(e);if(i)return i}throw new ZF(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const n of this.args){if(e=n.evaluate(t),null===e)return 0;const i=Number(e);if(!isNaN(i))return i}throw new ZF(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return HF.fromString(sL(this.args[0].evaluate(t)));case"resolvedImage":return tL.fromString(sL(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return sL(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const cL=["Unknown","Point","LineString","Polygon"];class dL{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?cL[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache.get(t);return e||(e=$F.parse(t),this._parseColorCache.set(t,e)),e}}class pL{constructor(t,e,n=[],i,r=new YA,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=r,this.errors=s,this.expectedType=i,this._isConstant=e}parse(t,e,n,i,r={}){return e?this.concat(e,n,i)._parse(t,r):this._parse(t,r)}_parse(t,e){function n(t,e,n){return"assert"===n?new lL(e,[t]):"coerce"===n?new hL(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const s=this.registry[r];if(s){let r=s.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,i=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind){if("projectionDefinition"===t.kind&&["string","array"].includes(i.kind)||["color","formatted","resolvedImage"].includes(t.kind)&&["value","string"].includes(i.kind)||["padding","numberArray"].includes(t.kind)&&["value","number","array"].includes(i.kind)||"colorArray"===t.kind&&["value","string","array"].includes(i.kind)||"variableAnchorOffsetCollection"===t.kind&&["value","array"].includes(i.kind))r=n(r,t,e.typeAnnotation||"coerce");else if(this.checkSubtype(t,i))return null}else r=n(r,t,e.typeAnnotation||"assert")}if(!(r instanceof oL)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new dL;try{r=new oL(r.type,r.evaluate(t))}catch(i){return this.error(i.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,n){const i="number"==typeof t?this.path.concat(t):this.path,r=n?this.scope.concat(n):this.scope;return new pL(this.registry,this._isConstant,i,e||null,r,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new XA(n,t))}checkSubtype(t,e){const n=gF(t,e);return n&&this.error(n),n}}class fL{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const n=[];for(let r=1;r=n.length)throw new ZF(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new ZF(`Array index must be an integer, but found ${e} instead.`);return n[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class yL{constructor(t,e){this.type=tF,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,rF),i=e.parse(t[2],2,rF);return n&&i?mF(n.type,[tF,QA,JA,ZA,rF])?new yL(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${pF(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!yF(e,["boolean","string","number","null"]))throw new ZF(`Expected first argument to be of type boolean, string, number or null, but found ${pF(rL(e))} instead.`);if(!yF(n,["string","array"]))throw new ZF(`Expected second argument to be of type array or string, but found ${pF(rL(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class _L{constructor(t,e,n){this.type=JA,this.needle=t,this.haystack=e,this.fromIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,rF),i=e.parse(t[2],2,rF);if(!n||!i)return null;if(!mF(n.type,[tF,QA,JA,ZA,rF]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${pF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,JA);return r?new _L(n,i,r):null}return new _L(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!yF(e,["boolean","string","number","null"]))throw new ZF(`Expected first argument to be of type boolean, string, number or null, but found ${pF(rL(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),yF(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(yF(n,["array"]))return n.indexOf(e,i);throw new ZF(`Expected second argument to be of type array or string, but found ${pF(rL(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class vL{constructor(t,e,n,i,r,s){this.inputType=t,this.type=e,this.input=n,this.cases=i,this.outputs=r,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let n,i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r={},s=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(n){if(u.checkSubtype(n,rL(t)))return null}else n=rL(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const h=e.parse(a,l,i);if(!h)return null;i=i||h.type,s.push(h)}const o=e.parse(t[1],1,rF);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,i);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new vL(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(rL(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class bL{constructor(t,e,n){this.type=t,this.branches=e,this.otherwise=n}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i=[];for(let s=1;se.outputDefined())&&this.otherwise.outputDefined()}}class wL{constructor(t,e,n,i){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,rF),i=e.parse(t[2],2,JA);if(!n||!i)return null;if(!mF(n.type,[dF(rF),QA,rF]))return e.error(`Expected first argument to be of type array or string, but found ${pF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,JA);return r?new wL(n.type,n,i,r):null}return new wL(n.type,n,i)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let i;if(this.endIndex&&(i=this.endIndex.evaluate(t)),yF(e,["string"]))return[...e].slice(n,i).join("");if(yF(e,["array"]))return e.slice(n,i);throw new ZF(`Expected first argument to be of type array or string, but found ${pF(rL(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function xL(t,e){const n=t.length-1;let i,r,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),i=t[a],r=t[a+1],i<=e){if(a===n||ee))throw new ZF("Input is not a number.");o=a-1}return 0}class SL{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[i,r]of n)this.labels.push(i),this.outputs.push(r)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const n=e.parse(t[1],1,JA);if(!n)return null;const i=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let s=1;s=n)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const u=e.parse(o,l,r);if(!u)return null;r=r||u.type,i.push([n,u])}return new SL(r,n,i)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;return i>=e[r-1]?n[r-1].evaluate(t):n[xL(e,i)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function EL(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var CL,kL,TL=function(){if(kL)return CL;function t(t,e,n,i){this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(i-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=i}return kL=1,CL=t,t.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var n=t,i=0;i<8;i++){var r=this.sampleCurveX(n)-t;if(Math.abs(r)r?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},CL}(),RL=EL(TL);class PL{constructor(t,e,n,i,r){this.type=t,this.operator=e,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[s,o]of r)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,i){let r=0;if("exponential"===t.name)r=ML(e,t.base,n,i);else if("linear"===t.name)r=ML(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new RL(s[0],s[1],s[2],s[3]).solve(ML(e,1,n,i))}return r}static parse(t,e){let[n,i,r,...s]=t;if(!Array.isArray(i)||0===i.length)return e.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const t=i[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:t}}else{if("cubic-bezier"!==i[0])return e.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const t=i.slice(1);if(4!==t.length||t.some(t=>"number"!=typeof t||t<0||t>1))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,JA),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==lF?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=eF;for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,r,a);if(!u)return null;a=a||u.type,o.push([t,u])}return _F(a,JA)||_F(a,nF)||_F(a,eF)||_F(a,aF)||_F(a,uF)||_F(a,lF)||_F(a,cF)||_F(a,dF(JA))?new PL(a,n,i,r,o):e.error(`Type ${pF(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;if(i>=e[r-1])return n[r-1].evaluate(t);const s=xL(e,i),o=e[s],a=e[s+1],l=PL.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),h=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return BF(u,h,l);case"color":return $F.interpolate(u,h,l);case"padding":return KF.interpolate(u,h,l);case"colorArray":return YF.interpolate(u,h,l);case"numberArray":return XF.interpolate(u,h,l);case"variableAnchorOffsetCollection":return QF.interpolate(u,h,l);case"array":return qF(u,h,l);case"projectionDefinition":return eL.interpolate(u,h,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return $F.interpolate(u,h,l,"hcl");case"colorArray":return YF.interpolate(u,h,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return $F.interpolate(u,h,l,"lab");case"colorArray":return YF.interpolate(u,h,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function ML(t,e,n,i){const r=i-n,s=t-n;return 0===r?0:1===e?s/r:(Math.pow(e,s)-1)/(Math.pow(e,r)-1)}class IL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n=null;const i=e.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const o of t.slice(1)){const t=e.parse(o,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,r.push(t)}if(!n)throw new Error("No output type");const s=i&&r.some(t=>gF(i,t.type));return new IL(s?rF:n,r)}evaluate(t){let e,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(t),n&&n instanceof tL&&!n.available&&(e||(e=n.name),n=null,i===this.args.length&&(n=e)),null!==n)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function OL(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function AL(t,e,n,i){return 0===i.compare(e,n)}function FL(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=tF,this.lhs=t,this.rhs=e,this.collator=n,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const n=t[0];let s=e.parse(t[1],1,rF);if(!s)return null;if(!OL(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${pF(s.type)}'.`);let o=e.parse(t[2],2,rF);if(!o)return null;if(!OL(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${pF(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${pF(s.type)}' and '${pF(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new lL(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new lL(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,sF),!a)return null}return new r(s,o,a)}evaluate(r){const s=this.lhs.evaluate(r),o=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const e=rL(s),n=rL(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new ZF(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const t=rL(s),n=rL(o);if("string"!==t.kind||"string"!==n.kind)return e(r,s,o)}return this.collator?n(r,s,o,this.collator.evaluate(r)):e(r,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const LL=FL("==",function(t,e,n){return e===n},AL),DL=FL("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!AL(0,e,n,i)}),NL=FL("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),zL=FL("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),UL=FL(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class BL{constructor(t,e,n){this.type=sF,this.locale=n,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const n=t[1];if("object"!=typeof n||Array.isArray(n))return e.error("Collator options argument must be an object.");const i=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,tF);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,tF);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,QA),!s)?null:new BL(i,r,s)}evaluate(t){return new GF(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class qL{constructor(t,e,n,i,r){this.type=QA,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,JA);if(!n)return null;const i=t[2];if("object"!=typeof i||Array.isArray(i))return e.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=e.parse(i.locale,1,QA),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,QA),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,JA),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,JA),!a)?null:new qL(n,r,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class $L{constructor(t){this.type=oF,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[1];if(!Array.isArray(n)&&"object"==typeof n)return e.error("First argument must be an image or text section.");const i=[];let r=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(r&&"object"==typeof n&&!Array.isArray(n)){r=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,JA),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,dF(QA)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,eF),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!VF.includes(n["vertical-align"]))return e.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${n["vertical-align"]}' instead.`);if(a=e.parse(n["vertical-align"],1,QA),!a)return null}const l=i[i.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,rF);if(!n)return null;const o=n.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new $L(i)}evaluate(t){return new HF(this.sections.map(e=>{const n=e.content.evaluate(t);return rL(n)===hF?new WF("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new WF(sL(n),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null,e.verticalAlign?e.verticalAlign.evaluate(t):null)}))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor),e.verticalAlign&&t(e.verticalAlign)}outputDefined(){return!1}}class GL{constructor(t){this.type=hF,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,QA);return n?new GL(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=tL.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class VL{constructor(t){this.type=JA,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=e.parse(t[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?e.error(`Expected argument of type string or array, but found ${pF(n.type)} instead.`):new VL(n):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new ZF(`Expected value to be of type string or array, but found ${pF(rL(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const WL=8192;function HL(t,e){const n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const s=Math.pow(2,e.z);return[Math.round(n*s*WL),Math.round(i*s*WL)]}function KL(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/WL+e.x)/n,360*r-180),(i=(t[1]/WL+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function XL(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function YL(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ZL(t,e,n){return e[1]>t[1]!=n[1]>t[1]&&t[0]<(n[0]-e[0])*(t[1]-e[1])/(n[1]-e[1])+e[0]}function JL(t,e,n){const i=t[0]-e[0],r=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return i*o-s*r===0&&i*s<=0&&r*o<=0}function QL(t,e,n,i){const r=[e[0]-t[0],e[1]-t[1]];return 0!==(s=[i[0]-n[0],i[1]-n[1]])[0]*(o=r)[1]-s[1]*o[0]&&!(!sD(t,e,n,i)||!sD(n,i,t,e));var s,o}function tD(t,e,n){for(const i of n)for(let n=0;n0&&c<0||h<0&&c>0}function oD(t,e,n){const i=[];for(let r=0;rn[2]){const e=.5*i;let r=t[0]-n[0]>e?-i:n[0]-t[0]>e?i:0;0===r&&(r=t[0]-n[2]>e?-i:n[2]-t[0]>e?i:0),t[0]+=r}XL(e,t)}function uD(t,e,n,i){const r=Math.pow(2,i.z)*WL,s=[i.x*WL,i.y*WL],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];lD(i,e,n,r),o.push(i)}return o}function hD(t,e,n,i){const r=Math.pow(2,i.z)*WL,s=[i.x*WL,i.y*WL],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];XL(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=r/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const i of t)lD(i,e,n,r)}return o}class cD{constructor(t,e){this.type=tF,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(iL(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:i}=n.geometry;"Polygon"===e&&t.push(i),"MultiPolygon"===e&&t.push(...i)}if(t.length)return new cD(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new cD(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new cD(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=oD(e.coordinates,i,r),o=uD(t.geometry(),n,i,r);if(!YL(n,i))return!1;for(const t of o)if(!eD(t,s))return!1}if("MultiPolygon"===e.type){const s=aD(e.coordinates,i,r),o=uD(t.geometry(),n,i,r);if(!YL(n,i))return!1;for(const t of o)if(!nD(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=oD(e.coordinates,i,r),o=hD(t.geometry(),n,i,r);if(!YL(n,i))return!1;for(const t of o)if(!iD(t,s))return!1}if("MultiPolygon"===e.type){const s=aD(e.coordinates,i,r),o=hD(t.geometry(),n,i,r);if(!YL(n,i))return!1;for(const t of o)if(!rD(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class dD{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:n}=this,i=e[t];for(;t>0;){const r=t-1>>1,s=e[r];if(n(i,s)>=0)break;e[t]=s,t=r}e[t]=i}_down(t){const{data:e,compare:n}=this,i=this.length>>1,r=e[t];for(;t=0)break;e[t]=e[i],t=i}e[t]=r}}function pD(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],u=t[a+1][1]):d>0&&(l+=h/this.kx*d,u+=c/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,c=(e[1]-u)*this.ky;const p=h*h+c*c;p180;)t-=360;return t}}function _D(t,e){return e[0]-t[0]}function vD(t){return t[1]-t[0]+1}function bD(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=vD(t);if(e){if(2===n)return[t,null];const e=Math.floor(n/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===n)return[t,null];const i=Math.floor(n/2)-1;return[[t[0],t[0]+i],[t[0]+i+1,t[1]]]}function xD(t,e){if(!bD(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=e[0];i<=e[1];++i)XL(n,t[i]);return n}function SD(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)XL(e,t);return e}function ED(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function CD(t,e,n){if(!ED(t)||!ED(e))return NaN;let i=0,r=0;return t[2]e[2]&&(i=t[0]-e[2]),t[1]>e[3]&&(r=t[1]-e[3]),t[3]=i)return i;if(YL(r,s)){if(OD(t,e))return 0}else if(OD(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,i=a.length,r=i-1;t0;){const r=o.pop();if(r[0]>=s)continue;const l=r[1],u=e?50:100;if(vD(l)<=u){if(!bD(l,t.length))return NaN;if(e){const e=ID(t,l,n,i);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const r=MD(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=wD(l,e);FD(o,s,i,t,a,n[0]),FD(o,s,i,t,a,n[1])}}return s}function ND(t,e,n,i,r,s=1/0){let o=Math.min(s,r.distance(t[0],n[0]));if(0===o)return o;const a=new dD([[0,[0,t.length-1],[0,n.length-1]]],_D);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],h=e?50:100,c=i?50:100;if(vD(l)<=h&&vD(u)<=c){if(!bD(l,t.length)&&bD(u,n.length))return NaN;let s;if(e&&i)s=RD(t,l,n,u,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=kD(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(u[0],u[1]+1);for(let n=l[0];n<=l[1];++n)if(s=kD(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=PD(t,l,n,u,r),o=Math.min(o,s)}else{const s=wD(l,e),h=wD(u,i);LD(a,o,r,t,n,s[0],h[0]),LD(a,o,r,t,n,s[0],h[1]),LD(a,o,r,t,n,s[1],h[0]),LD(a,o,r,t,n,s[1],h[1])}}return o}function jD(t){return"MultiPolygon"===t.type?t.coordinates.map(t=>({type:"Polygon",coordinates:t})):"MultiLineString"===t.type?t.coordinates.map(t=>({type:"LineString",coordinates:t})):"MultiPoint"===t.type?t.coordinates.map(t=>({type:"Point",coordinates:t})):[t]}class zD{constructor(t,e){this.type=JA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(iL(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new zD(e,e.features.map(t=>jD(t.geometry)).flat());if("Feature"===e.type)return new zD(e,jD(e.geometry));if("type"in e&&"coordinates"in e)return new zD(e,jD(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>KL([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new yD(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,ND(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,ND(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,DD(i,!1,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>KL([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new yD(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,ND(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,ND(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,DD(i,!0,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const n=t.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(t){if(t.length<=1)return[t];const e=[];let n,i;for(const r of t){const t=pD(r);0!==t&&(r.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&e.push(n),n=[r]):n.push(r))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>KL([e.x,e.y],t.canonical)))),r=new yD(i[0][0][0][1]);let s=1/0;for(const o of e)for(const t of i){switch(o.type){case"Point":s=Math.min(s,DD([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,DD(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,AD(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class UD{constructor(t){this.type=rF,this.key=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=t[1];return null==n?e.error("Global state property must be defined."):"string"!=typeof n?e.error(`Global state property must be string, but found ${typeof t[1]} instead.`):new UD(n)}evaluate(t){var e;const n=null===(e=t.globals)||void 0===e?void 0:e.globalState;return n&&0!==Object.keys(n).length?LF(n,this.key):null}eachChild(){}outputDefined(){return!1}}const BD={"==":LL,"!=":DL,">":jL,"<":NL,">=":UL,"<=":zL,array:lL,at:mL,boolean:lL,case:bL,coalesce:IL,collator:BL,format:$L,image:GL,in:yL,"index-of":_L,interpolate:PL,"interpolate-hcl":PL,"interpolate-lab":PL,length:VL,let:fL,literal:oL,match:vL,number:lL,"number-format":qL,object:lL,slice:wL,step:SL,string:lL,"to-boolean":hL,"to-color":hL,"to-number":hL,"to-string":hL,var:gL,within:cD,distance:zD,"global-state":UD};class qD{constructor(t,e,n,i){this.name=t,this.type=e,this._evaluate=n,this.args=i}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const n=t[0],i=qD.definitions[n];if(!i)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,s=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,u]of o){a=new pL(e.registry,HD,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(pF).join(", ")})`:`(${pF(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&HD(t):n&&t instanceof oL}),!!n&&KD(t)&&YD(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function KD(t){if(t instanceof qD){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof cD)return!1;if(t instanceof zD)return!1;let e=!0;return t.eachChild(t=>{e&&!KD(t)&&(e=!1)}),e}function XD(t){if(t instanceof qD&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!XD(t)&&(e=!1)}),e}function YD(t,e){if(t instanceof qD&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!YD(t,e)&&(n=!1)}),n}function ZD(t){return{result:"success",value:t}}function JD(t){return{result:"error",value:t}}function QD(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&rL(t)===iF}qD.register(BD,{error:[{kind:"error"},[QA],(t,[e])=>{throw new ZF(e.evaluate(t))}],typeof:[QA,[rF],(t,[e])=>pF(rL(e.evaluate(t)))],"to-rgba":[dF(JA,4),[eF],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[eF,[JA,JA,JA],$D],rgba:[eF,[JA,JA,JA,JA],$D],has:{type:tF,overloads:[[[QA],(t,[e])=>GD(e.evaluate(t),t.properties())],[[QA,iF],(t,[e,n])=>GD(e.evaluate(t),n.evaluate(t))]]},get:{type:rF,overloads:[[[QA],(t,[e])=>VD(e.evaluate(t),t.properties())],[[QA,iF],(t,[e,n])=>VD(e.evaluate(t),n.evaluate(t))]]},"feature-state":[rF,[QA],(t,[e])=>VD(e.evaluate(t),t.featureState||{})],properties:[iF,[],t=>t.properties()],"geometry-type":[QA,[],t=>t.geometryType()],id:[rF,[],t=>t.id()],zoom:[JA,[],t=>t.globals.zoom],"heatmap-density":[JA,[],t=>t.globals.heatmapDensity||0],elevation:[JA,[],t=>t.globals.elevation||0],"line-progress":[JA,[],t=>t.globals.lineProgress||0],accumulated:[rF,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[JA,WD(JA),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[JA,WD(JA),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:JA,overloads:[[[JA,JA],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[JA],(t,[e])=>-e.evaluate(t)]]},"/":[JA,[JA,JA],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[JA,[JA,JA],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[JA,[],()=>Math.LN2],pi:[JA,[],()=>Math.PI],e:[JA,[],()=>Math.E],"^":[JA,[JA,JA],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[JA,[JA],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[JA,[JA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[JA,[JA],(t,[e])=>Math.log(e.evaluate(t))],log2:[JA,[JA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[JA,[JA],(t,[e])=>Math.sin(e.evaluate(t))],cos:[JA,[JA],(t,[e])=>Math.cos(e.evaluate(t))],tan:[JA,[JA],(t,[e])=>Math.tan(e.evaluate(t))],asin:[JA,[JA],(t,[e])=>Math.asin(e.evaluate(t))],acos:[JA,[JA],(t,[e])=>Math.acos(e.evaluate(t))],atan:[JA,[JA],(t,[e])=>Math.atan(e.evaluate(t))],min:[JA,WD(JA),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[JA,WD(JA),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[JA,[JA],(t,[e])=>Math.abs(e.evaluate(t))],round:[JA,[JA],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[JA,[JA],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[JA,[JA],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[tF,[QA,rF],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[tF,[rF],(t,[e])=>t.id()===e.value],"filter-type-==":[tF,[QA],(t,[e])=>t.geometryType()===e.value],"filter-<":[tF,[QA,rF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i{const n=t.id(),i=e.value;return typeof n==typeof i&&n":[tF,[QA,rF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[tF,[rF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[tF,[QA,rF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[tF,[rF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[tF,[QA,rF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[tF,[rF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[tF,[rF],(t,[e])=>e.value in t.properties()],"filter-has-id":[tF,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[tF,[dF(QA)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[tF,[dF(rF)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[tF,[QA,dF(rF)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[tF,[QA,dF(rF)],(t,[e,n])=>function(t,e,n,i){for(;n<=i;){const r=n+i>>1;if(e[r]===t)return!0;e[r]>t?i=r-1:n=r+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:tF,overloads:[[[tF,tF],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[WD(tF),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:tF,overloads:[[[tF,tF],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[WD(tF),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[tF,[tF],(t,[e])=>!e.evaluate(t)],"is-supported-script":[tF,[QA],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[QA,[QA],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[QA,[QA],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[QA,WD(rF),(t,e)=>e.map(e=>sL(e.evaluate(t))).join("")],"resolved-locale":[QA,[sF],(t,[e])=>e.evaluate(t).resolvedLocale()]});class tN{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new dL,this._defaultValue=e?function(t){if("color"===t.type&&QD(t.default))return new $F(0,0,0,0);switch(t.type){case"color":return $F.parse(t.default)||null;case"padding":return KF.parse(t.default)||null;case"numberArray":return XF.parse(t.default)||null;case"colorArray":return YF.parse(t.default)||null;case"variableAnchorOffsetCollection":return QF.parse(t.default)||null;case"projectionDefinition":return eL.parse(t.default)||null;default:return void 0===t.default?null:t.default}}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,i,r,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new ZF(`Expected value to be one of ${Object.keys(this._enumValues).map(t=>JSON.stringify(t)).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(o){return this._warningHistory[o.message]||(this._warningHistory[o.message]=!0,"undefined"!=typeof console&&console.warn(o.message)),this._defaultValue}}}function eN(t,e){const n=new pL(BD,HD,[],e?function(t){const e={color:eF,string:QA,number:JA,enum:QA,boolean:tF,formatted:oF,padding:aF,numberArray:uF,colorArray:lF,projectionDefinition:nF,resolvedImage:hF,variableAnchorOffsetCollection:cF};return"array"===t.type?dF(e[t.value]||rF,t.length):e[t.type]}(e):void 0),i=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return i?ZD(new tN(i,e)):JD(n.errors)}class nN{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!XD(e.expression),this.globalStateRefs=oN(e.expression)}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}}class iN{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!XD(e.expression),this.globalStateRefs=oN(e.expression),this.interpolationType=i}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}interpolationFactor(t,e,n){return this.interpolationType?PL.interpolationFactor(this.interpolationType,t,e,n):0}}function rN(t,e){const n=eN(t,e);if("error"===n.result)return n;const i=n.value.expression,r=KD(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return JD([new XA("","data expressions not supported")]);var s;const o=YD(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return JD([new XA("","zoom expressions not supported")]);const a=sN(i);if(!a&&!o)return JD([new XA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof XA)return JD([a]);if(a instanceof PL&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return JD([new XA("",'"interpolate" expressions cannot be used with this property')]);if(!a)return ZD(new nN(r?"constant":"source",n.value));const l=a instanceof PL?a.interpolation:void 0;return ZD(new iN(r?"camera":"composite",n.value,a.labels,l))}function sN(t){let e=null;if(t instanceof fL)e=sN(t.result);else if(t instanceof IL){for(const n of t.args)if(e=sN(n),e)break}else(t instanceof SL||t instanceof PL)&&t.input instanceof qD&&"zoom"===t.input.name&&(e=t);return e instanceof XA||t.eachChild(t=>{const n=sN(t);n instanceof XA?e=n:!e&&n?e=new XA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new XA("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function oN(t,e=new Set){return t instanceof UD&&e.add(t.key),t.eachChild(t=>{oN(t,e)}),e}function aN(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!aN(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const lN={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function uN(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};aN(t)||(t=dN(t));const e=eN(t,lN);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,i)=>e.value.evaluate(t,n,{},i),needGeometry:cN(t),getGlobalStateRefs:()=>oN(e.value.expression)}}function hN(t,e){return te?1:0}function cN(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?pN(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(dN))):"all"===e?["all"].concat(t.slice(1).map(dN)):"none"===e?["all"].concat(t.slice(1).map(dN).map(mN)):"in"===e?fN(t[1],t.slice(2)):"!in"===e?mN(fN(t[1],t.slice(2))):"has"===e?gN(t[1]):"!has"!==e||mN(gN(t[1]));var n}function pN(t,e,n){switch(t){case"$type":return[`filter-type-${n}`,e];case"$id":return[`filter-id-${n}`,e];default:return[`filter-${n}`,t,e]}}function fN(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(t=>typeof t!=typeof e[0])?["filter-in-large",t,["literal",e.sort(hN)]]:["filter-in-small",t,["literal",e]]}}function gN(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function mN(t){return["!",t]}function yN(t){return"object"==typeof t?["literal",t]:t}function _N(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function vN(t,e){const n=yN((i=t.default,r=e.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===e.type?"":n}function bN(t,e,n){const i=SN(t,e),r=["get",t.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const t of n)i.push(["==",r,t[0]],t[1]);return i.push(vN(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)xN(i,t[0],t[1],!1);return i.push(vN(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)xN(e,t[0],t[1],!0);return wN(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,yN(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[_N(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)xN(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,yN(t.default)]}throw new Error(`Unknown property function type ${i}`)}function wN(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function xN(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function SN(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function EN(t){const e=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(t);null!==r;r=n.exec(t)){const s=t.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,s.length>0&&e.push(s),e.push(["get",r[1]])}if(1===e.length)return t;if(i":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};var kN={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},TN=" ",RN=/(italic|oblique)$/i,PN={};function MN(t,e,n){var i=PN[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],u=0,h=t.length;u1?c[c.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:kN[p],c.pop(),f&&p.startsWith(f)&&c.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=c.join(TN).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(TN)&&(g='"'+g+'"'),l.push(g)}i=PN[t]=[a,o,l]}return i[0]+TN+i[1]+TN+e+"px"+(n?"/"+n:"")+TN+i[2]}class IN extends oI{constructor(t,e,n,i,r){super(t,e,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}}class ON extends _S{constructor(t,e,n){super(),n=n||{},this.tileCoord=t,this.state=e,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Yx)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(4!==this.state){if(3!==this.state&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}}load(){SS()}getAlpha(t,e){if(!this.transition_)return 1;let n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else n=e,this.transitionStarts_[t]=n;const i=e-n+1e3/60;return i>=this.transition_?1:QE(i/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}class AN extends ON{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,jS?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==i&&(this.image_.crossOrigin=i)),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=2,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const t=DT(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(jS)this.state=2;else{const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=2:this.state=4}this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,n){const i=t;let r=!0,s=!1,o=!1;const a=[bS(i,"load",function(){o=!0,s||e()})];return i.src&&zS?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(bS(i,"error",n)),function(){r=!1,a.forEach(wS)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}class FN{constructor(t,e,n,i){this.minX=t,this.maxX=e,this.minY=n,this.maxY=i}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function LN(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new FN(t,e,n,i)}const DN=[];class NN extends ON{constructor(t,e,n,i,r){super(t,e,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=DT(1,1,DN)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=CS(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){this.context_&&(zT(this.context_),DN.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let jN=class extends ON{constructor(t,e,n,i,r,s){super(t,e,s),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(3)}setFeatures(t){this.features_=t,this.setState(2)}setLoader(t){this.loader_=t}};const zN="https://api.mapbox.com";function UN(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function BN(t,e,n){const i=UN(t);if(!i)return decodeURI(new URL(t,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const r=i.slice(8);return`${zN}/styles/v1/${r}/sprite?access_token=${e}`}function qN(t,e){const n=UN(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const i=n.slice(7);return`${zN}/styles/v1/${i}?&access_token=${e}`}const $N=["a","b","c","d"];function GN(t,e,n,i){const r=new URL(t,i||location.href),s=UN(t);if(!s)return e?(r.searchParams.has(n)||r.searchParams.set(n,e),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===s){const t=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${s}/{z}/{x}/{y}${t}.webp?access_token=${e}`]}return $N.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const VN=Object.freeze({}),WN={},HN={};let KN=0;function XN(t){return t.id||(t.id=KN++),t.id}function YN(t){let e=WN[t.id];return e||(e={},WN[XN(t)]=e),e}function ZN(t){return t*Math.PI/180}const JN=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function QN(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);const n=document.createElement("canvas");return n.width=t,n.height=e,n}function tj(t,e){let n=0;const i=e.length;for(;nr).then(t=>t instanceof Response?(i&&(i.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),i&&(i.url=t.url),fetch(t).then(o).catch(s))).catch(s);return nj[e]=[r,a],a}function rj(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return ij("Style",t=qN(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(JD){return Promise.reject(JD)}}const sj={};function oj(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=sj[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof jN)t.setLoader((e,n,r)=>{const s=function(n){n.arrayBuffer().then(n=>{const i=t.getFormat().readFeatures(n,{extent:e,featureProjection:r});t.setFeatures(i)})};fS(()=>i).then(e=>{if(e instanceof Response)return s(e);fetch(e).then(s).catch(()=>t.setState(3))}).catch(()=>t.setState(3))});else{const e=t.getImage();fS(()=>i).then(n=>{if("string"==typeof n)return void(e.src=n);const i=t=>t.blob().then(t=>{const n=URL.createObjectURL(t);e.addEventListener("load",()=>URL.revokeObjectURL(n)),e.addEventListener("error",()=>URL.revokeObjectURL(n)),e.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const i=GN(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:i}),tileLoadFunction:s});else{const t={};r=ij("Source",i[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),GN(i,n.accessToken,n.accessTokenParam||"access_token",t.url)[0]}),Promise.resolve({tileJson:e,tileLoadFunction:s})})}}else t.tiles?(t=Object.assign({},t,{tiles:t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),GN(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));sj[i]=r}return r}function aj(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=QN(r[0],r[1]),o=s.getContext("2d");o.drawImage(t,e.x,e.y,e.width,e.height,n*e.pixelRatio,n*e.pixelRatio,e.width,e.height);const a=o.getImageData(0,0,r[0],r[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let u=0,h=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function lj(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function uj(t,e,n){const i=QN(e.width,e.height),r=i.getContext("2d");r.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=r.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a0?(o[e+0]=Math.round(255*n.r*s),o[e+1]=Math.round(255*n.g*s),o[e+2]=Math.round(255*n.b*s),o[e+3]=Math.round(255*s)):o[e+3]=0}return r.putImageData(s,0,0),i}const hj=Array(256).join(" ");function cj(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=hj.slice(0,Math.round(e/.1));for(let t=0,e=i.length;t0&&(n+="\n"),n+=i[t].split("").join(r);return n}return t}let dj;function pj(){return dj||(dj=QN(1,1).getContext("2d")),dj}function fj(t,e){return pj().measureText(t).width+(t.length-1)*e}const gj={};function mj(t,e,n,i){if(-1!==t.indexOf("\n")){const r=t.split("\n"),s=[];for(let t=0,o=r.length;t1){const t=pj();t.font=e;const r=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e1;++e){const t=l[e];if(fj(t,i)<.35*r){const r=e>0?fj(l[e-1],i):1/0,s=e.7*r&&fj(s,i)<.6*r){const o=t.split(" "),a=o.pop();fj(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=cj(s,i),gj[r]=s}return s}xI.on("propertychange",()=>{for(const t in gj)delete gj[t]});const yj=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],_j={},vj={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},bj={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},wj={zoom:0,distanceFromCenter:0};let xj,Sj;function Ej(t,e,n,i,r,s){const o=t.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[o]||(r[o]={});const a=r[o];if(!a[n]){let i=(t[e]||VN)[n];const r=CN[`${e}_${t.type}`][n];void 0===i&&(i=r.default);let s=(l=i,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in BD);if(!s&&QD(i)&&(i=function(t,e){let n=t.stops;if(!n)return function(t,e){const n=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",n]:n;if("enum"===e.type)return["match",n,Object.keys(e.values),n,t.default];{const i=["color"===e.type?"to-color":e.type,n,yN(t.default)];return"array"===e.type&&i.splice(1,0,e.value,e.length||null),i}}(t,e);const i=n&&"object"==typeof n[0][0],r=i||void 0!==t.property,s=i||!r;return n=n.map(t=>!r&&e.tokens&&"string"==typeof t[1]?[t[0],EN(t[1])]:[t[0],yN(t[1])]),i?function(t,e,n){const i={},r={},s=[];for(let o=0;o`${t.key}: ${t.message}`).join(", "));return n.value}(i,r);a[n]=t.evaluate.bind(t)}else{const t=r.type;"color"!==t&&"colorArray"!==t||(i=$F.parse(i)),a[n]=function(){return i}}}var l;return a[n](wj,i,s)}function Cj(t,e,n,i){return Ej(t,"layout",`${n}-allow-overlap`,e,i)?Ej(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function kj(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=uN(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](wj,n)}function Tj(t,e){if(t){if(0===t.a||0===e)return;const n=t.a;return e=void 0===e?1:e,0===n?"transparent":"rgba("+Math.round(255*t.r/n)+","+Math.round(255*t.g/n)+","+Math.round(255*t.b/n)+","+n*e+")"}return t}qD.register(BD,{...qD.definitions,pitch:[{kind:"number"},[],()=>wj.pitch||90],"distance-from-center":[{kind:"number"},[],()=>wj.distanceFromCenter||0]});const Rj=/\{[^{}}]*\}/g;function Pj(t,e){return t.replace(Rj,function(t){return e[t.slice(1,-1)]||""})}function Mj(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const Ij={};class Oj{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=TA,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?QC(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=QC(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return SS()}readFeature(t,e){return SS()}readFeatures(t,e){return SS()}readGeometry(t,e){return SS()}readProjection(t){return SS()}writeFeature(t,e){return SS()}writeFeatures(t,e){return SS()}writeGeometry(t,e){return SS()}}function Aj(t,e,n){const i=n?QC(n.featureProjection):null,r=n?QC(n.dataProjection):null;let s=t;if(i&&r&&!sk(i,r)){e&&(s=t.clone());const n=e?i:r,o=e?r:i;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(lk(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),i=function(t){for(let n=0,i=t.length;nLj({...t,geometry:e})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return Aj(new jA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(pT(t,0,e,n)||gT(t=t.slice(),0,e,n),t):(dT(t,0,e,n)||fT(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function Dj(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>Dj(t,e));return new IA(n)}return Aj(new(0,Fj[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class Nj extends Oj{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(jj(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(jj(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return SS()}readFeaturesFromObject(t,e){return SS()}readGeometry(t,e){return this.readGeometryFromObject(jj(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return SS()}readProjection(t){return this.readProjectionFromObject(jj(t))}readProjectionFromObject(t){return SS()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return SS()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return SS()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return SS()}}function jj(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class zj extends Nj{constructor(t){t=t||{},super(),this.dataProjection=QC(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=QC(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let n=null;n="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const i=Uj(n.geometry);if(this.featureClass===jA)return Lj({geometry:i,id:n.id,properties:n.properties},e);const r=new TA;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(Dj(i,e)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const i=t.features;for(let t=0,r=i.length;t>3,r=this.pos;this.type=7&n,t(i,e,this),this.pos===r&&this.skip(n)}return e}readMessage(t,e){return this.readFields(t,e,this.readVarint()+this.pos)}readFixed32(){const t=this.dataView.getUint32(this.pos,!0);return this.pos+=4,t}readSFixed32(){const t=this.dataView.getInt32(this.pos,!0);return this.pos+=4,t}readFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*qj;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*qj;return this.pos+=8,t}readFloat(){const t=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,t}readDouble(){const t=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,t}readVarint(t){const e=this.buf;let n,i;return i=e[this.pos++],n=127&i,i<128?n:(i=e[this.pos++],n|=(127&i)<<7,i<128?n:(i=e[this.pos++],n|=(127&i)<<14,i<128?n:(i=e[this.pos++],n|=(127&i)<<21,i<128?n:(i=e[this.pos],n|=(15&i)<<28,function(t,e,n){const i=n.buf;let r,s;if(s=i[n.pos++],r=(112&s)>>4,s<128)return Wj(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return Wj(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return Wj(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return Wj(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return Wj(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return Wj(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(n,t,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const t=this.readVarint();return t%2==1?(t+1)/-2:t/2}readBoolean(){return Boolean(this.readVarint())}readString(){const t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Gj?Gj.decode(this.buf.subarray(e,t)):function(t,e,n){let i="",r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+u>n)break;1===u?e<128&&(l=e):2===u?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===u?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&(l=(15&e)<<12|(63&s)<<6|63&o,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===u&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&e)<<18|(63&s)<<12|(63&o)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,u=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=u}return i}(this.buf,e,t)}readBytes(){const t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e}readPackedVarint(t=[],e){const n=this.readPackedEnd();for(;this.pos127;);else if(2===e)this.pos=this.readVarint()+this.pos;else if(5===e)this.pos+=4;else{if(1!==e)throw new Error(`Unimplemented type: ${e}`);this.pos+=8}}writeTag(t,e){this.writeVarint(t<<3|e)}realloc(t){let e=this.length||16;for(;e268435455||t<0?function(t,e){let n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,n){n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos]=127&t}(n,0,e),function(t,e){const n=(7&t)<<4;e.buf[e.pos++]|=n|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(i,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))}writeSVarint(t){this.writeVarint(t<0?2*-t-1:2*t)}writeBoolean(t){this.writeVarint(+t)}writeString(t){t=String(t),this.realloc(4*t.length),this.pos++;const e=this.pos;this.pos=function(t,e,n){for(let i,r,s=0;s55295&&i<57344){if(!r){i>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):r=i;continue}if(i<56320){t[n++]=239,t[n++]=191,t[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(t[n++]=239,t[n++]=191,t[n++]=189,r=null);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:(i<65536?t[n++]=i>>12|224:(t[n++]=i>>18|240,t[n++]=i>>12&63|128),t[n++]=i>>6&63|128),t[n++]=63&i|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&Hj(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n}writeFloat(t){this.realloc(4),this.dataView.setFloat32(this.pos,t,!0),this.pos+=4}writeDouble(t){this.realloc(8),this.dataView.setFloat64(this.pos,t,!0),this.pos+=8}writeBytes(t){const e=t.length;this.writeVarint(e),this.realloc(e);for(let n=0;n=128&&Hj(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,Kj,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,Xj,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,Jj,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,Yj,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,Zj,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,Qj,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,tz,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,ez,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,nz,e)}writeBytesField(t,e){this.writeTag(t,2),this.writeBytes(e)}writeFixed32Field(t,e){this.writeTag(t,5),this.writeFixed32(e)}writeSFixed32Field(t,e){this.writeTag(t,5),this.writeSFixed32(e)}writeFixed64Field(t,e){this.writeTag(t,1),this.writeFixed64(e)}writeSFixed64Field(t,e){this.writeTag(t,1),this.writeSFixed64(e)}writeVarintField(t,e){this.writeTag(t,0),this.writeVarint(e)}writeSVarintField(t,e){this.writeTag(t,0),this.writeSVarint(e)}writeStringField(t,e){this.writeTag(t,2),this.writeString(e)}writeFloatField(t,e){this.writeTag(t,5),this.writeFloat(e)}writeDoubleField(t,e){this.writeTag(t,1),this.writeDouble(e)}writeBooleanField(t,e){this.writeVarintField(t,+e)}}function Wj(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Hj(t,e,n){const i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(i);for(let r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function Kj(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>h&&(i.push(u),h=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>h&&(n.push(n[h],n[h+1]),u+=2)}}u>h&&(i.push(u),h=u)}createFeature_(t,e,n){const i=e.type;if(0===i)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const u=function(t,e){let n;return 1===t?n=1===e?"Point":"MultiPoint":2===t?n=1===e?"LineString":"MultiLineString":3===t&&(n="Polygon"),n}(i,l.length);if(this.featureClass===jA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=mT(a,l);t=e.length>1?new DA(a,"XY",e):new yT(a,"XY",l)}else t="Point"===u?new tT(a,"XY"):"LineString"===u?new AA(a,"XY"):"MultiPoint"===u?new LA(a,"XY"):"MultiLineString"===u?new FA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=Aj(t,!1,n);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,i=QC((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new Vj(t),s=r.readFields(rz,{}),o=[];for(const a in s){if(n&&!n.includes(a))continue;const t=s[a],l=t?[0,0,t.extent,t.extent]:null;i.setExtent(l);for(let n=0,i=t.length;n>3)?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;e.values.push(i)}}function oz(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos=o.width)return null;const u=UE(s),h=Math.floor(o.height*((s[3]-i[1])/u));return h<0||h>=o.height?null:this.getImageData(o,l,h)}renderFrame(t,e){const n=this.image,i=n.getExtent(),r=n.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],u=t.pixelRatio,h=t.viewState,c=h.center,d=h.resolution,p=u*s/(d*a),f=u*o/(d*a);this.prepareContainer(t,e);const g=this.context.canvas.width,m=this.context.canvas.height,y=this.getRenderContext(t);let _=!1,v=!0;if(l.extent){const e=pk(l.extent,h.projection);v=VE(e,t.extent),_=v&&!bE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=Sk(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-c[0])/s,a*(c[1]-i[3])/o);this.renderedResolution=o*u/a;const x=b.width*w[0],S=b.height*w[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),v&&x>=.5&&S>=.5){const t=w[4],e=w[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(b,0,0,+b.width,+b.height,t,e,x,S),1!==n&&y.restore()}return this.postRender(this.context,t),_&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class uz extends KR{constructor(t){super(t=t||{})}}class hz extends uz{constructor(t){super(t)}createRenderer(){return new lz(this)}getData(t){return super.getData(t)}}function cz(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const dz=new Error("disposed"),pz=[256,256];class fz extends ON{constructor(t){super(t.tileCoord,0,{transition:t.transition,interpolate:t.interpolate}),this.loader_=t.loader,this.data_=null,this.error_=null,this.size_=t.size||null,this.controller_=t.controller||null}getSize(){if(this.size_)return this.size_;const t=cz(this.data_);return t?[t.width,t.height]:pz}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const t=this;this.loader_().then(function(e){t.data_=e,t.state=2,t.changed()}).catch(function(e){t.error_=e,t.state=3,t.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(dz),this.controller_=null),super.disposeInternal()}}let gz;const mz=[];function yz(t,e,n,i,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(i,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,i)+1,Math.max(n,r)),t.restore()}function _z(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function vz(t,e,n,i){const r=uk(n,e,t);let s=tk(e,i,n);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||vE(l,r)){const e=tk(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function bz(t,e,n,i,r,s,o,a,l,u,h,c,d){const p=DT(Math.round(n*t),Math.round(n*e),mz);if(c||(p.imageSmoothingEnabled=!1),0===l.length)return p.canvas;function f(t){return Math.round(t*n)/n}p.scale(n,n),p.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(t){RE(g,t.extent)});const y=n/i,_=(c?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=DT(Math.round(GE(g)*y),Math.round(UE(g)*y),mz),c||(m.imageSmoothingEnabled=!1),l.forEach(function(t){if(t.image.width>0&&t.image.height>0){if(t.clipExtent){m.save();const e=(t.clipExtent[0]-g[0])*y,n=-(t.clipExtent[3]-g[3])*y,i=GE(t.clipExtent)*y,r=UE(t.clipExtent)*y;m.rect(c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?r:Math.round(n+r)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,i=GE(t.extent)*y,r=UE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=qE(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let i=e[0][0],r=e[0][1],o=e[1][0],a=e[1][1],u=e[2][0],h=e[2][1];const d=f((n[0][0]-v[0])/s),y=f(-(n[0][1]-v[1])/s),b=f((n[1][0]-v[0])/s),w=f(-(n[1][1]-v[1])/s),x=f((n[2][0]-v[0])/s),S=f(-(n[2][1]-v[1])/s),E=i,C=r;i=0,r=0,o-=E,a-=C,u-=E,h-=C;const k=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=o)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let o=i+1;o=0;i--){n[i]=t[i][e]/t[i][i];for(let r=i-1;r>=0;r--)t[r][e]-=t[r][i]*n[i]}return n}([[o,a,0,0,b-d],[u,h,0,0,x-d],[0,0,o,a,w-y],[0,0,u,h,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===gz){const t=DT(6,6,mz);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",yz(t,4,5,4,0),yz(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;gz=_z(e,0)||_z(e,4)||_z(e,8),zT(t),mz.push(t.canvas)}return gz}()||!c){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iwk(o,uk(t,this.targetProj_,this.sourceProj_)),function(t,e,n,i){const r=t.length;n=void 0!==n?n:2,i=i??n,e=void 0!==e?e:new Array(r);for(let s=0;s=o?t[s+n]:r[n]}return e}):lk(this.targetProj_,this.sourceProj_);var u;this.transformInv_=function(t){const e=t[0]+"/"+t[1];return a[e]||(a[e]=l(t)),a[e]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&GE(i)>=GE(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?GE(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?GE(this.targetProj_.getExtent()):null;const h=qE(n),c=$E(n),d=LE(n),p=FE(n),f=this.transformInv_(h),g=this.transformInv_(c),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(AE(n)/(s*s*256*256)))):0);if(this.addQuad_(h,c,d,p,f,g,m,y,_),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const n=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];n[0][0]-t>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-t>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-t>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i.5&&h<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=GE(gE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&h&&(p=h>.25||p)),!p&&this.maxSourceExtent_&&isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(u[3])&&!VE(u,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const e=[(t[0]+n[0])/2,(t[1]+n[1])/2],i=this.transformInv_(e);let s;s=d?(aE(r[0],c)+aE(o[0],c))/2-aE(i[0],c):(r[0]+o[0])/2-i[0];const a=(r[1]+o[1])/2-i[1];p=s*s+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])){const u=[(e[0]+n[0])/2,(e[1]+n[1])/2],h=this.transformInv_(u),c=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(c);this.addQuad_(t,e,u,c,r,s,h,d,l-1),this.addQuad_(c,u,n,i,d,h,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],h=this.transformInv_(u),c=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(c);this.addQuad_(t,u,c,i,r,h,d,a,l-1),this.addQuad_(u,e,n,c,h,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,i,r,o,a),14&f||this.addTriangle_(t,n,e,r,o,s),f&&(13&f||this.addTriangle_(e,i,t,s,a,r),7&f||this.addTriangle_(e,i,n,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(e){const n=e.source;PE(t,n[0]),PE(t,n[1]),PE(t,n[2])}),t}getTriangles(){return this.triangles_}}class xz extends ON{constructor(t,e,n,i,r,s,o,a,l,u,h,c){super(r,0,c),this.renderEdges_=void 0!==h&&h,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=i,this.wrappedTileCoord_=s||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?BE(d,p):d;if(0===AE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?BE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=DE(n);let s=vz(t,e,r,i);return(!isFinite(s)||s<=0)&&OE(n,function(n){return s=vz(t,e,n,i),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(_)||_<=0)return void(this.state=4);const v=void 0!==u?u:.5;if(this.triangulation_=new wz(t,n,g,f,_*v,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(_);let b=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(b[1]=nE(b[1],f[1],f[3]),b[3]=nE(b[3],f[1],f[3])):b=BE(b,f)),AE(b)){let n=0,i=0;t.canWrapX()&&(n=GE(m),i=Math.floor((b[0]-m[0])/n)),XE(b.slice(),t,!0).forEach(t=>{const r=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,o);if(r){const t=i*n;this.sourceTiles_.push({tile:r,offset:t})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const n=e.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=e.offset,i[2]+=e.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=e.offset,r[2]+=e.offset),t.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=bz(i,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const n=e.getState();if(0==n||1==n){t++;const n=vS(e,Yx,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(wS(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){0==t.getState()&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(wS),this.sourcesListenerKeys_=null}release(){this.canvas_&&(zT(this.canvas_.getContext("2d")),mz.push(this.canvas_),this.canvas_=null),super.release()}}class Sz{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const t=this.pop();t instanceof iS&&t.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const n=this.entries_[t];return ZS(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(t){const e=this.entries_[t];return ZS(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){ZS(!(t in this.entries_),"Tried to set a value for a key that is used already");const n={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[t]=n,++this.count_}setSize(t){this.highWaterMark=t}}function Ez(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function Cz(t,e,n,i,r){return`${CS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function kz(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const i=t[n],r=i.has(e);return r||i.add(e),!r}function Tz(t,e,n){const i=t[n];return!!i&&i.delete(e)}function Rz(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=BE(e,pk(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=BE(e,n))}return e}class Pz extends bA{constructor(t,e){super(t),e=e||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new FN(0,0,0,0),this.tempTileCoord_=Ez(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new Sz(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new Sz(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=Cz(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,u=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!u||sk(u,l)?void 0:this.getSourceTileCache()),!a)return null;r.set(o,a)}return a}getTile(t,e,n,i){return this.getOrCreateTile(t,e,n,i)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),i=wk(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!vE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let u=a.getZForResolution(s.resolution);u>=a.getMinZoom();--u){const t=a.getTileCoordForCoordAndZ(i,u),n=this.getTile(u,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(u),h=LP(a.getTileSize(u)),c=a.getResolution(u);let d;if(n instanceof AN||n instanceof xz)d=n.getImage();else{if(!(n instanceof fz))continue;if(d=cz(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/c-t[1]*h[0])),f=Math.floor(l*((r[1]-i[1])/c-t[2]*h[1])),g=Math.round(l*o.getGutterForProjection(s.projection));return this.getImageData(d,p+g,f+g)}return null}prepareFrame(t){this.renderedProjection?t.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=t.viewState.projection):this.renderedProjection=t.viewState.projection;const e=this.getLayer().getSource();if(!e)return!1;const n=e.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===e.getKey()&&(this.tileCache_.clear(),this.sourceTileCache_?.clear())):this.renderedSourceRevision_=n,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(t,e,n,i,r){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),u=CS(a);u in t.wantedTiles||(t.wantedTiles[u]={});const h=t.wantedTiles[u],c=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),c?c.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?zE(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),r=l.getResolution(g);for(let e=n.minX;e<=n.maxX;++e)for(let s=n.minY;s<=n.maxY;++s){if(p&&!l.tileCoordIntersectsViewport([g,e,s],f))continue;const n=this.getTile(g,e,s,t);if(!n)continue;if(!kz(i,n,g))continue;const o=n.getKey();if(h[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=Ez(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,u,l.getTileCoordCenter(i),r])}}}}findStaleTile_(t,e){const n=this.tileCache_,i=t[0],r=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a0&&setTimeout(()=>{this.enqueueTiles(t,E,c-1,x,S-1)},0),!(c in x))return this.container;const C=CS(this),k=t.time;for(const A of x[c]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(C,k)){A.endTransition(C);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){Tz(x,A,c),t.animate=!0;continue}if(this.findAltTiles_(h,n,c+1,x))continue;const i=h.getMinZoom();for(let t=c-1;t>=i&&!this.findAltTiles_(h,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);Sk(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),u.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let M;P.sort(rS);const I=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=h.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=h.getTileCoordForCoordAndZ(qE(w),e),c=h.getTileCoordExtent(l),p=wk(this.tempTransform,[g*(c[0]-w[0])/d,g*(w[3]-c[3])/d]),f=g*u.getGutterForProjection(r);for(const r of x[e]){if(2!==r.getState())continue;const n=r.tileCoord,i=l[1]-n[1],a=Math.round(p[0]-(i-1)*s),h=l[2]-n[2],c=Math.round(p[1]-(h-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-h*o),m=a-d,y=c-g,_=1===P.length;let v=!1;M=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=I.length;t{const n=CS(u),i=e.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache(),this.sourceTileCache_?.expireCache()};t.postRenderFunctions.push(e)}return this.container}updateCacheSize(t){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*t)}drawTile(t,e,n,i,r,s,o,a){let l;if(t instanceof fz){if(l=cz(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const u=this.getRenderContext(e),h=CS(this),c=e.layerStatesArray[e.layerIndex],d=c.opacity*(a?t.getAlpha(h,e.time):1),p=d!==u.globalAlpha;p&&(u.save(),u.globalAlpha=d),u.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&u.restore(),d!==c.opacity?e.animate=!0:a&&t.endTransition(h)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const i=CS(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const Mz="preload",Iz="useInterimTilesOnError";class Oz extends KR{constructor(t){t=t||{};const e=Object.assign({},t),n=t.cacheSize;delete t.cacheSize,delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(Mz)}setPreload(t){this.set(Mz,t)}getUseInterimTilesOnError(){return this.get(Iz)}setUseInterimTilesOnError(t){this.set(Iz,t)}getData(t){return super.getData(t)}}class Az extends Oz{constructor(t){super(t)}createRenderer(){return new Pz(this,{cacheSize:this.getCacheSize()})}}const Fz={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},Lz={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class Dz extends Pz{constructor(t,e){super(t,e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}enqueueTilesForNextExtent(){return"vector"!==this.getLayer().getRenderMode()}drawTile(t,e,n,i,r,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,i,r,s,o,a)}getTile(t,e,n,i){const r=this.getOrCreateTile(t,e,n,i);if(!r)return null;const s=i.viewState,o=s.resolution,a=i.viewHints,l=this.getLayer().getSource(),u=l.getTileGridForProjection(s.projection),h=!(a[0]||a[1]),c=u.getZForResolution(o,l.zDirection)===t;return h&&c?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=u.getResolution(t)),r}prepareFrame(t){const e=this.getLayer().getRevision();return this.renderedLayerRevision_!==e&&(this.renderedLayerRevision_=e,this.renderedTiles.length=0),super.prepareFrame(t)}updateExecutorGroup_(t,e,n){const i=this.getLayer(),r=i.getRevision(),s=i.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(i);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==r&&a.renderedRenderOrder==s)return;const l=i.getSource(),u=!!i.getDeclutter(),h=l.getTileGrid(),c=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=CS(i);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;ft.value):null;let m;t:for(let y=0,_=d.length;y<_;++y){const e=d[y];if(!VE(l.getTileCoordExtent(e.wrappedTileCoord),u))continue;const i=e.executorGroups[p];for(let r=0,a=i.length;r{const n=this.getLayer(),i=n.getSource(),r=this.renderedProjection,s=r.getExtent(),o=this.renderedResolution,a=i.getTileGridForProjection(r),l=wk(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),h=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!h||h.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!bE(s,a.getTileCoordExtent(h.tileCoord))&&JE(l,r);const c=CS(n),d=qE(a.getTileCoordExtent(h.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=h.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=h.hitDetectionImageData[c];if(!g){const t=LP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=uA(t,[this.getRenderTransform(a.getTileCoordCenter(h.wrappedTileCoord),o,0,lA,t[0]*lA,t[1]*lA,0)],f,n.getStyleFunction(),a.getTileCoordExtent(h.wrappedTileCoord),h.getReplayState(n).renderedResolution,e),h.hitDetectionImageData[c]=g}e(hA(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const o=n.getSourceTiles();for(let r=0,a=o.length;r=0;--i)n[i].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,iA,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=CS(this.getLayer()),i=e.reduce((t,e,i)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:i})),t),[]),r=i.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=i.length;o{r.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:r}=i[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(s),t.draw(s),a&&s.restore(),s.globalAlpha=o,t.clear()}),e[t].length=0)})})}getTileRenderTransform(t,e){const n=e.pixelRatio,i=e.viewState,r=i.center,s=i.resolution,o=i.rotation,a=e.size,l=Math.round(a[0]*n),u=Math.round(a[1]*n),h=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),c=t.tileCoord,d=h.getTileCoordExtent(t.wrappedTileCoord),p=h.getTileCoordExtent(c,this.tempExtent)[0]-d[0];return vk(xk(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,u,p))}postRender(t,e){const n=e.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?Lz[s].filter(t=>!iA.includes(t)):Lz[s],u=e.viewState,h=u.rotation,c=r.getSource(),d=c.getTileGridForProjection(u.projection).getZForResolution(u.resolution,c.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=CS(r);let _=!0;for(let v=p.length-1;v>=0;--v){const n=p[v];_=_&&!n.getReplayState(r).dirty;const s=n.executorGroups[y].filter(t=>t.hasExecutors(l));if(0===s.length)continue;const o=this.getTileRenderTransform(n,e),u=n.tileCoord[0];let c=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new GO,x=w.getContext();for(let t=0,e=f.length;t{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){wS(this.sourceListenerKey_),this.sourceListenerKey_=null}}class Uz extends yS{constructor(t,e){super(t),this.image=e}}class Bz extends UA{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();return e&&(t=e[oS(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||sk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&sk(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&TE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new zz(r,i,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,i){if(this.loader){const r=function(t,e,n){const i=e/n,r=DE(t),s=cE(GE(t)/i,4),o=cE(UE(t)/i,4);return jE(r,i,0,[s+2*cE(0*s/2,4),o+2*cE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&bE(this.wantedExtent_,r)||bE(this.image.getExtent(),r))&&(this.wantedResolution_&&jz(this.wantedResolution_)===s||jz(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new oI(r,s,n,this.loader),this.image.addEventListener(Yx,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let n;switch(e.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new Uz(n,e))}}const qz=[0,0,0];class $z{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,ZS(function(t){const e=((t,e)=>e-t)||rS;return t.every(function(n,i){if(0===i)return!0;const r=e(t[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let i=0,r=this.resolutions_.length-1;i{const i=new FN(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));if(n){const t=this.getTileRangeForExtentAndZ(n,e);i.minX=Math.max(t.minX,i.minX),i.maxX=Math.min(t.maxX,i.maxX),i.minY=Math.max(t.minY,i.minY),i.maxY=Math.min(t.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const i=this.getTileRangeForExtentAndZ(t,e);for(let r=i.minX,s=i.maxX;r<=s;++r)for(let t=i.minY,o=i.maxY;t<=o;++t)n([e,r,t])}forEachTileCoordParentTileRange(t,e,n,i){let r,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),r=LN(s,s,o,o,n)):r=this.getTileRangeForExtentAndZ(a,l,n),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,n){if(t[0]this.maxZoom||e0?i:Math.max(s/n[0],r/n[1]);const o=e+1,a=new Array(o);for(let l=0;ln||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(i,r)}(t,i)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class Xz extends yS{constructor(t,e){super(t),this.tile=e}}function Yz(t){return function(e){const n=e.buffers,i=e.meta,r=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(r){const e=new Array(a);for(let t=0;tthis.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const t=this.queue_.shift();this.job_=t;const e=t.inputs[0].width,n=t.inputs[0].height,i=t.inputs.map(function(t){return t.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},i);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let a=0;athis.getTileInternal(t,e,n,i,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,i,r,s){const o=this.getKey(),a=Cz(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,i,r,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=QC(t);if(n){const t=CS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function dU(t,e){if(jS){const n=t.getCrossOrigin();let i="same-origin",r="same-origin";return"anonymous"===n||""===n?(i="cors",r="omit"):"use-credentials"===n&&(i="cors",r="include"),void fetch(e,{mode:i,credentials:r}).then(t=>{if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.blob()}).then(t=>createImageBitmap(t)).then(e=>{const n=t.getImage();n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),e.close?.(),n.dispatchEvent(new Event("load"))}).catch(()=>{t.getImage().dispatchEvent(new Event("error"))})}t.getImage().src=e}class pU extends cU{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:QC("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)!function(t,e,n){const i=document.createElement("script"),r="olc_"+CS(e);function s(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=t+(t.includes("?")?"&":"?")+"callback="+r;const o=setTimeout(function(){s(),n&&n()},1e4);window[r]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(i)}(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=QC("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=ok(e,n);i=HE(t.bounds,r)}const r=Hz(n),s=t.minzoom||0,o=Vz({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=uU(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return VE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class fU extends hU{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||Hz(e),i=t.tileGrid||Vz({extent:n,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,projection:e,state:t.state,tileGrid:i,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:gU,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:jN,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(e);let s=r.getTileCoordExtent(i);const o=i[0],a=r.getResolution(o);mE(s,-a,s);const l=this.projection;e&&this.projection&&!sk(e,l)&&(s=hk(s,e,l));const u=this.tileGrid,h=u.getExtent();h&&BE(s,h,s);let c=a;e&&l&&!sk(e,l)&&(c=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(c,this.zDirection);u.forEachTileCoord(s,d,i=>{const r=this.tileUrlFunction(i,t,e);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[r];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const i=s.getState();if(2===i||3===i){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===i?n.errorTileKeys[e]=!0:s.removeEventListener(Yx,t),0===n.loadingSourceTiles&&n.setState(mS(n.errorTileKeys)?2:3)}};s.addEventListener(Yx,t),n.loadingSourceTiles++}0===o&&(s.extent=u.getTileCoordExtent(i),s.projection=this.projection,s.resolution=u.getResolution(i[0]),s.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(t=>3===t.getState())?3:2)}return n.sourceTiles}removeSourceTiles(t){const e=t.getKey(),n=t.sourceTiles;for(let i=0,r=n.length;i{h=h&&!this.tileUrlFunction(t,i,l)})}const c=new NN(s,h?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return c.key=this.getKey(),c}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!sk(i,t))return Gz(t);const r=this.tileGrid,s=r.getResolutions().slice(),o=s.map(function(t,e){return r.getOrigin(e)}),a=s.map(function(t,e){return r.getTileSize(e)}),l=43;for(let t=s.length;td?c-A+d:d-A,O=Math.atan(Math.sqrt(M*M+I*I)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),F=Math.cos(O),L=255*q,z=Math.min(Math.max(2*e.sunEl,0),1),U=1.875-1.75*e.opacity,B=.5!==e.opacity?d*((Math.pow(U,O)-1)/(Math.pow(U,d)-1)):O,N={r:(1-F)*v.r*z*255,g:(1-F)*v.g*z*255,b:(1-F)*v.b*z*255,a:(1-F)*v.a*z*255},D=Math.abs(((A+f)/Math.PI+.5)%2-1),j={r:(y.r*(1-D)+_.r*D)*L,g:(y.g*(1-D)+_.g*D)*L,b:(y.b*(1-D)+_.b*D)*L,a:(y.a*(1-D)+_.a*D)*L},T=4*(x*i+w),o[T]=N.r*(1-D)+j.r,o[T+1]=N.g*(1-D)+j.g,o[T+2]=N.b*(1-D)+j.b,o[T+3]=s[T+3]*e.opacity*z*Math.sin(B);return new ImageData(o,i,r)}function yU(t,e){const n=t[0],i=n.width,r=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=i-1,l=r-1,u=[0,0,0,0];let h,c,d;const p=(f=e.saturation)>0?1-1/(1.001-f):-f;var f;const g=(m=e.contrast)>0?1/(1-m):1+m;var m;const y=function(t){t*=Math.PI/180;const e=Math.sin(t),n=Math.cos(t);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}(e.hueRotate),_=y,v=[y[2],y[0],y[1]],b=[y[1],y[2],y[0]],w=e.brightnessLow,x=e.brightnessHigh;for(c=0;c<=l;++c)for(h=0;h<=a;++h){d=4*(c*i+h),u[0]=s[d],u[1]=s[d+1],u[2]=s[d+2],u[3]=s[d+3];const t=u[0],e=u[1],n=u[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function bU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function wU(t,e,n){const i=new pU({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=QC(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=ik([n[0],n[1]],e),i=ik([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return QC(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,h=r.maxzoom||22,c={attributions:i.getAttributions(),projection:o,tileGrid:new $z({origin:l?qE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:_U(o,e.tileSize).slice(0,h+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?c.urls=r.tiles:c.url=r.tiles,c}function xU(t,e,n){return new Promise(function(i,r){oj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=wU(t,e,n);s.tileLoadFunction=r,s.format=new iz({layerName:"mvt:layer"});const o=new fU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function SU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function EU(t,e,n){const i=new Az;return function(t,e,n){return new Promise(function(i,r){oj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new pU({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=wU(t,e,n).tileGrid,n.projection&&(s.projection=QC(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=SU(n);let r=o(t,e,n);if(-1!=r.indexOf(i)){const e=s.getTileGrid().getTileCoordExtent(t);r=r.replace(i,e.toString())}return r}),s.set("mapbox-source",t),i(s)}).catch(function(t){r(t)})})}(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}function CU(t,e,n){const i=n.projection?new zj({dataProjection:n.projection}):new zj,r=t.data,s={};if("string"==typeof r){const[s]=GN(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=SU(n);return s.replace(i,`${t.join(",")}`)},r=new VA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{ij("GeoJSON","function"==typeof e?e(t,i,s):e,n).then(t=>{const e=r.getFormat().readFeatures(t,{featureProjection:s});r.addFeatures(e),o(e)}).catch(()=>{r.removeLoadedExtent(t),a()})},strategy:kA});return r.set("mapbox-source",t),r}const o=new VA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{ij("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:i});o.addFeatures(e),r(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=i.readFeatures(r,{featureProjection:"EPSG:3857"});const o=new VA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function kU(t,e,n,i){const r=YN(t),s=t.layers,o=n.type,a=n.source||bU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=jS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new KR({source:new UA({}),render(r){const s=function(t,e,n,i){const r={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;r.paint=o,wj.zoom=tj(e,n.resolutions||JN),wj.distanceFromCenter=0;const l=Ej(r,"paint","background-color",VN,i);return void 0!==o["background-opacity"]&&(a=Ej(r,"paint","background-opacity",VN,i)),"none"==s.visibility?void 0:Tj(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)u=function(t,e,n){const i=new Nz({declutter:!0,visible:!1});return xU(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}(l,e,i);else if("raster"==l.type){const t=["raster-saturation","raster-contrast","raster-brightness-max","raster-brightness-min","raster-hue-rotate"];Object.keys(n.paint||{}).find(e=>t.includes(e))?(u=function(t,e,n){const i=EU(t,e,n);return new hz({source:new tU({operationType:"image",operation:yU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){wj.zoom=tj(t.resolution,i.resolutions||JN),wj.distanceFromCenter=0;const e=t.data;e.saturation=Ej(n,"paint","raster-saturation",VN,r),e.contrast=Ej(n,"paint","raster-contrast",VN,r),e.brightnessHigh=Ej(n,"paint","raster-brightness-max",VN,r),e.brightnessLow=Ej(n,"paint","raster-brightness-min",VN,r),e.hueRotate=Ej(n,"paint","raster-hue-rotate",VN,r)})):u=EU(l,e,i),u.setVisible(!n.layout||"none"!==n.layout.visibility),u.on("prerender",function(t,e,n){let i=null;return function(r){t.paint&&"raster-opacity"in t.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[t.id],function(t,e,n,i){wj.zoom=n,wj.distanceFromCenter=0;const r=Ej(t,"paint","raster-opacity",VN,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new xA({declutter:!0,source:CU(t,e,n),visible:!1})}(l,e,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const i=EU(t,e,n);return new hz({source:new tU({operationType:"image",operation:mU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=tk(i.projection||"EPSG:3857",t.resolution,DE(t.extent),"m"),wj.zoom=tj(t.resolution,i.resolutions||JN),wj.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*Ej(n,"paint","hillshade-exaggeration",VN,r),e.sunAz=Ej(n,"paint","hillshade-illumination-direction",VN,r),e.sunEl=35,e.opacity=.3,e.highlightColor=Ej(n,"paint","hillshade-highlight-color",VN,r),e.shadowColor=Ej(n,"paint","hillshade-shadow-color",VN,r),e.accentColor=Ej(n,"paint","hillshade-accent-color",VN,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const h=a;return u&&u.set("mapbox-source",h),u}function TU(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,h=l.length;u0||n>0)&&t.setMaxResolution(Math.min(ej(Math.max(0,o-1e-12),JN),ej(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(ej(a,JN))}}else o>0&&t.setMaxResolution(ej(Math.max(0,o-1e-12),JN));h instanceof VA||h instanceof fU?function(t,e,n="",i={},r){let s,o,a,l,u=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(s=i,a={}):(s=i.styleUrl,a=i),!1===a.updateSource&&(u=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:qN(s,a.accessToken),a=vU(s,a)),new Promise(function(n,i){rj(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof xA||t instanceof Nz))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=t instanceof Nz?"vector":"geojson";if(l?o=Array.isArray(l)?e.layers.find(function(t){return t.id===l[0]}).source:l:(o=e.layers.find(function(t){return t.source&&e.sources[t.source].type===h}).source,l=o),!o)return i(new Error(`No ${h} source found in the glStyle.`));function c(){if(!u)return Promise.resolve();if(t instanceof Nz)return xU(e.sources[o],s,a).then(function(e){const n=t.getSource();n?e!==n&&(n.setTileUrlFunction(e.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof e.getUrls&&n.setUrls(e.getUrls()),n.format_||(n.format_=e.format_),n.getAttributions()||n.setAttributions(e.getAttributions()),n.getTileLoadFunction()===gU&&n.setTileLoadFunction(e.getTileLoadFunction()),sk(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const i=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&i.getMinZoom()>0&&t.setMaxResolution(ej(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=e.sources[o];let i=t.getSource();i&&i.get("mapbox-source")===n||(i=CU(n,s,a));const r=t.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):t.setSource(i),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),c().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=QC(a.projection).getUnits();"m"!==t&&(r=JN.map(e=>e/sC[t]))}let s;const u=t.getSource();u instanceof fU&&u.format_ instanceof iz&&(s=u.format_.layerName_),p=function(t,e,n,i=JN,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");Ij[function(t,e){return XN(t)+"."+CS(e)}(e,t)]=Array.from(arguments);const l={};("string"==typeof s||s instanceof Request||s instanceof Response||s instanceof Promise)&&(s={default:s});for(const w in s){const e=s[w];fS(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const i=new Image;if("string"==typeof e)i.crossOrigin="anonymous",i.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const r=await t.blob();n=URL.createObjectURL(r),i.src=n}i.addEventListener("load",function e(){i.removeEventListener("load",e),l[w]={image:i,size:[i.width,i.height]},t.changed(),n&&URL.revokeObjectURL(n)}),i.addEventListener("error",function t(){URL.revokeObjectURL(n),i.removeEventListener("error",t)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const t=self;t.postMessage({action:"loadImage",src:e}),t.addEventListener("message",function(t){"imageLoaded"===t.data.action&&t.data.src===e&&(l[w]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const u=KA(e.layers),h={},c=[],d={},p={},f=YN(e),g=function(t){let e=HN[t.id];return e||(e={},HN[XN(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=c.maxzoom)continue;const k=c.filter;if(!k||kj(x,k,T,g)){let i,u,g,b,w,x;const k=h.index;if(3==S&&("fill"==c.type||"fill-extrusion"==c.type))if(u=Ej(c,"paint",c.type+"-opacity",T,f,R),c.type+"-pattern"in C){const t=Ej(c,"paint",c.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?Pj(t,m):t.toString(),n=Mj(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new UI({fill:new DI}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=QN(s.width,s.height),a=o.getContext("2d");a.globalAlpha=u,a.drawImage(n.image,s.x,s.y,s.width,s.height,0,0,s.width,s.height),i=a.createPattern(o,"repeat"),p[t]=i}g.setColor(i)}}}else i=Tj(Ej(c,"paint",c.type+"-color",T,f,R),u),c.type+"-outline-color"in C&&(w=Tj(Ej(c,"paint",c.type+"-outline-color",T,f,R),u)),w||(w=i),(i||w)&&(++P,x=v[P],(!x||i&&!x.getFill()||!i&&x.getFill()||w&&!x.getStroke()||!w&&x.getStroke()||x.getText())&&(x=new UI({fill:i?new DI:void 0,stroke:w?new zI:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(k));if(1!=S&&"line"==c.type){i="line-pattern"in C?void 0:Tj(Ej(c,"paint","line-color",T,f,R),Ej(c,"paint","line-opacity",T,f,R));const t=Ej(c,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new UI({stroke:new zI}),v[P]=x),b=x.getStroke(),b.setLineCap(Ej(c,"layout","line-cap",T,f,R)),b.setLineJoin(Ej(c,"layout","line-join",T,f,R)),b.setMiterLimit(Ej(c,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?Ej(c,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let M,I,O,A,F,L,D,N,j,z=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=Ej(c,"layout","icon-image",T,f,R);if(e){let i;M="string"==typeof e?Pj(e,m):e.toString();const o=a?a(t,M):void 0,u=Mj(M,l);if(r&&r[M]&&u||o){const t=Ej(c,"layout","icon-rotation-alignment",T,f,R);if(2==S){const e=n.getGeometry();if(e.getFlatMidpoint||e.getFlatMidpoints){const n=e.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/s,2),Math.pow((n[3]-n[1])/s,2)))>150){const n="MultiLineString"===e.getType()?e.getFlatMidpoints():e.getFlatMidpoint();if(Sj||(xj=[NaN,NaN],Sj=new jA("Point",xj,[],2,{},void 0)),i=Sj,xj[0]=n[0],xj[1]=n[1],"line"===Ej(c,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),i=e.getFlatCoordinates();for(let e=0,r=i.length-t;e=l){B=Math.atan2(s-a,o-r);break}}}}}}if(2!==S||i){const e=Ej(c,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?Ej(c,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=Ej(c,"paint","icon-halo-color",T,f,R),s=Ej(c,"paint","icon-halo-width",T,f,R);let a=`${M}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),I=d[a],!I){const l=Cj(c,T,"icon",f);let h;"icon-offset"in E&&(h=Ej(c,"layout","icon-offset",T,f,R).slice(0),h[0]*=e,h[1]*=-e);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(o){const n={color:p,rotateWithView:"map"===t,displacement:h,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),I=new jI(n)}else{const o=r[M];let a,c,d;if(s)o.sdf?(a=aj(uj(u.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,i),p=void 0):a=aj(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=uj(u.image,{x:0,y:0,width:u.size[0],height:u.size[1]},{r:1,g:1,b:1});u.image=t,u.unSDFed=!0}a=u.image,c=[o.width,o.height],d=[o.x,o.y]}I=new jI({color:p,img:a,imgSize:u.size,size:c,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:h,declutterMode:l})}d[a]=I}}I&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new UI,v[P]=x),x.setGeometry(i),I.setRotation(B+ZN(Ej(c,"layout","icon-rotate",T,f,R))),I.setOpacity(Ej(c,"paint","icon-opacity",T,f,R)),I.setAnchor(bj[Ej(c,"layout","icon-anchor",T,f,R)]),x.setImage(I),U=x.getText(),x.setText(void 0),x.setZIndex(k),z=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===c.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new UI,v[P]=x);const t="circle-radius"in C?Ej(c,"paint","circle-radius",T,f,R):5,e=Tj(Ej(c,"paint","circle-stroke-color",T,f,R),Ej(c,"paint","circle-stroke-opacity",T,f,R)),n=Ej(c,"paint","circle-translate",T,f,R),i=Tj(Ej(c,"paint","circle-color",T,f,R),Ej(c,"paint","circle-opacity",T,f,R)),r=Ej(c,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];I=d[s],I||(I=new LI({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new zI({width:r,color:e}):void 0,fill:i?new DI({color:i}):void 0,declutterMode:"none"}),d[s]=I),x.setImage(I),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),z=!0}if("text-field"in E){D=Math.round(Ej(c,"layout","text-size",T,f,R));const t=Ej(c,"layout","text-font",T,f,R);L=Ej(c,"layout","text-line-height",T,f,R),F=MN(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,D,L),F.includes("sans-serif")||(F+=",sans-serif"),N=Ej(c,"layout","text-letter-spacing",T,f,R),j=Ej(c,"layout","text-max-width",T,f,R);const n=Ej(c,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const i=n.fontStack?n.fontStack.split(","):t,r=MN(o?o(i):i,D*(n.scale||1),L);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(cj(s,N),r),e;s=mj(s,r,j,N).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):Pj(n,m).trim(),u=Ej(c,"paint","text-opacity",T,f,R)}if(A&&u&&!O){z||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new UI,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=Cj(c,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new GI({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=Ej(c,"layout","text-transform",T,f,R);"uppercase"==e?A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toUpperCase()):A.toUpperCase():"lowercase"==e&&(A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toLowerCase()):A.toLowerCase());const n=Array.isArray(A)?A:2==S?cj(A,N):mj(A,F,j,N);if(U.setText(n),U.setFont(F),U.setRotation(ZN(Ej(c,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=Ej(c,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=Ej(c,"layout","text-anchor",T,f,R),r=z||1==S?"point":Ej(c,"layout","symbol-placement",T,f,R);let s;if("line-center"===r?(U.setPlacement("line"),s="center"):U.setPlacement(r),"line"===r&&"function"==typeof U.setRepeat){const t=Ej(c,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=Ej(c,"paint","text-halo-width",T,f,R);const a=Ej(c,"layout","text-offset",T,f,R),l=Ej(c,"paint","text-translate",T,f,R);let h=0,d=0;if("point"==r){s="center",-1!==i.indexOf("left")?(s="left",d=o):-1!==i.indexOf("right")&&(s="right",d=-o);const t=Ej(c,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(ZN(Ej(c,"layout","text-max-angle",T,f,R))*A.length/n.length),U.setRotateWithView(!1);U.setTextAlign(s);let p="middle";0==i.indexOf("bottom")?(p="bottom",h=-o-.5*(L-1)*D):0==i.indexOf("top")&&(p="top",h=o+.5*(L-1)*D),U.setTextBaseline(p);const g=Ej(c,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*D+d+l[0]),U.setOffsetY(a[1]*D+h+l[1]),_.setColor(Tj(Ej(c,"paint","text-color",T,f,R),u)),U.setFill(_);const m=Tj(Ej(c,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*D;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=Ej(c,"layout","text-padding",T,f,R),w=U.getPadding();b!==w[0]&&(w[0]=b,w[1]=b,w[2]=b,w[3]=b),x.setZIndex(k)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",c),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),b}(t,e,l,r,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(jS)return t;let n;for(let i=0,r=t.length;i{await document.fonts.ready;for(let t=0,i=n.length;tt.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",s).replace("{-fontstyle}",o.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",o);if(!document.querySelector('link[href="'+t+'"]')){const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)}}}})(),t):t}(t,e),a.getImage,s),t.getStyle()?c().then(n).catch(i):i(new Error(`Nothing to show for source [${o}]`))}}if(e.sprite){const t=function(t,e,n){if("string"==typeof t)return[{id:"default",url:BN(t,e,n)}];for(const i of t)i.url=BN(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=jS?1:window.devicePixelRatio>=1.5?.5:1;const n=.5==d?"@2x":"";Promise.all(t.map(function(t){const e=new URL(t.url);let r=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){ij("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,ij("Sprite",r,a).then(t).catch(n)})}).then(function(r){let s;if(void 0===r&&i(new Error("No sprites found.")),s=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const t=a.transformRequest(s,"SpriteImage")||s;(t instanceof Request||t instanceof Promise)&&(s=t)}g[t.id]=s;for(const e in r){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=r[e]}}).catch(function(t){i(new Error(`Sprites cannot be loaded: ${r}: ${t.message}`))})})).then(m).catch(i)}else m()}).catch(i)})}(t,n,e,Object.assign({styleUrl:i},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const i=KA(n.layers),r=t.get("mapbox-layers"),s=i.filter(function(t){return r.includes(t.id)}).some(function(t){return!t.layout||!t.layout.visibility||"visible"===t.layout.visibility});t.get("visible")!==s&&t.setVisible(s)}t.on("change",n),n()}(t,r),l()}).catch(u):l()}else u(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const c=r.getLayers();-1===c.getArray().indexOf(t)&&c.push(t),t.getSource()?h():t.once("change:source",h)})}class RU extends Nx{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");mapInstance;bookmarkSource;searchOverlay;searchOverlayElement;setupMap=Wx(t=>{if(this.mapInstance)return;const e=new $R;this.bookmarkSource=new VA;const n=new xA({source:this.bookmarkSource,style:new UI({image:new LI({radius:7,fill:new DI({color:"#ffcc33"}),stroke:new zI({color:"#fff",width:2})})}),zIndex:10});this.mapInstance=new xO({target:t,layers:[e,n],controls:YT({zoom:!1}),view:new ET({center:ik([99.05738,7.55087]),zoom:13,projection:"EPSG:3857"})}),function(t,e,n={}){let i,r;if(jS){if(!(t instanceof xO||t instanceof $R))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");r=t}else r="string"==typeof t||t instanceof HTMLElement?new xO({target:t}):t;{const t=e.startsWith("data:")?location.href:qN(e,n.accessToken);n=vU(t,n),i=new Promise(function(i,s){rj(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof xO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?QC(i.projection):s.getProjection();s=new ET(Object.assign(s.getProperties(),{maxResolution:JN[0]/sC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(ik(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(JN[0]/sC[s.getProjection().getUnits()]/Math.pow(2,t.zoom)),s.getCenter()&&void 0!==s.getZoom()||s.fit(s.getProjection().getExtent(),{nearest:!0,size:e.getSize()})}e.set("mapbox-style",t),e.set("mapbox-metadata",{styleUrl:n,options:i});const o=t.layers;let a,l,u,h=[];for(let c=0,d=o.length;c{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e);this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.handleMapMove()})});updateBookmarks=Wx(()=>{const t=this.storage.savedPlaces;this.loadBookmarks(t)});async loadBookmarks(t=[]){try{if(!this.bookmarkSource)return;t&&0!==t.length||(t=this.storage.savedPlaces),this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new TA({geometry:new tT(ik([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(e){console.error("Failed to load bookmarks:",e)}}handleMapMove=async()=>{if(!this.mapInstance)return;const t=this.mapInstance.getSize(),e=this.mapInstance.getView().calculateExtent(t),[n,i]=rk([e[0],e[1]]),[r,s]=rk([e[2],e[3]]),o={minLat:i,minLon:n,maxLat:s,maxLon:r};await this.storage.loadPlacesInBounds(o),this.loadBookmarks(this.storage.savedPlaces)};handleMapClick=async t=>{const e=this.mapInstance.getFeaturesAtPixel(t.pixel);let n=null,i=null,r=null;if(e&&e.length>0){const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const s=e[0].getProperties();s.name&&(i=s.name,r=s.class||s.subclass)}if(this.args.isSidebarOpen)return n?(console.log("Clicked bookmark while sidebar open (switching):",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n))):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.log("Clicked bookmark:",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n));const s=rk(t.coordinate),[o,a]=s,l=i?30:50;if(this.searchOverlayElement){const e=this.mapInstance.getView(),n=2*l/tk(e.getProjection(),e.getResolution(),t.coordinate);this.searchOverlayElement.style.width=`${n}px`,this.searchOverlayElement.style.height=`${n}px`,this.searchOverlay.setPosition(t.coordinate),this.searchOverlayElement.classList.add("active")}try{let t=await this.osm.getNearbyPois(a,o,l);t=t.map(t=>{const e=t.lat||t.center?.lat,n=t.lon||t.center?.lon;return{...t,_distance:e&&n?fx(a,o,e,n):9999}}).sort((t,e)=>t._distance-e._distance);let e=null;if(i&&t.length>0&&(e=t.find(t=>t.tags&&(t.tags.name===i||t.tags["name:en"]===i)),!e)){const n=t[0];if(n._distance<=20){const t=n.tags.amenity||n.tags.shop||n.tags.tourism;r&&t&&(r===t||t.includes(r))?(console.log("Heuristic match found (distance + type):",n),e=n):n._distance<=10&&(console.log("Heuristic match found (proximity):",n),e=n)}}this.args.onPlacesFound&&this.args.onPlacesFound(t,e)}catch(JD){console.error("Failed to fetch POIs:",JD)}finally{this.searchOverlayElement&&this.searchOverlayElement.classList.remove("active")}};static{Ni(Cg({id:"SKcemzjO",block:'[[[11,0],[24,5,"position: absolute; inset: 0;"],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[12],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}const PU=Fy;function MU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:kc(t)?0!==t.length:!!t}class IU extends Zv{compute(t){for(let e=0,n=t.length;e[W_,IU,PU],isStrictMode:!0}),this)}}class AU extends Zv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{hx(this.prototype,"showPlaces",[ch])}selectFromList(t){if(t){const e=t.id||t.osmId;e&&this.router.transitionTo("place",e)}}static{hx(this.prototype,"selectFromList",[ch])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{hx(this.prototype,"closeSidebar",[ch])}refreshBookmarks(){this.storage.notifyChange()}static{hx(this.prototype,"refreshBookmarks",[ch])}static{Ni(Cg({id:"blSKCVz1",block:'[[[1,[28,[32,0],["M/\\\\RCO"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onPlacesFound","@isSidebarOpen","@onOutsideClick"],[[30,0,["showPlaces"]],[30,0,["isSidebarOpen"]],[30,0,["closeSidebar"]]]],null],[1,"\\n\\n"],[41,[28,[32,2],[[28,[32,3],[[30,0,["router","currentRouteName"]],"index"],null],[30,0,["nearbyPlaces"]]],null],[[[1," "],[8,[32,4],null,[["@places","@onSelect","@onClose"],[[30,0,["nearbyPlaces"]],[30,0,["selectFromList"]],[30,0,["closeSidebar"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[qx,RU,AU,FU,OU],isStrictMode:!0}),this)}}const DU=Object.freeze(Object.defineProperty({__proto__:null,default:LU},Symbol.toStringTag,{value:"Module"}));class NU extends Jd{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage")}const jU=Object.freeze(Object.defineProperty({__proto__:null,default:NU},Symbol.toStringTag,{value:"Module"}));class zU extends Nx{static{ux(this.prototype,"router",[df])}#L=void cx(this,"router");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"localPlace",[ys],function(){return null})}#N=void cx(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model;return!this.localPlace||this.localPlace.id!==t.id&&this.localPlace.osmId!==t.osmId||!this.localPlace.createdAt||t.createdAt?t:this.localPlace}handleUpdate(t){console.log("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{hx(this.prototype,"handleUpdate",[ch])}refreshMap(){this.storage.notifyChange()}static{hx(this.prototype,"refreshMap",[ch])}close(){this.router.transitionTo("index")}static{hx(this.prototype,"close",[ch])}static{Ni(Cg({id:"UQo8iDu3",block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[OU],isStrictMode:!0}),this)}}const UU=Object.freeze(Object.defineProperty({__proto__:null,default:zU},Symbol.toStringTag,{value:"Module"}));class BU extends Jd{static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");async model(t){const e=t.place_id;let n=this.storage.findPlaceById(e);if(n)return console.log("Found in bookmarks:",n.title),n;console.log("Not in bookmarks, fetching from OSM:",e);try{const t=await this.osm.getPoiById(e);if(t)return console.debug("Found OSM POI:",t),{title:t.tags.name||t.tags["name:en"]||"Untitled Place",lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,tags:t.tags,url:t.tags.website,osmId:String(t.id),description:t.tags.description}}catch(i){console.error("Failed to fetch POI",i)}return null}}const qU=Object.freeze(Object.defineProperty({__proto__:null,default:BU},Symbol.toStringTag,{value:"Module"})),$U=Object.assign({},Ow,{"marco/app":t,"marco/config/environment":Nw,"marco/deprecation-workflow":zw,"marco/router":$w,"marco/services/osm":Gw,"marco/services/storage":px,"marco/utils/geo":gx,"marco/utils/geohash-coverage":ax,"marco/services/page-title":Rx,"marco/templates/application":DU,"marco/routes/application":jU,"marco/templates/place":UU,"marco/routes/place":qU},{});class GU{constructor(t,e,n){this.limit=t,this.func=e,this.store=n,this.size=0,this.misses=0,this.hits=0,this.store=n||new Map}get(t){let e=this.store.get(t);return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,e=this.set(t,this.func(t)),e)}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}}const VU=/[ _]/g,WU=new GU(1e3,t=>{return(e=t,eB.get(e)).replace(VU,"-");var e}),HU=/^(\-|_)+(.)?/,KU=/(.)(\-|\_|\.|\s)+(.)?/g,XU=/(^|\/|\.)([a-z])/g,YU=new GU(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),ZU=/([a-z\d])([A-Z]+)/g,JU=/\-|\s+/g,QU=new GU(1e3,t=>t.replace(ZU,"$1_$2").replace(JU,"_").toLowerCase()),tB=/([a-z\d])([A-Z])/g,eB=new GU(1e3,t=>t.replace(tB,"$1_$2").toLowerCase());class nB{constructor(t){this._entries=t||globalThis.requirejs.entries}moduleNames(){return Object.keys(this._entries)}has(t){return t in this._entries}get(...t){return globalThis.require(...t)}}class iB{static moduleBasedResolver=!0;moduleBasedResolver=!0;_deprecatedPodModulePrefix=!1;_normalizeCache=Object.create(null);static create(t){return new this(t)}moduleNameLookupPatterns=[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName,this.nestedColocationComponentModuleName];static withModules(t){return class extends(this){static explicitModules=t}}constructor(t){if(Object.assign(this,t),!this._moduleRegistry){let t=this.constructor.explicitModules;t?this._moduleRegistry={moduleNames:()=>Object.keys(t),has:e=>Boolean(t[e]),get:e=>t[e],addModules(e){t=Object.assign({},t,e)}}:(void 0===globalThis.requirejs.entries&&(globalThis.requirejs.entries=globalThis.requirejs._eak_seen),this._moduleRegistry=new nB)}this.pluralizedTypes=this.pluralizedTypes||Object.create(null),this.pluralizedTypes.config||(this.pluralizedTypes.config="config")}makeToString(t,e){return this.namespace.modulePrefix+"@"+e+":"}shouldWrapInClassFactory(){return!1}parseName(t){if(!0===t.parsedName)return t;let e,n,i,r=t.split("@");if(3===r.length){if(0===r[0].length){e=`@${r[1]}`;let t=r[2].split(":");n=t[0],i=t[1]}else e=`@${r[1]}`,n=r[0].slice(0,-1),i=r[2];"template:components"===n&&(i=`components/${i}`,n="template")}else if(2===r.length){let t=r[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],i=`@${r[1]}`):(e=t[1],n=t[0],i=r[1]);else{let t=r[1].split(":");e=r[0],n=t[0],i=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(i=`components/${i}`,e=e.slice(11))}else r=t.split(":"),n=r[0],i=r[1];let s=i,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:i,root:o,resolveMethodName:"resolve"+(a=n,YU.get(a))};var a}resolveOther(t){rB("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let i=this._extractDefaultExport(e,t);if(void 0===i)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(i,t)&&(n=i,i={create:t=>"function"==typeof n.extend?n.extend(t):n}),i}var n}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this._normalize(t))}resolve(t){if("resolver:current"===t)return{create:()=>this};let e,n=this.parseName(t),i=n.resolveMethodName;return"function"==typeof this[i]&&(e=this[i](n)),null==e&&(e=this.resolveOther(n)),e}addModules(t){if(!this._moduleRegistry.addModules)throw new Error("addModules is only supported when your Resolver has been configured to use static modules via Resolver.withModules()");this._moduleRegistry.addModules(t)}_normalize(t){let e=t.split(":");if(e.length>1){let t=e[0];return"component"===t||"helper"===t||"modifier"===t||"template"===t&&0===e[1].indexOf("components/")?t+":"+e[1].replace(/_/g,"-"):t+":"+(n=e[1].replace(/\./g,"/"),WU.get(n))}return t;var n}pluralize(t){return this.pluralizedTypes[t]||(this.pluralizedTypes[t]=t+"s")}podBasedLookupWithPrefix(t,e){let n=e.fullNameWithoutType;return"template"===e.type&&(n=n.replace(/^components\//,"")),t+"/"+n+"/"+e.type}podBasedModuleName(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(e,t)}podBasedComponentsInSubdir(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;if(e+="/components","component"===t.type||/^components/.test(t.fullNameWithoutType))return this.podBasedLookupWithPrefix(e,t)}resolveEngine(t){let e=t.fullNameWithoutType+"/engine";if(this._moduleRegistry.has(e))return this._extractDefaultExport(e)}resolveRouteMap(t){let e=t.fullNameWithoutType,n=e+"/routes";if(this._moduleRegistry.has(n)){let t=this._extractDefaultExport(n);return rB(`The route map for ${e} should be wrapped by 'buildRoutes' before exporting.`,t.isRouteMap),t}}resolveTemplate(t){return this.resolveOther(t)}mainModuleName(t){if("main"===t.fullNameWithoutType)return t.prefix+"/"+t.type}defaultModuleName(t){return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType}nestedColocationComponentModuleName(t){if("component"===t.type)return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType+"/index"}prefix(t){let e=this.namespace.modulePrefix;return this.namespace[t.type+"Prefix"]&&(e=this.namespace[t.type+"Prefix"]),e}findModuleName(t){let e,n=this.moduleNameLookupPatterns;for(let i=0,r=n.length;ii.length+r.length)return t+":"+e.slice(s+i.length,o);let a=n+"/"+this.pluralize(t)+"/";return 0===e.indexOf(a)&&e.length>a.length?t+":"+e.slice(a.length):void 0}_extractDefaultExport(t){let e=this._moduleRegistry.get(t,null,null,!0);return e&&e.default&&(e=e.default),e}}function rB(t,e){if(!e)throw new Error(t)}const sB={};function oB(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");i=e.map(t=>{if((t=function(t){return"/"+t}(t))in sB)return;sB[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const i=document.createElement("link");return i.rel=e?"stylesheet":"modulepreload",e||(i.as="script"),i.crossOrigin="",i.href=t,r&&i.setAttribute("nonce",r),document.head.appendChild(i),e?new Promise((e,n)=>{i.addEventListener("load",e),i.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(i.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var i;function r(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return import("./modules-4-12-BEG81zpm.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class aB extends Mw{modulePrefix=Dw.modulePrefix;podModulePrefix=Dw.podModulePrefix;Resolver=iB.withModules($U);inspector=oB(this)}aB.create(Dw.APP);export{to as $,Ir as A,is as B,hr as C,gs as D,ns as E,rs as F,yr as G,mr as H,Hr as I,wr as J,Zs as K,ps as L,Ys as M,Ws as N,Ur as O,$r as P,Ns as Q,Tr as R,Mr as S,vs as T,ls as U,ms as V,_r as W,es as X,Me as Y,lr as Z,cs as _,y as a,Rl as a$,fs as a0,fr as a1,nr as a2,ur as a3,Vr as a4,Ji as a5,Rr as a6,Qs as a7,Js as a8,Ds as a9,Kv as aA,ji as aB,Px as aC,Ni as aD,U as aE,Mc as aF,lh as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,ce as aN,g as aO,d as aP,m as aQ,p as aR,h as aS,f as aT,qt as aU,zt as aV,jt as aW,Ht as aX,Vt as aY,Ml as aZ,Pl as a_,Cr as aa,Xs as ab,Ar as ac,Is as ad,As as ae,jr as af,kr as ag,vr as ah,eo as ai,js as aj,no as ak,er as al,tr as am,ys as an,xs as ao,It as ap,Ot as aq,St as ar,Mt as as,At as at,xt as au,Dt as av,Lt as aw,cv as ax,Sv as ay,Ci as az,v as b,Vu as b$,Ll as b0,Wu as b1,kl as b2,Nl as b3,Al as b4,Il as b5,Hu as b6,Vi as b7,j as b8,W as b9,H_ as bA,Xh as bB,Th as bC,Sh as bD,Eh as bE,fh as bF,kh as bG,vh as bH,gh as bI,Ih as bJ,Rh as bK,Mh as bL,bh as bM,mh as bN,ph as bO,wh as bP,xh as bQ,xl as bR,Dh as bS,zl as bT,lu as bU,du as bV,fu as bW,Iu as bX,qu as bY,Bu as bZ,Bl as b_,G as ba,Ga as bb,ut as bc,z as bd,B as be,Bs as bf,I as bg,lt as bh,Bi as bi,it as bj,Z as bk,Q as bl,Us as bm,J as bn,qi as bo,ot as bp,rt as bq,ht as br,st as bs,pt as bt,F as bu,et as bv,ac as bw,bw as bx,oc as by,Ah as bz,Re as c,wu as c0,hu as c1,Ru as c2,yu as c3,vu as c4,Su as c5,Gu as c6,$u as c7,gu as c8,Cu as c9,Eu as ca,bu as cb,Iw as cc,gw as cd,Fc as ce,jc as cf,dh as cg,Dl as ch,$h as ci,sh as cj,Lh as ck,ah as cl,la as cm,ff as cn,$a as co,Hi as cp,jx as cq,zi as cr,$n as cs,V_ as ct,dn as cu,Ke as cv,us as d,bs as e,Yr as f,Pe as g,Hs as h,R as i,as as j,hs as k,ws as l,Fr as m,Ls as n,Er as o,Wt as p,Ks as q,Or as r,b as s,Ss as t,Ps as u,Rs as v,ts as w,Wr as x,Kr as y,Qr as z}; diff --git a/dist/assets/main-BT7ZjILY.css b/dist/assets/main-BT7ZjILY.css new file mode 100644 index 0000000..4afffb7 --- /dev/null +++ b/dist/assets/main-BT7ZjILY.css @@ -0,0 +1 @@ +html,body{height:100%}body{margin:0}#root,#ember-testing{height:100%}[style*="position: absolute; inset: 0;"]{background:#f8f9fa}#remotestorage-widget{position:absolute;top:10px;right:10px;z-index:1000}.sidebar{position:absolute;top:0;left:0;bottom:0;width:300px;background:#fff;z-index:2000;box-shadow:2px 0 5px #0000001a;display:flex;flex-direction:column}.sidebar-header{padding:1rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:1.2rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.back-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;margin-right:.5rem}.place-details{padding:.5rem}.place-details h3{margin-top:0;margin-bottom:.5rem}.place-meta{color:#666;text-transform:capitalize;margin-bottom:1rem}.btn-primary{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;width:100%;font-size:1rem}.btn-primary:hover{background:#0056b3}.places-list{list-style:none;padding:0;margin:0}.places-list li{margin-bottom:.5rem}.place-item{width:100%;text-align:left;background:#f8f9fa;border:1px solid #ddd;padding:.75rem;border-radius:4px;cursor:pointer;transition:background .2s}.place-item:hover{background:#e9ecef}.place-name{font-weight:700;margin-bottom:.25rem}.place-type{font-size:.85rem;color:#666;text-transform:capitalize}.empty-state{text-align:center;color:#666;margin-top:2rem}.search-pulse{border-radius:50%;border:2px solid rgba(255,204,51,.8);background:#fc33;position:absolute;transform:translate(-50%,-50%);pointer-events:none;animation:pulse 1.5s infinite ease-out;box-sizing:border-box;display:none}.search-pulse.active{display:block}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8}to{transform:translate(-50%,-50%) scale(1.4);opacity:0}}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer} diff --git a/dist/assets/main-CLXi7ljE.js b/dist/assets/main-CLXi7ljE.js deleted file mode 100644 index f28b22b..0000000 --- a/dist/assets/main-CLXi7ljE.js +++ /dev/null @@ -1,2 +0,0 @@ -const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return JU}},Symbol.toStringTag,{value:"Module"}));!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))e(t);new MutationObserver(t=>{for(const n of t)if("childList"===n.type)for(const t of n.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&e(t)}).observe(document,{childList:!0,subtree:!0})}function e(t){if(t.ep)return;t.ep=!0;const e=function(t){const e={};return t.integrity&&(e.integrity=t.integrity),t.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?e.credentials="include":"anonymous"===t.crossOrigin?e.credentials="omit":e.credentials="same-origin",e}(t);fetch(t.href,e)}}();const e="object"==typeof self&&null!==self&&self.Object===Object&&"undefined"!=typeof Window&&self.constructor===Window&&"object"==typeof document&&null!==document&&self.document===document&&"object"==typeof location&&null!==location&&self.location===location&&"object"==typeof history&&null!==history&&self.history===history&&"object"==typeof navigator&&null!==navigator&&self.navigator===navigator&&"string"==typeof navigator.userAgent,n=e?self:null,i=e?self.location:null,r=e?self.history:null,s=e?self.navigator.userAgent:"Lynx (textmode)",o=!(!e||"object"!=typeof chrome||"object"==typeof opera),a=!!e&&/Firefox|FxiOS/.test(s),l=Object.freeze(Object.defineProperty({__proto__:null,hasDOM:e,history:r,isChrome:o,isFirefox:a,location:i,userAgent:s,window:n},Symbol.toStringTag,{value:"Module"}));function u(t){return t&&t.Object===Object?t:void 0}const c=u((h="object"==typeof global&&global)&&void 0===h.nodeType?h:void 0)||u("object"==typeof self&&self)||u("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var h;const d=function(t,e){return void 0===e?{imports:t,exports:t,lookup:t}:{imports:e.imports||t,exports:e.exports||t,lookup:e.lookup||t}}(c,c.Ember);function p(){return d.lookup}function f(t){d.lookup=t}const g={ENABLE_OPTIONAL_FEATURES:!1,EXTEND_PROTOTYPES:{Array:!1},LOG_STACKTRACE_ON_DEPRECATION:!0,LOG_VERSION:!0,RAISE_ON_DEPRECATION:!1,STRUCTURED_PROFILE:!1,_DEBUG_RENDER_TREE:!1,_ALL_DEPRECATIONS_ENABLED:!1,_OVERRIDE_DEPRECATION_VERSION:null,_DEFAULT_ASYNC_OBSERVERS:!1,_RERENDER_LOOP_LIMIT:1e3,EMBER_LOAD_HOOKS:{},FEATURES:{}};function m(){return g}(t=>{if("object"!=typeof t||null===t)return;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||"EXTEND_PROTOTYPES"===i||"EMBER_LOAD_HOOKS"===i)continue;let e=g[i];g[i]=!0===e?!1!==t[i]:!1===e?!0===t[i]:t[i]}let{EMBER_LOAD_HOOKS:e}=t;if("object"==typeof e&&null!==e)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let t=e[i];Array.isArray(t)&&(g.EMBER_LOAD_HOOKS[i]=t.filter(t=>"function"==typeof t))}let{FEATURES:n}=t;if("object"==typeof n&&null!==n)for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(g.FEATURES[i]=!0===n[i])})(c.EmberENV);let y=()=>{},_=!1;function v(){return _}function b(t){_=Boolean(t)}const{toString:w}=Object.prototype,{toString:x}=Function.prototype,{isArray:S}=Array,{keys:E}=Object,{stringify:C}=JSON,k=100,T=/^[\w$]+$/;function R(t){return"number"==typeof t&&2===arguments.length?this:P(t,0)}function P(t,e,n){let i=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(S(t)){i=!0;break}if(t.toString===w||void 0===t.toString)break;return t.toString();case"function":return t.toString===x?t.name?`[Function:${t.name}]`:"[Function]":t.toString();case"string":return C(t);default:return t.toString()}if(void 0===n)n=new WeakSet;else if(n.has(t))return"[Circular]";return n.add(t),i?function(t,e,n){if(e>4)return"[Array]";let i="[";for(let r=0;r=k){i+=`... ${t.length-k} more items`;break}i+=P(t[r],e,n)}return i+=" ]",i}(t,e+1,n):function(t,e,n){if(e>4)return"[Object]";let i="{",r=E(t);for(let s=0;s=k){i+=`... ${r.length-k} more keys`;break}let o=r[s];i+=`${I(String(o))}: ${P(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function I(t){return T.test(t)?t:C(t)}function M(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function O(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let A=0;function L(){return++A}const F="ember",z=new WeakMap,D=new Map,N=M(`__ember${Date.now()}`);function j(t,e=F){let n=e+L().toString();return O(t)&&z.set(t,n),n}function U(t){let e;if(O(t))e=z.get(t),void 0===e&&(e=`${F}${L()}`,z.set(t,e));else if(e=D.get(t),void 0===e){let n=typeof t;e="string"===n?`st${L()}`:"number"===n?`nu${L()}`:"symbol"===n?`sy${L()}`:`(${t})`,D.set(t,e)}return e}const B=void 0,q=/\.(_super|call\(this|apply\(this)/,G=Function.prototype.toString,$=G.call(function(){return this}).indexOf("return this")>-1?function(t){return q.test(G.call(t))}:function(){return!0},V=new WeakMap,W=Object.freeze(function(){});function H(t){let e=V.get(t);return void 0===e&&(e=$(t),V.set(t,e)),e}V.set(W,!1);class K{listeners=void 0;observers=void 0}const X=new WeakMap;function Y(t){let e=X.get(t);return void 0===e&&(e=new K,X.set(t,e)),e}function Z(t){return X.get(t)}function J(t,e){Y(t).observers=e}function Q(t,e){Y(t).listeners=e}const tt=new WeakSet;function et(t,e){return H(t)?!tt.has(e)&&H(e)?nt(t,nt(e,W)):nt(t,e):t}function nt(t,e){function n(){let n=this._super;this._super=e;let i=t.apply(this,arguments);return this._super=n,i}tt.add(n);let i=X.get(t);return void 0!==i&&X.set(n,i),n}function it(t,e){let n=t;do{let t=Object.getOwnPropertyDescriptor(n,e);if(void 0!==t)return t;n=Object.getPrototypeOf(n)}while(null!==n);return null}let rt,st,ot;const at=[];function lt(t){return-1!==at.indexOf(t)}function ut(t){return M(`__${t}${N+Math.floor(Math.random()*Date.now()).toString()}__`)}const ct=Symbol,ht=Object.prototype.toString;function dt(t){return null==t}function pt(t){if("string"==typeof t)return t;if(null===t)return"null";if(void 0===t)return"undefined";if(Array.isArray(t)){let e="";for(let n=0;n0&&(e+=","),dt(t[n])||(e+=pt(t[n]));return e}return"function"==typeof t.toString?t.toString():ht.call(t)}let ft,gt,mt,yt,_t,vt,bt,wt,xt,St,Et=()=>{},Ct=new WeakMap;function kt(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function Tt(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function Rt(t,e){if(Array.isArray(t)&&t.length>1){let n=t.indexOf(e);return t.splice(n,1),t}return null}function Pt(t){let e=Ct.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Ct.set(t,e)),e}function It(t,e){let n=Pt(t),i=Pt(e);return n.children=kt(n.children,e),i.parents=kt(i.parents,t),e}function Mt(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";return i[r]=kt(i[r],e),e}function Ot(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";i[r]=Rt(i[r],e)}function At(t){let e=Pt(t);if(e.state>=1)return;let{parents:n,children:i,eagerDestructors:r,destructors:s}=e;e.state=1,Tt(i,At),Tt(r,e=>{e(t)}),Tt(s,e=>{ft(t,e)}),gt(()=>{Tt(n,e=>{!function(t,e){let n=Pt(e);0===n.state&&(n.children=Rt(n.children,t))}(t,e)}),e.state=2})}function Lt(t){let e=Ct.get(t);return void 0!==e&&null!==e.children}function Ft(t){let e=Ct.get(t);return void 0!==e&&e.state>=1}function zt(t){let e=Ct.get(t);return void 0!==e&&e.state>=2}const Dt=Object.prototype;let Nt;const jt=ct("undefined");var Ut=function(t){return t[t.ADD=0]="ADD",t[t.ONCE=1]="ONCE",t[t.REMOVE=2]="REMOVE",t}(Ut||{});let Bt=1;class qt{_descriptors;_mixins;_isInit;_lazyChains;_values;_revisions;source;proto;_parent;_listeners;_listenersVersion=1;_inheritedEnd=-1;_flattenedVersion=0;constructor(t){this._parent=void 0,this._descriptors=void 0,this._mixins=void 0,this._lazyChains=void 0,this._values=void 0,this._revisions=void 0,this._isInit=!1,this.source=t,this.proto=void 0===t.constructor?void 0:t.constructor.prototype,this._listeners=void 0}get parent(){let t=this._parent;if(void 0===t){let e=Gt(this.source);this._parent=t=null===e||e===Dt?null:Ht(e)}return t}setInitializing(){this._isInit=!0}unsetInitializing(){this._isInit=!1}isInitializing(){return this._isInit}isPrototypeMeta(t){return this.proto===this.source&&this.source===t}_getOrCreateOwnMap(t){return this[t]||(this[t]=Object.create(null))}_getOrCreateOwnSet(t){return this[t]||(this[t]=new Set)}_findInheritedMap(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i){let t=i.get(e);if(void 0!==t)return t}n=n.parent}}_hasInInheritedSet(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i&&i.has(e))return!0;n=n.parent}return!1}valueFor(t){let e=this._values;return void 0!==e?e[t]:void 0}setValueFor(t,e){this._getOrCreateOwnMap("_values")[t]=e}revisionFor(t){let e=this._revisions;return void 0!==e?e[t]:void 0}setRevisionFor(t,e){this._getOrCreateOwnMap("_revisions")[t]=e}writableLazyChainsFor(t){let e=this._getOrCreateOwnMap("_lazyChains"),n=e[t];return void 0===n&&(n=e[t]=[]),n}readableLazyChainsFor(t){let e=this._lazyChains;if(void 0!==e)return e[t]}addMixin(t){this._getOrCreateOwnSet("_mixins").add(t)}hasMixin(t){return this._hasInInheritedSet("_mixins",t)}forEachMixins(t){let e,n=this;for(;null!==n;){let i=n._mixins;void 0!==i&&(e=void 0===e?new Set:e,i.forEach(n=>{e.has(n)||(e.add(n),t(n))})),n=n.parent}}writeDescriptors(t,e){(this._descriptors||(this._descriptors=new Map)).set(t,e)}peekDescriptors(t){let e=this._findInheritedMap("_descriptors",t);return e===jt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,jt)}forEachDescriptors(t){let e,n=this;for(;null!==n;){let i=n._descriptors;void 0!==i&&(e=void 0===e?new Set:e,i.forEach((n,i)=>{e.has(i)||(e.add(i),n!==jt&&t(i,n))})),n=n.parent}}addToListeners(t,e,n,i,r){this.pushListener(t,e,n,i?Ut.ONCE:Ut.ADD,r)}removeFromListeners(t,e,n){this.pushListener(t,e,n,Ut.REMOVE)}pushListener(t,e,n,i,r=!1){let s=this.writableListeners(),o=Kt(s,t,e,n);if(-1!==o&&o0&&(t.splice(0,this._inheritedEnd),this._inheritedEnd=0);for(let n of e)-1===Kt(t,n.event,n.target,n.method)&&(t.unshift(n),this._inheritedEnd++)}}this._flattenedVersion=Bt}return this._listeners}matchingListeners(t){let e,n=this.flattenedListeners();if(void 0!==n)for(let i of n)i.event!==t||i.kind!==Ut.ADD&&i.kind!==Ut.ONCE||(void 0===e&&(e=[]),e.push(i.target,i.method,i.kind===Ut.ONCE));return e}observerEvents(){let t,e=this.flattenedListeners();if(void 0!==e)for(let n of e)n.kind!==Ut.ADD&&n.kind!==Ut.ONCE||-1===n.event.indexOf(":change")||(void 0===t&&(t=[]),t.push(n));return t}}const Gt=Object.getPrototypeOf,$t=new WeakMap;function Vt(t,e){$t.set(t,e)}function Wt(t){let e=$t.get(t);if(void 0!==e)return e;let n=Gt(t);for(;null!==n;){if(e=$t.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=Gt(n)}return null}const Ht=function(t){let e=Wt(t);if(null!==e&&e.source===t)return e;let n=new qt(t);return Vt(t,n),n};function Kt(t,e,n,i){for(let r=t.length-1;r>=0;r--){let s=t[r];if(s.event===e&&s.target===n&&s.method===i)return r}return-1}let Xt=1;const Yt=Symbol("TAG_COMPUTE");function Zt(t){return t[Yt]()}function Jt(t,e){return e>=t[Yt]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",Yt);const Qt=Symbol("TAG_TYPE");class te{static combine(t){switch(t.length){case 0:return se;case 1:return t[0];default:{let e=new te(2);return e.subtag=t,e}}}constructor(t){this.revision=1,this.lastChecked=1,this.lastValue=1,this.isUpdating=!1,this.subtag=null,this.subtagBufferCache=null,this[Qt]=t}[Yt](){let{lastChecked:t}=this;if(this.isUpdating)this.lastChecked=++Xt;else if(t!==Xt){this.isUpdating=!0,this.lastChecked=Xt;try{let{subtag:t,revision:e}=this;if(null!==t)if(Array.isArray(t))for(const n of t){let t=n[Yt]();e=Math.max(t,e)}else{let n=t[Yt]();n===this.subtagBufferCache?e=Math.max(e,this.lastValue):(this.subtagBufferCache=null,e=Math.max(e,n))}this.lastValue=e}finally{this.isUpdating=!1}}return this.lastValue}static updateTag(t,e){let n=t,i=e;i===se?n.subtag=null:(n.subtagBufferCache=i[Yt](),n.subtag=i)}static dirtyTag(t,e){t.revision=++Xt,Et()}}const ee=te.dirtyTag,ne=te.updateTag;function ie(){return new te(0)}function re(){return new te(1)}const se=new te(3);function oe(t){return t===se}class ae{[Yt](){return NaN}constructor(){this[Qt]=100}}const le=new ae;class ue{[Yt](){return Xt}constructor(){this[Qt]=101}}const ce=new ue,he=te.combine;let de=re(),pe=re(),fe=re();Zt(de),ee(de),Zt(de),ne(de,he([pe,fe])),Zt(de),ee(pe),Zt(de),ee(fe),Zt(de),ne(de,fe),Zt(de),ee(fe),Zt(de);class ge{add(t){t!==se&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?se:1===t.size?this.last:he(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let me=null;const ye=[];function _e(){ye.push(me),me=new ge}function ve(){let t=me;return me=ye.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function be(){ye.push(me),me=null}function we(){me=ye.pop()||null}function xe(){return null!==me}function Se(t){null!==me&&me.add(t)}const Ee=Symbol("FN"),Ce=Symbol("LAST_VALUE"),ke=Symbol("TAG"),Te=Symbol("SNAPSHOT");function Re(t){return{[Ee]:t,[Ce]:void 0,[ke]:void 0,[Te]:-1}}function Pe(t){let e=t[Ee],n=t[ke],i=t[Te];if(void 0!==n&&Jt(n,i))Se(n);else{_e();try{t[Ce]=e()}finally{n=ve(),t[ke]=n,t[Te]=Zt(n),Se(n)}}return t[Ce]}function Ie(t){return oe(t[ke])}function Me(t){let e;_e();try{t()}finally{e=ve()}return e}function Oe(t){be();try{return t()}finally{we()}}const Ae=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),Le=new Set(["fill","push","unshift"]);function Fe(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class ze{#t;constructor(t,e){this.#e=re(),this.#n=new Map,this.#t=e;const n=t.slice(),i=this,r=new Map;let s=!1;return new Proxy(n,{get(t,e){const n=Fe(e);if(null!==n)return i.#i(n),Se(i.#e),t[n];if("length"===e)return s?s=!1:Se(i.#e),t[e];if(Le.has(e)&&(s=!0),Ae.has(e)){let n=r.get(e);return void 0===n&&(n=(...n)=>(Se(i.#e),t[e](...n)),r.set(e,n)),n}return t[e]},set(t,e,n){if(i.#t.equals(t[e],n))return!0;t[e]=n;const r=Fe(e);return null!==r?(i.#r(r),i.#s()):"length"===e&&i.#s(),!0},getPrototypeOf:()=>ze.prototype})}#e;#n;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e),this.#n.clear()}}Object.setPrototypeOf(ze.prototype,Array.prototype);class De{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){let t=this.keys(),e=this;return{next(){let n=t.next(),i=n.value;return n.done?{value:[void 0,void 0],done:!0}:{value:[i,e.get(i)],done:!1}}}}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),n||ee(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),this.#n.clear(),ee(this.#e),this.#o.clear())}}Object.setPrototypeOf(De.prototype,Map.prototype);class Ne{#t;#n;#e;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e)}constructor(t,e){this.#n=new Map,this.#e=re(),this.#t=e;const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyDescriptors(t),r=Object.create(n);for(const o in i)Object.defineProperty(r,o,i[o]);const s=this;return new Proxy(r,{get:(t,e)=>(s.#i(e),t[e]),has:(t,e)=>(s.#i(e),e in t),ownKeys:t=>(Se(s.#e),Reflect.ownKeys(t)),set:(t,e,n)=>(s.#t.equals(t[e],n)||(t[e]=n,s.#r(e),s.#s()),!0),deleteProperty:(t,e)=>(e in t&&(delete t[e],s.#r(e),s.#n.delete(e),s.#s()),!0),getPrototypeOf:()=>Ne.prototype})}}class je{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}union(t){return Se(this.#e),this.#o.union(t)}intersection(t){return Se(this.#e),this.#o.intersection(t)}difference(t){return Se(this.#e),this.#o.difference(t)}symmetricDifference(t){return Se(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return Se(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return Se(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return Se(this.#e),this.#o.isDisjointFrom(t)}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){return Se(this.#e),this.#o[Symbol.iterator]()}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}add(t){if(this.#o.has(t)){if(this.#t.equals(t,t))return this}else ee(this.#e);return this.#r(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),ee(this.#e),this.#n.clear(),this.#o.clear())}}Object.setPrototypeOf(je.prototype,Set.prototype);class Ue{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#o=t instanceof WeakMap?t:new WeakMap(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Ue.prototype,WeakMap.prototype);class Be{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#t=e,this.#o=new WeakSet(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}add(t){return this.#o.has(t)&&this.#t.equals(t,t)||(this.#o.add(t),this.#r(t)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Be.prototype,WeakSet.prototype);const qe=new WeakMap;function Ge(t,e,n){let i=void 0===n?qe.get(t):n;if(void 0===i)return;let r=i.get(e);void 0!==r&&ee(r,!0)}function $e(t){let e=qe.get(t);return void 0===e&&(e=new Map,qe.set(t,e)),e}function Ve(t,e,n){let i=void 0===n?$e(t):n,r=i.get(e);return void 0===r&&(r=re(),i.set(e,r)),r}function We(t,e){let n=new WeakMap,i="function"==typeof e;return{getter:function(r){let s;return Se(Ve(r,t)),i&&!n.has(r)?(s=e.call(r),n.set(r,s)):s=n.get(r),s},setter:function(e,i){Ge(e,t),n.set(e,i)}}}const He=Symbol("GLIMMER_VALIDATOR_REGISTRATION");if(Reflect.has(globalThis,He))throw new Error("The `@glimmer/validator` library has been included twice in this application. It could be different versions of the package, or the same version included twice by mistake. `@glimmer/validator` depends on having a single copy of the package in use at any time in an application, even if they are the same version. You must dedupe your build to remove the duplicate packages in order to prevent this error.");Reflect.set(globalThis,He,!0);const Ke=Object.freeze(Object.defineProperty({__proto__:null,ALLOW_CYCLES:void 0,COMPUTE:Yt,CONSTANT:0,CONSTANT_TAG:se,CURRENT_TAG:ce,CurrentTag:ue,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:le,VolatileTag:ae,beginTrackFrame:_e,beginUntrackFrame:be,bump:function(){Xt++},combine:he,consumeTag:Se,createCache:Re,createTag:ie,createUpdatableTag:re,debug:{},dirtyTag:ee,dirtyTagFor:Ge,endTrackFrame:ve,endUntrackFrame:we,getValue:Pe,isConst:Ie,isConstTag:oe,isTracking:xe,resetTracking:function(){for(;ye.length>0;)ye.pop();me=null},tagFor:Ve,tagMetaFor:$e,track:Me,trackedArray:function(t,e){return new ze(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:We,trackedMap:function(t,e){return new De(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedObject:function(t,e){return new Ne(t??{},{equals:e?.equals??Object.is,description:e?.description})},trackedSet:function(t,e){return new je(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakMap:function(t,e){return new Ue(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakSet:function(t,e){return new Be(t??[],{equals:e?.equals??Object.is,description:e?.description})},untrack:Oe,updateTag:ne,validateTag:Jt,valueForTag:Zt},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze([]);function Ye(){return Xe}const Ze=Ye(),Je=Ye();function*Qe(t){for(let e=t.length-1;e>=0;e--)yield t[e]}function*tn(t){let e=0;for(const n of t)yield[e++,n]}function en(t){return!!t&&t.length>0}function nn(t){return 0===t.length?void 0:t[t.length-1]}function rn(){return Object.create(null)}function sn(t){return null!=t}function on(t){return"function"==typeof t||"object"==typeof t&&null!==t}class an{constructor(t=[]){this.current=null,this.stack=t}get size(){return this.stack.length}push(t){this.current=t,this.stack.push(t)}pop(){let t=this.stack.pop();return this.current=nn(this.stack)??null,void 0===t?null:t}nth(t){let e=this.stack.length;return eRn(t),null,t.debugLabel):t}function En(t){return 3===t[pn]}function Cn(t){const e=xn(()=>Rn(t),e=>Pn(t,e));return e.debugLabel=t.debugLabel,e[pn]=3,e}function kn(t){return t.tag===se}function Tn(t){return null!==t.update}function Rn(t){const e=t;let{tag:n}=e;if(n===se)return e.lastValue;const{lastRevision:i}=e;let r;if(null!==n&&Jt(n,i))r=e.lastValue;else{const{compute:t}=e,i=Me(()=>{r=e.lastValue=t()});n=e.tag=i,e.lastRevision=Zt(i)}return Se(n),r}function Pn(t,e){(0,t.update)(e)}function In(t,e){const n=t,i=n[pn];let r,s=n.children;if(null===s)s=n.children=new Map;else{const t=s.get(e);if(t)return t}if(2===i){const t=Rn(n);r=sn(t)?wn(t[e]):mn}else r=xn(()=>{const t=Rn(n);if(sn(t))return _t(t,e)},t=>{const i=Rn(n);if(sn(i))return vt(i,e,t)});return s.set(e,r),r}function Mn(t,e){let n=t;for(const i of e)n=In(n,i);return n}const On={},An=(t,e)=>e,Ln=(t,e)=>String(e),Fn=t=>null===t?On:t;class zn{get weakMap(){return void 0===this._weakMap&&(this._weakMap=new WeakMap),this._weakMap}get primitiveMap(){return void 0===this._primitiveMap&&(this._primitiveMap=new Map),this._primitiveMap}set(t,e){on(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return on(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Dn=new zn;function Nn(t){let e=new zn;return(n,i)=>{let r=t(n,i),s=e.get(r)||0;return e.set(r,s+1),0===s?r:function(t,e){let n=Dn.get(t);void 0===n&&(n=[],Dn.set(t,n));let i=n[e];return void 0===i&&(i={value:t,count:e},n[e]=i),i}(r,s)}}function jn(t,e){return xn(()=>{let n=Rn(t),i=function(t){switch(t){case"@key":return Nn(An);case"@index":return Nn(Ln);case"@identity":return Nn(Fn);default:return e=t,Nn(t=>bt(t,e))}var e}(e);if(Array.isArray(n))return new qn(n,i);let r=mt(n);return null===r?new qn(Xe,()=>null):new Bn(r,i)})}function Un(t){let e=t,n=ie();return xn(()=>(Se(n),e),t=>{e!==t&&(e=t,ee(n))})}class Bn{constructor(t,e){this.inner=t,this.keyFor=e}isEmpty(){return this.inner.isEmpty()}next(){let t=this.inner.next();return null!==t&&(t.key=this.keyFor(t.value,t.memo)),t}}let qn=class{constructor(t,e){this.iterator=t,this.keyFor=e,this.pos=0,0===t.length?this.current={kind:"empty"}:this.current={kind:"first",value:t[this.pos]}}isEmpty(){return"empty"===this.current.kind}next(){let t,e=this.current;if("first"===e.kind)this.current={kind:"progress"},t=e.value;else{if(this.pos>=this.iterator.length-1)return null;t=this.iterator[++this.pos]}let{keyFor:n}=this;return{key:n(t,this.pos),value:t,memo:this.pos}}};const Gn=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:vn,NULL_REFERENCE:yn,REFERENCE:pn,TRUE_REFERENCE:_n,UNDEFINED_REFERENCE:mn,childRefFor:In,childRefFromParts:Mn,createComputeRef:xn,createConstRef:bn,createDebugAliasRef:void 0,createInvokableRef:Cn,createIteratorItemRef:Un,createIteratorRef:jn,createPrimitiveRef:gn,createReadOnlyRef:Sn,createUnboundRef:wn,isConstRef:kn,isInvokableRef:En,isUpdatableRef:Tn,updateRef:Pn,valueForRef:Rn},Symbol.toStringTag,{value:"Module"})),$n={Empty:0,dynamicLayout:1,dynamicTag:2,prepareArgs:4,createArgs:8,attributeHook:16,elementHook:32,dynamicScope:64,createCaller:128,updateHook:256,createInstance:512,wrapped:1024,willDestroy:2048,hasSubOwner:4096},Vn=1024,Wn=new WeakMap;function Hn(t){return Wn.get(t)}function Kn(t,e){Wn.set(t,e)}function Xn(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Yn{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return Rn(n)}has(t,e){return e in this.named}ownKeys(){return Object.keys(this.named)}isExtensible(){return!1}getOwnPropertyDescriptor(t,e){return{enumerable:!0,configurable:!0}}}class Zn{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const i=Xn(e);return null!==i&&i{const{named:e,positional:n}=t,i=new Yn(e),r=new Zn(n),s=Object.create(null),o=new Proxy(s,i),a=new Proxy([],r);return Kn(o,(t,n)=>function(t,e){return Me(()=>{e in t&&Rn(t[e])})}(e,n)),Kn(a,(t,e)=>function(t,e){return Me(()=>{"[]"===e&&t.forEach(Rn);const n=Xn(e);null!==n&&n{let i=this.getDelegateFor(n);const r=Jn(e),s=i.createHelper(t,r);if(si(i)){let t=xn(()=>i.getValue(s),null);return oi(i)&&It(t,i.getDestroyable(s)),t}if(oi(i)){let t=bn(void 0);return It(t,i.getDestroyable(s)),t}return mn}}}class li{createHelper(t,e){return{fn:t,args:e}}getValue({fn:t,args:e}){return Object.keys(e.named).length>0?t(...e.positional,e.named):t(...e.positional)}getDebugName(t){return t.name?`(helper function ${t.name})`:"(anonymous helper function)"}constructor(){this.capabilities={hasValue:!0,hasDestroyable:!1,hasScheduledEffect:!1}}}const ui=new WeakMap,ci=new WeakMap,hi=new WeakMap,di=Object.getPrototypeOf;function pi(t,e,n){return t.set(n,e),n}function fi(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=di(n)}}function gi(t,e){return pi(ci,t,e)}function mi(t){const e=fi(ci,t);return void 0===e?null:e}function yi(t,e){return pi(hi,t,e)}const _i=new ai(()=>new li);function vi(t){let e=fi(hi,t);return void 0===e&&"function"==typeof t&&(e=_i),e||null}function bi(t,e){return pi(ui,t,e)}function wi(t){const e=fi(ui,t);return void 0===e?null:e}function xi(t){return void 0!==fi(ui,t)}function Si(t){return function(t){return"function"==typeof t}(t)||void 0!==fi(hi,t)}const Ei={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1};function Ci(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function ki(t){return t.capabilities.asyncLifeCycleCallbacks}function Ti(t){return t.capabilities.updateHook}class Ri{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n){let i=this.getDelegateFor(t),r=Jn(n.capture()),s=i.createComponent(e,r);return new Pi(s,i,r)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Ti(e)){let{component:n,args:i}=t;e.updateComponent(n,i)}}didCreate({component:t,delegate:e}){ki(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return ki(t)&&Ti(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return bn(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return Mt(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Ei}}class Pi{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Ii(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Mi{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n,i){let r,s=this.getDelegateFor(t),o=Jn(i),a=s.createModifier(n,o);return r={tag:re(),element:e,delegate:s,args:o,modifier:a},Mt(r,()=>s.destroyModifier(a,o)),r}getDebugName(t){return"function"==typeof t?t.name||t.toString():""}getDebugInstance({modifier:t}){return t}getTag({tag:t}){return t}install({element:t,args:e,modifier:n,delegate:i}){let{capabilities:r}=i;r.disableAutoTracking?Oe(()=>i.installModifier(n,t,e)):i.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:i}=n;i.disableAutoTracking?Oe(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Oi(t,e){return bi(new Ri(t),e)}function Ai(t,e){return gi(new Mi(t),e)}function Li(t,e){return yi(new ai(t),e)}const Fi=new WeakMap,zi=Reflect.getPrototypeOf;function Di(t,e){return Fi.set(e,t),e}function Ni(t){let e=t;for(;null!==e;){let t=Fi.get(e);if(void 0!==t)return t;e=zi(e)}}const ji=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:Ri,CustomHelperManager:ai,CustomModifierManager:Mi,capabilityFlagsFrom:ti,componentCapabilities:Ci,getComponentTemplate:Ni,getCustomTagFor:Hn,getInternalComponentManager:wi,getInternalHelperManager:vi,getInternalModifierManager:mi,hasCapability:ii,hasDestroyable:oi,hasInternalComponentManager:xi,hasInternalHelperManager:Si,hasInternalModifierManager:function(t){return void 0!==fi(ci,t)},hasValue:si,helperCapabilities:ri,managerHasCapability:ni,modifierCapabilities:Ii,setComponentManager:Oi,setComponentTemplate:Di,setCustomTagFor:Kn,setHelperManager:Li,setInternalComponentManager:bi,setInternalHelperManager:yi,setInternalModifierManager:gi,setModifierManager:Ai},Symbol.toStringTag,{value:"Module"})),Ui=new WeakSet;function Bi(t){return!!O(t)&&Ui.has(t)}function qi(t){O(t)&&Ui.add(t)}const Gi=new WeakSet;function $i(t){return Gi.has(t)}let Vi=class{size=0;misses=0;hits=0;constructor(t,e,n=new Map){this.limit=t,this.func=e,this.store=n}get(t){return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,this.set(t,this.func(t)))}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}};const Wi="6.11.0-beta.1",Hi=Object.freeze(Object.defineProperty({__proto__:null,default:Wi},Symbol.toStringTag,{value:"Module"})),Ki=Symbol("OWNER");function Xi(t){return t[Ki]}function Yi(t){return Xi(t)}function Zi(t,e){!function(t,e){t[Ki]=e}(t,e)}function Ji(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const Qi=ct("SELF_TAG");function tr(t,e,n=!1,i){let r=Hn(t);return void 0!==r?r(t,e,n):Ve(t,e,i)}function er(t){return O(t)?Ve(t,Qi):se}function nr(t,e){Ge(t,e),Ge(t,Qi)}const ir=new WeakSet;function rr(t,e,n){let i=t.readableLazyChainsFor(e);if(void 0!==i){if(O(n))for(let[t,e]of i)ne(t,or(n,e,$e(n),Wt(n)));i.length=0}}function sr(t,e,n,i){let r=[];for(let s of e)ar(r,t,s,n,i);return he(r)}function or(t,e,n,i){return he(ar([],t,e,n,i))}function ar(t,e,n,i,r){let s,o,a=e,l=i,u=r,c=n.length,h=-1;for(;;){let e=h+1;if(h=n.indexOf(".",e),-1===h&&(h=c),s=n.slice(e,h),"@each"===s&&h!==c){e=h+1,h=n.indexOf(".",e);let i=a.length;if("number"!=typeof i||!Array.isArray(a)&&!("objectAt"in a))break;if(0===i){t.push(tr(a,"[]"));break}s=-1===h?n.slice(e):n.slice(e,h);for(let e=0;e=0;s-=3){let r=i[s],o=i[s+1],a=i[s+2];if(!o)continue;a&&Cr(t,e,r,o),r||(r=t);let l=typeof o;"string"!==l&&"symbol"!==l||(o=r[o]),o.apply(r,n)}return!0}function Tr(t,e){let n=Wt(t);if(null===n)return!1;let i=n.matchingListeners(e);return void 0!==i&&i.length>0}function Rr(...t){let e=t.pop();return Q(e,t),e}const Pr=!g._DEFAULT_ASYNC_OBSERVERS,Ir=new Map,Mr=new Map;function Or(t,e,n,i,r=Pr){let s=Sr(e);Er(t,s,n,i,!1,r);let o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Lr(t,s,r)}function Ar(t,e,n,i,r=Pr){let s=Sr(e),o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Dr(t,s,r),Cr(t,s,n,i)}function Lr(t,e,n=!1){let i=function(t,e){let n=!0===e?Ir:Mr;return n.has(t)||(n.set(t,new Map),Mt(t,()=>function(t){Ir.size>0&&Ir.delete(t),Mr.size>0&&Mr.delete(t)}(t),!0)),n.get(t)}(t,n);if(i.has(e))i.get(e).count++;else{let n=e.substring(0,e.lastIndexOf(":")),r=or(t,n,$e(t),Wt(t));i.set(e,{count:1,path:n,tag:r,lastRevision:Zt(r),suspended:!1})}}let Fr=!1,zr=[];function Dr(t,e,n=!1){if(!0===Fr)return void zr.push([t,e,n]);let i=!0===n?Ir:Mr,r=i.get(t);if(void 0!==r){let n=r.get(e);n.count--,0===n.count&&(r.delete(e),0===r.size&&i.delete(t))}}function Nr(t){Mr.has(t)&&Mr.get(t).forEach(e=>{e.tag=or(t,e.path,$e(t),Wt(t)),e.lastRevision=Zt(e.tag)}),Ir.has(t)&&Ir.get(t).forEach(e=>{e.tag=or(t,e.path,$e(t),Wt(t)),e.lastRevision=Zt(e.tag)})}let jr=0;function Ur(t){let e=Zt(ce);jr!==e&&(jr=e,Mr.forEach((e,n)=>{let i=Wt(n);e.forEach((e,r)=>{if(!Jt(e.tag,e.lastRevision)){let s=()=>{try{kr(n,r,[n,e.path],void 0,i)}finally{e.tag=or(n,e.path,$e(n),Wt(n)),e.lastRevision=Zt(e.tag)}};t?t("actions",s):s()}})}))}function Br(){Ir.forEach((t,e)=>{let n=Wt(e);t.forEach((t,i)=>{if(!t.suspended&&!Jt(t.tag,t.lastRevision))try{t.suspended=!0,kr(e,i,[e,t.path],void 0,n)}finally{t.tag=or(e,t.path,$e(e),Wt(e)),t.lastRevision=Zt(t.tag),t.suspended=!1}})})}function qr(t,e,n){let i=Ir.get(t);if(!i)return;let r=i.get(Sr(e));r&&(r.suspended=n)}const Gr=Symbol("PROPERTY_DID_CHANGE");let $r=0;function Vr(t,e,n,i){let r=void 0===n?Wt(t):n;null!==r&&(r.isInitializing()||r.isPrototypeMeta(t))||(nr(t,e),$r<=0&&Br(),Gr in t&&(4===arguments.length?t[Gr](e,i):t[Gr](e)))}function Wr(){$r++,Fr=!0}function Hr(){$r--,$r<=0&&(Br(),function(){Fr=!1;for(let[t,e,n]of zr)Dr(t,e,n);zr=[]}())}function Kr(t){Wr();try{t()}finally{Hr()}}function Xr(){}class Yr extends cr{_readOnly=!1;_hasConfig=!1;_getter=void 0;_setter=void 0;constructor(t){super();let e=t[t.length-1];if("function"==typeof e||null!==e&&"object"==typeof e){this._hasConfig=!0;let e=t.pop();if("function"==typeof e)this._getter=e;else{const t=e;this._getter=t.get||Xr,this._setter=t.set}}t.length>0&&this._property(...t)}setup(t,e,n,i){if(super.setup(t,e,n,i),!1===this._hasConfig){let{get:t,set:e}=n;void 0!==t&&(this._getter=t),void 0!==e&&(this._setter=function(n,i){let r=e.call(this,i);return void 0!==t&&void 0===r?t.call(this):r})}}_property(...t){let e=[];function n(t){e.push(t)}for(let i of t)wr(i,n);this._dependentKeys=e}get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;Oe(()=>{n=o.call(t,e)}),void 0!==a&&ne(s,sr(t,a,r,i)),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let i,r=Ht(t);r.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[Gr]&&t.isComponent&&Or(t,e,()=>{t[Gr](e)},void 0,!0);try{Wr(),i=this._set(t,e,n,r),rr(r,e,i);let s=$e(t),o=Ve(t,e,s),{_dependentKeys:a}=this;void 0!==a&&ne(o,sr(t,a,s,r)),r.setRevisionFor(e,Zt(o))}finally{Hr()}return i}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${R(t)}`)}_set(t,e,n,i){let r,s=void 0!==i.revisionFor(e),o=i.valueFor(e),{_setter:a}=this;qr(t,e,!0);try{r=a.call(t,e,n,o)}finally{qr(t,e,!1)}return s&&o===r||(i.setValueFor(e,r),Vr(t,e,i,n)),r}teardown(t,e,n){void 0!==n.revisionFor(e)&&(n.setRevisionFor(e,void 0),n.setValueFor(e,void 0)),super.teardown(t,e,n)}}class Zr extends Yr{get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:r}=this,o=Me(()=>{n=r.call(t,e)});ne(s,o),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]",r)),n}}class Jr extends Function{readOnly(){return yr(this)._readOnly=!0,this}meta(t){let e=yr(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return yr(this)._getter}set enumerable(t){yr(this).enumerable=t}}function Qr(...t){return lr(t)?fr(new Yr([]),Jr)(t[0],t[1],t[2]):fr(new Yr(t),Jr)}function ts(...t){return fr(new Zr(t),Jr)}function es(t,e){return Boolean(mr(t,e))}function ns(t,e,n,i,r){let s=void 0===r?Ht(t):r,o=mr(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),_r(n)?is(t,e,n,s):null==n?rs(t,e,i,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||Nr(t)}function is(t,e,n,i){let r;return r=n(t,e,void 0,i),Object.defineProperty(t,e,r),n}function rs(t,e,n,i,r=!0){return!0===i||!1===r?Object.defineProperty(t,e,{configurable:!0,enumerable:r,writable:!0,value:n}):t[e]=n,n}const ss=new Vi(1e3,t=>t.indexOf("."));function os(t){return"string"==typeof t&&-1!==ss.get(t)}const as=ct("PROXY_CONTENT");function ls(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function us(t,e){return os(e)?hs(t,e):cs(t,e)}function cs(t,e){if(null==t)return;let n;return"object"==typeof t||"function"==typeof t?(n=t[e],void 0===n&&"object"==typeof t&&!(e in t)&&ls(t)&&(n=t.unknownProperty(e)),xe()&&(Se(Ve(t,e)),(Array.isArray(n)||$i(n))&&Se(Ve(n,"[]")))):n=t[e],n}function hs(t,e,n){let i="string"==typeof e?e.split("."):e;for(let r of i){if(null==t||t.isDestroyed)return;if(n&&("__proto__"===r||"constructor"===r))return;t=cs(t,r)}return t}cs("foo","a"),cs("foo",1),cs({},"a"),cs({},1),cs({unknownProperty(){}},"a"),cs({unknownProperty(){}},1),us({},"foo"),us({},"foo.bar");let ds={};qi(ds),Me(()=>cs({},"a")),Me(()=>cs({},1)),Me(()=>cs({a:[]},"a")),Me(()=>cs({a:ds},"a"));class ps{_registry;_coreLibIndex;constructor(){this._registry=[],this._coreLibIndex=0}_getLibraryByName(t){let e=this._registry;for(let n of e)if(n.name===t)return n}register(t,e,n){let i=this._registry.length;this._getLibraryByName(t)||(n&&(i=this._coreLibIndex++),this._registry.splice(i,0,{name:t,version:e}))}registerCoreLibrary(t,e){this.register(t,e,!0)}deRegister(t){let e,n=this._getLibraryByName(t);n&&(e=this._registry.indexOf(n),this._registry.splice(e,1))}}const fs=new ps;let gs;function ms(t,...e){let n,i;lr(e)?n=e:"string"==typeof e[0]&&(i=e[0]);let r=Qr({get:function(e){return(Yi(this)||this.container).lookup(`${t}:${i||e}`)},set(t,e){ns(this,t,null,e)}});return n?r(n[0],n[1],n[2]):r}function ys(...t){if(!lr(t)){let e=t[0],n=e?e.initializer:void 0,i=e?e.value:void 0,r=function(t,e){return _s([t,e,{initializer:n||(()=>i)}])};return vr(r),r}return _s(t)}function _s([t,e,n]){let{getter:i,setter:r}=We(e,n?n.initializer:void 0);function s(){let t=i(this);return(Array.isArray(t)||$i(t))&&Se(Ve(t,"[]")),t}function o(t){r(this,t),Ge(this,Qi)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return pr.add(o),Ht(t).writeDescriptors(e,new vs(s,o)),a}fs.registerCoreLibrary("Ember",Wi);class vs{constructor(t,e){this._get=t,this._set=e,ir.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function bs(t,e,n,i){return t.isDestroyed?n:os(e)?function(t,e,n,i){let r=e.split("."),s=r.pop(),o=hs(t,r,!0);if(null!=o)return bs(o,s,n);if(!i)throw new Error(`Property set failed: object in path "${r.join(".")}" could not be found.`)}(t,e,n,i):ws(t,e,n)}function ws(t,e,n){let i,r=it(t,e);return null!==r&&pr.has(r.set)?(t[e]=n,n):(i=t[e],void 0!==i||"object"!=typeof t||e in t||"function"!=typeof t.setUnknownProperty?(t[e]=n,i!==n&&Vr(t,e)):t.setUnknownProperty(e,n),n)}function xs(t,e,n){return bs(t,e,n,!0)}function Ss(t){return fr(new Cs(t),Es)}class Es extends Function{readOnly(){return yr(this).readOnly(),this}oneWay(){return yr(this).oneWay(),this}meta(t){let e=yr(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Cs extends cr{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,i){super.setup(t,e,n,i),ir.add(this)}get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r);Oe(()=>{n=us(t,this.altKey)});let o=i.revisionFor(e);return void 0!==o&&Jt(s,o)||(ne(s,or(t,this.altKey,r,i)),i.setRevisionFor(e,Zt(s)),rr(i,e,n)),Se(s),n}set(t,e,n){return bs(t,this.altKey,n)}readOnly(){this.set=ks}oneWay(){this.set=Ts}}function ks(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${R(t)}`)}function Ts(t,e,n){return ns(t,e,null),bs(t,e,n)}function Rs(t,e,n,i){return void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1)),kr(t,"@array:before",[t,e,n,i]),t}function Ps(t,e,n,i,r=!0){void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1));let s=Wt(t);if(r&&((i<0||n<0||i-n!==0)&&Vr(t,"length",s),Vr(t,"[]",s)),kr(t,"@array:change",[t,e,n,i]),null!==s){let r=-1===n?0:n,o=t.length-((-1===i?0:i)-r),a=e<0?o+e:e;void 0!==s.revisionFor("firstObject")&&0===a&&Vr(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1{let n=Object.keys(e);for(let i of n)bs(t,i,e[i])}),e}const js=new WeakMap;function Us(t,e){O(t)&&js.set(t,e)}function Bs(t){return js.get(t)}const qs=Object.prototype.hasOwnProperty;let Gs=!1;const $s={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(t){this._set++,this._unprocessedNamespaces=t}};let Vs=!1;const Ws=[],Hs=Object.create(null);function Ks(t){$s.unprocessedNamespaces=!0,Ws.push(t)}function Xs(t){let e=Bs(t);delete Hs[e],Ws.splice(Ws.indexOf(t),1),e in d.lookup&&t===d.lookup[e]&&(d.lookup[e]=void 0)}function Ys(){if(!$s.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!so(n.charCodeAt(0)))continue;let e=oo(t,n);e&&Us(e,n)}}function Zs(t){return Gs||Qs(),Hs[t]}function Js(t){io([t.toString()],t,new Set)}function Qs(){let t=$s.unprocessedNamespaces;if(t&&(Ys(),$s.unprocessedNamespaces=!1),t||Vs){let t=Ws;for(let e of t)Js(e);Vs=!1}}function to(){return Gs}function eo(t){Gs=Boolean(t)}function no(){Vs=!0}function io(t,e,n){let i=t.length,r=t.join(".");Hs[r]=e,Us(e,r);for(let s in e){if(!qs.call(e,s))continue;let r=e[s];if(t[i]=s,r&&void 0===Bs(r))Us(r,t.join("."));else if(r&&ro(r)){if(n.has(r))continue;n.add(r),io(t,r,n)}}t.length=i}function ro(t){return null!=t&&"object"==typeof t&&t.isNamespace}function so(t){return t>=65&&t<=90}function oo(t,e){try{let n=t[e];return(null!==n&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(n){}}const ao={get onerror(){}},lo=setTimeout,uo=()=>{};function co(t){if("function"==typeof Promise){const e=Promise.resolve();return()=>e.then(t)}if("function"==typeof MutationObserver){let e=0,n=new MutationObserver(t),i=document.createTextNode("");return n.observe(i,{characterData:!0}),()=>(e=++e%2,i.data=""+e,e)}return()=>lo(t,0)}function ho(t){let e=uo;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:co(t),clearNext:e}}const po=/\d+/;function fo(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&po.test(t)}function go(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function mo(t,e,n){let i=-1;for(let r=0,s=n.length;r=e[n]?r=n+6:s=n;return t>=e[r]?r+6:r}class bo{constructor(t,e={},n={}){this._queueBeingFlushed=[],this.targetQueues=new Map,this.index=0,this._queue=[],this.name=t,this.options=e,this.globalOptions=n}stackFor(t){if(t0){let t=go(this.globalOptions);s=t?this.invokeWithOnError:this.invoke;for(let o=this.index;o0&&this.flush(!0)}hasWork(){return this._queueBeingFlushed.length>0||this._queue.length>0}cancel({target:t,method:e}){let n=this._queue,i=this.targetQueues.get(t);void 0!==i&&i.delete(e);let r=mo(t,e,n);return r>-1?(n[r+1]=null,!0):(n=this._queueBeingFlushed,r=mo(t,e,n),r>-1&&(n[r+1]=null,!0))}push(t,e,n,i){return this._queue.push(t,e,n,i),{queue:this,target:t,method:e}}pushUnique(t,e,n,i){let r=this.targetQueues.get(t);void 0===r&&(r=new Map,this.targetQueues.set(t,r));let s=r.get(e);if(void 0===s){let s=this._queue.push(t,e,n,i)-4;r.set(e,s)}else{let t=this._queue;t[s+2]=n,t[s+3]=i}return{queue:this,target:t,method:e}}_getDebugInfo(t){if(t)return _o(this._queue,4)}invoke(t,e,n){void 0===n?e.call(t):e.apply(t,n)}invokeWithOnError(t,e,n,i,r){try{void 0===n?e.call(t):e.apply(t,n)}catch(Gz){i(Gz,r)}}}class wo{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new bo(n,e[n],e),t},this.queues)}schedule(t,e,n,i,r,s){let o=this.queues[t];if(void 0===o)throw new Error(`You attempted to schedule an action in a queue (${t}) that doesn't exist`);if(null==n)throw new Error(`You attempted to schedule an action in a queue (${t}) for a method that doesn't exist`);return this.queueNameIndex=0,r?o.pushUnique(e,n,i,s):o.push(e,n,i,s)}flush(t=!1){let e,n,i=this.queueNames.length;for(;this.queueNameIndexr){let e=i-r;t=new Array(e);for(let n=0;n{Vo++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||ho;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Ro,end:Po,events:{begin:Io,end:0},autoruns:{created:$o,completed:Vo},run:Mo,join:Oo,defer:Ao,schedule:Lo,scheduleIterable:Fo,deferOnce:zo,scheduleOnce:Do,setTimeout:No,later:jo,throttle:Uo,debounce:Bo,cancelTimers:qo,cancel:Go,loops:{total:Wo,nested:Ho}}}get defaultQueue(){return this._defaultQueue}begin(){Ro++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(Ho++,this.instanceStack.push(n)),Wo++,t=this.currentInstance=new wo(this.queueNames,e),Io++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Po++,this._end(!1)}on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=this._eventCallbacks[t];if(void 0===n)throw new TypeError(`Cannot on() event ${t} because it does not exist`);n.push(e)}off(t,e){let n=this._eventCallbacks[t];if(!t||void 0===n)throw new TypeError(`Cannot off() event ${t} because it does not exist`);let i=!1;if(e)for(let r=0;r0&&fo(n[r-1])&&(i=parseInt(n.pop(),10)),[t,e,n,i]}(...arguments);return this._later(t,e,n,i)}throttle(){Uo++;let t,[e,n,i,r,s=!0]=ko(...arguments),o=yo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Eo&&(this._timers[e]=i)}return t}debounce(){Bo++;let t,[e,n,i,r,s=!1]=ko(...arguments),o=this._timers,a=yo(e,n,o);if(-1===a)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{let s=this._platform.now()+r,l=a+4;o[l]===Eo&&(i=Eo),t=o[a+1];let u=vo(s,o);if(a+6===u)o[a]=s,o[l]=i;else{let r=this._timers[a+5];this._timers.splice(u,0,s,t,e,n,i,r),this._timers.splice(a,6)}0===a&&this._reinstallTimerTimeout()}return t}cancelTimers(){qo++,this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()}hasTimers(){return this._timers.length>0||this._autorun}cancel(t){if(Go++,null==t)return!1;let e=typeof t;return"number"===e?this._cancelLaterTimer(t):!("object"!==e||!t.queue||!t.method)&&t.queue.cancel(t)}ensureInstance(){this._ensureInstance()}getDebugInfo(){if(this.DEBUG)return{autorun:this._autorunStack,counters:this.counters,timers:_o(this._timers,6,2),instanceStack:[this.currentInstance,...this.instanceStack].map(t=>t&&t._getDebugInfo(this.DEBUG))}}_end(t){let e=this.currentInstance,n=null;if(null===e)throw new Error("end called without begin");let i,r=!1;try{i=e.flush(t)}finally{if(!r)if(r=!0,1===i){const t=this.queueNames[e.queueNameIndex];this._scheduleAutorun(t)}else this.currentInstance=null,this.instanceStack.length>0&&(n=this.instanceStack.pop(),this.currentInstance=n),this._trigger("end",e,n),this._onEnd(e,n)}}_join(t,e,n){return null===this.currentInstance?this._run(t,e,n):void 0===t&&void 0===n?e():e.apply(t,n)}_run(t,e,n){let i=go(this.options);if(this.begin(),i)try{return e.apply(t,n)}catch(Gz){i(Gz)}finally{this.end()}else try{return e.apply(t,n)}finally{this.end()}}_cancelAutorun(){this._autorun&&(this._platform.clearNext(),this._autorun=!1,this._autorunStack=null)}_later(t,e,n,i){let r=this.DEBUG?new Error:void 0,s=this._platform.now()+i,o=To++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,r),this._installTimerTimeout();else{let i=vo(s,this._timers);this._timers.splice(i,0,s,o,t,e,n,r),this._reinstallTimerTimeout()}return o}_cancelLaterTimer(t){for(let e=1;e0&&(this.begin(),this._scheduleExpiredTimers(),this.end())}_scheduleExpiredTimers(){let t=this._timers,e=0,n=t.length,i=this._defaultQueue,r=this._platform.now();for(;er);e+=6){let n=t[e+4];if(n!==Eo){let r=t[e+2],s=t[e+3],o=t[e+5];this.currentInstance.schedule(i,r,s,n,!1,o)}}t.splice(0,e),this._installTimerTimeout()}_reinstallTimerTimeout(){this._clearTimerTimeout(),this._installTimerTimeout()}_clearTimerTimeout(){null!==this._timerTimeoutId&&(this._platform.clearTimeout(this._timerTimeoutId),this._timerTimeoutId=null)}_installTimerTimeout(){if(0===this._timers.length)return;let t=this._timers[0],e=this._platform.now(),n=Math.max(0,t-e);this._timerTimeoutId=this._platform.setTimeout(this._boundRunExpiredTimers,n)}_ensureInstance(){let t=this.currentInstance;return null===t&&(this._autorunStack=this.DEBUG?new Error:void 0,t=this.begin(),this._scheduleAutorun(this.queueNames[0])),t}_scheduleAutorun(t){$o++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}Ko.Queue=bo,Ko.buildPlatform=ho,Ko.buildNext=co;let Xo=null;function Yo(){return Xo}const Zo=`${Math.random()}${Date.now()}`.replace(".",""),Jo=["actions","routerTransitions","render","afterRender","destroy",Zo],Qo=new Ko(Jo,{defaultQueue:"actions",onBegin:function(t){Xo=t},onEnd:function(t,e){Xo=e,Ur(ia)},onErrorTarget:ao,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==Zo||Ur(ia),e()}});function ta(...t){return Qo.run(...t)}function ea(t,e,...n){return Qo.join(t,e,...n)}function na(...t){return(...e)=>ea(...t.concat(e))}function ia(...t){return Qo.schedule(...t)}function ra(...t){return Qo.scheduleOnce("actions",...t)}function sa(...t){return Qo.scheduleOnce(...t)}function oa(t){return Qo.cancel(t)}const aa=Object.freeze(Object.defineProperty({__proto__:null,_backburner:Qo,_cancelTimers:function(){Qo.cancelTimers()},_getCurrentRunLoop:Yo,_hasScheduledTimers:function(){return Qo.hasTimers()},_queues:Jo,_rsvpErrorQueue:Zo,begin:function(){Qo.begin()},bind:na,cancel:oa,debounce:function(...t){return Qo.debounce(...t)},end:function(){Qo.end()},join:ea,later:function(...t){return Qo.later(...t)},next:function(...t){return Qo.later(...t,1)},once:ra,run:ta,schedule:ia,scheduleOnce:sa,throttle:function(...t){return Qo.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),la="@warp-drive/core",ua=globalThis;ua.__warpDrive_universalCache=ua.__warpDrive_universalCache??{},ua[la]=ua[la]??{__version:"5.8.1"};const ca=ua[la],ha=ca.__warpDrive_ModuleScopedCaches??{};if(ca.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function da(t,e){return e}function pa(t){return ha[`(transient) ${t}`]??null}ca.__warpDrive_hasOtherCopy=!0;const fa=new WeakMap;function ga(t,e){fa.set(t,e)}const ma=da(0,Symbol("#[]"));function ya(t,e){return pa("signalHooks").createSignal(t,e)}const _a={};function va(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===_a}const ba=da(0,Symbol("Signals"));function wa(t){return t[ba]||function(t){t[ba]=new Map}(t),t[ba]}function xa(t,e,n,i){const r={key:n,context:e,signal:ya(e,n),value:va(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function Sa(t,e){return t?.get(e)}function Ea(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=Sa(t,n);return r||(r=xa(t,e,n,i)),s=r.signal,pa("signalHooks").consumeSignal(s),r;var s}(wa(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=Sa(t,n);return r||(r=xa(t,e,n,i)),r}(wa(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){pa("signalHooks").notifySignal(t)}(r.signal)))}}}function Ca(t,e,n){Object.defineProperty(t,e,Ea(e,n))}function ka(t,e,n){const i=Ea(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ta(t,e,n){const i=n.get;return n.get=function(){const t=wa(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return pa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Ra=new WeakMap;function Pa(t){return t instanceof DOMException&&"AbortError"===t.name}class Ia{_stream=null;_future;_triggered=!1;_trigger(){if(this._triggered)return;this._triggered=!0;const t=this._future.getStream();t.sizeHint&&(this._sizeHint=t.sizeHint),this.promise=t.then(t=>t?async function(t,e){const n=e,i=t.getReader();let r=0,s=null!==n._stream&&n._stream.readable.locked,o=s,a=n._stream?.writable.getWriter();const l=[];for(n._isPending=!1,n._isStarted=!0,n._startTime=performance.now();;){const{value:t,done:e}=await i.read();if(e)break;if(r+=t.byteLength,n._bytesLoaded=r,n._lastPacketTime=performance.now(),s=s||null!==n._stream&&n._stream.readable.locked,s){if(!o){o=!0,a=n._stream.writable.getWriter();for(const t of l)await a.ready,await a.write(t);l.length=0}await a.ready,await a.write(t)}else l.push(t)}o?(await a.ready,await a.close()):n._stream&&(await n._stream.readable.cancel("The Stream Has Already Ended"),n._stream=null);const u=performance.now();n._endTime=u,n._isComplete=!0,n._isStarted=!1}(t,this):(this._isPending=!1,void(this._isComplete=!0)),t=>{this._isPending=!1,this._isStarted=!1,Pa(t)&&(this._isCancelled=!0,this._isComplete=!0),this._isErrored=!0,this._error=t})}promise=null;get isPending(){return this._trigger(),this._isPending}get sizeHint(){return this._trigger(),this._sizeHint}get stream(){if(this._trigger(),!this._stream){if(this._isComplete||this._isCancelled||this._isErrored)return null;this._stream=new TransformStream}return this._stream.readable}get isStarted(){return this._trigger(),this._isStarted}get bytesLoaded(){return this._trigger(),this._bytesLoaded}get startTime(){return this._trigger(),this._startTime}get endTime(){return this._trigger(),this._endTime}get lastPacketTime(){return this._trigger(),this._lastPacketTime}get isComplete(){return this._trigger(),this._isComplete}get isCancelled(){return this._trigger(),this._isCancelled}get isErrored(){return this._trigger(),this._isErrored}get error(){return this._trigger(),this._error}get elapsedTime(){return(this.endTime||this.lastPacketTime)-this.startTime}get completedRatio(){return this.sizeHint?this.bytesLoaded/this.sizeHint:0}get remainingRatio(){return 1-this.completedRatio}get duration(){return this.endTime-this.startTime}get speed(){return this.bytesLoaded/(this.elapsedTime/1e3)}constructor(t){this._future=t}abort=()=>{this._future.abort()}}ka(Ia.prototype,"_isPending",!0),ka(Ia.prototype,"_isStarted",!1),ka(Ia.prototype,"_isComplete",!1),ka(Ia.prototype,"_isCancelled",!1),ka(Ia.prototype,"_isErrored",!1),ka(Ia.prototype,"_error",null),ka(Ia.prototype,"_sizeHint",0),ka(Ia.prototype,"_bytesLoaded",0),ka(Ia.prototype,"_startTime",0),ka(Ia.prototype,"_endTime",0),ka(Ia.prototype,"_lastPacketTime",0);const Ma={};function Oa(t,e,n){const i=Object.assign({},e),r=Object.assign({},i.cacheOptions);return n?r.reload=!0:!1===n?(delete r.reload,r.backgroundReload=!0):(delete r.backgroundReload,delete r.reload),i.cacheOptions=r,t.request(i)}function Aa(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}Ca(Ma,"reason",null),Ca(Ma,"value",null),Ca(Ma,"result",null),Ca(Ma,"error",null),Ca(Ma,"status","pending"),Ca(Ma,"isPending",!0),Ca(Ma,"isLoading",!0),Ca(Ma,"isSuccess",!1),Ca(Ma,"isError",!1),Ca(Ma,"request",null),Ca(Ma,"response",null),Object.defineProperty(Ma,"isCancelled",{get(){return this.isError&&Pa(this.reason)}}),Object.defineProperty(Ma,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ia(this._request)),this._loadingState}});const La=Symbol.dispose||Symbol.for("dispose");class Fa{_requester;constructor(t,e){this._args=e,this.store=t,this._subscribedTo=null,this._subscription=null,this._intervalStart=null,this._invalidated=!1,this._nextInterval=null,this._requester=null,this.isDestroyed=!1,this[La]=Da,this._installListeners(),this._beginPolling()}async _beginPolling(){try{this.isIdle||await this.request}catch{}finally{this.isDestroyed||this._scheduleInterval()}}get isIdle(){const{request:t,query:e}=this._args;return Boolean(!t&&!e)}static{Aa(this.prototype,"isIdle",[Ta])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Aa(this.prototype,"autorefreshTypes",[Ta])}async _scheduleInterval(){const{autorefreshThreshold:t}=this._args;if("undefined"!=typeof window&&"number"==typeof t&&t>0&&this.autorefreshTypes.has("interval")&&null===this._intervalStart){if(this._latestRequest){try{await this._latestRequest}catch{}if(this.isDestroyed)return}this._intervalStart=Date.now(),this._nextInterval=setTimeout(()=>{this._maybeUpdate()},t)}}_clearInterval(){this._nextInterval&&(clearTimeout(this._nextInterval),this._intervalStart=null)}_updateSubscriptions(){if(this.isIdle)return;const t=this._request.lid;if(this._subscribedTo===t)return;this._removeSubscriptions();const e=this._getRequester();this._requester=e,t&&za(e)&&(this._subscribedTo=t,this._subscription=e.notifications.subscribe(t,(n,i)=>{if(!this._isUpdating)switch(i){case"invalidated":this.autorefreshTypes.has("invalid")&&(this._invalidated=!0,this._maybeUpdate());break;case"state":{const n=e.requestManager._deduped.get(t),i=n?.priority,r=this.reqState;i?i.blocking&&!r.isLoading?(this.isRefreshing=!1,this._maybeUpdate("policy",!0)):this.isRefreshing=!0:this.isRefreshing=!1}}}))}_removeSubscriptions(){const t=this._requester;this._subscription&&t&&za(t)&&(t.notifications.unsubscribe(this._subscription),this._subscribedTo=null,this._subscription=null,this._requester=null)}_installListeners(){"undefined"!=typeof window&&(this.isOnline=window.navigator.onLine,this._unavailableStart=this.isOnline?null:Date.now(),this.isHidden="hidden"===document.visibilityState,this._onlineChanged=t=>{this.isOnline="online"===t.type,"offline"===t.type&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},this._backgroundChanged=()=>{const t="hidden"===document.visibilityState;this.isHidden=t,t&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},window.addEventListener("online",this._onlineChanged,{passive:!0,capture:!0}),window.addEventListener("offline",this._onlineChanged,{passive:!0,capture:!0}),document.addEventListener("visibilitychange",this._backgroundChanged,{passive:!0,capture:!0}))}_maybeUpdate(t,e){if(this.isIdle)return;const{reqState:n}=this;if(n.isPending)return;if(!Boolean(this.isOnline&&!this.isHidden&&(t||this.autorefreshTypes.size))){if(!e&&t&&"_invalidated"!==t)throw new Error("Reload not available: the network is not online or the tab is hidden");return}const{autorefreshTypes:i}=this;let r=this._invalidated||Boolean(t);if(!r&&i.has("online")){const{_unavailableStart:t}=this,{autorefreshThreshold:e}=this._args,n="number"==typeof e?e:3e4;r=Boolean(t&&Date.now()-t>n)}if(!r&&i.has("interval")){const{_intervalStart:t}=this,{autorefreshThreshold:e}=this._args;t&&"number"==typeof e&&e>0&&(r=Boolean(Date.now()-t>=e))}if(this._unavailableStart=null,this._invalidated=!1,r){this._clearInterval(),this._isUpdating=!0;const e=("_invalidated"===t?null:t)??this._args.autorefreshBehavior??"policy",i=this._getRequester();switch(n._request.requester||(n._request.requester=i),e){case"reload":this._latestRequest=n.reload();break;case"refresh":this._latestRequest=n.refresh();break;case"policy":this._latestRequest=n.refresh(!0)}"refresh"!==e&&(this._localRequest=this._latestRequest),this._scheduleInterval(),this._latestRequest.finally(()=>{this._isUpdating=!1})}}_getRequester(){return this._args.request?.requester?this._args.request.requester:this.store}retry=async()=>{this._maybeUpdate("reload"),await this._localRequest};refresh=async()=>{this._maybeUpdate("refresh"),await this._latestRequest};get errorFeatures(){return{isHidden:this.isHidden,isOnline:this.isOnline,retry:this.retry}}static{Aa(this.prototype,"errorFeatures",[Ta])}get contentFeatures(){const t={isHidden:this.isHidden,isOnline:this.isOnline,reload:this.retry,refresh:this.refresh,isRefreshing:this.isRefreshing,latestRequest:this._latestRequest};return t.isRefreshing&&(t.abort=()=>{this._latestRequest?.abort()}),t}static{Aa(this.prototype,"contentFeatures",[Ta])}get _request(){const{request:t,query:e}=this._args,{_localRequest:n,_originalRequest:i,_originalQuery:r}=this;return n&&t===i&&e===r?n:(this._originalQuery=e,this._originalRequest=t,t||this.store.request(e))}static{Aa(this.prototype,"_request",[Ta])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Aa(this.prototype,"request",[Ta])}get reqState(){return function(t){let e=Ra.get(t);return e||(e=function(t){const e=(n=t,fa.get(n));var n;const i=Object.create(Ma);return i._request=t,i.reload=()=>Oa(t.requester,i.request,!0),i.refresh=(e=!1)=>Oa(t.requester,i.request,!0===e&&null),e?e.isError?(i.error=e.result,i.reason=e.result,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):(i.result=e.result.content,i.value=e.result.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):t.then(e=>{ga(t,{isError:!1,result:e}),i.result=e.content,i.value=e.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response},e=>{ga(t,{isError:!0,result:e}),i.error=e,i.reason=e,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response}),i}(t),Ra.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function za(t){return"requestManager"in t}function Da(){const t=this;t.isDestroyed=!0,t._removeSubscriptions(),"undefined"!=typeof window&&(t._clearInterval(),window.removeEventListener("online",t._onlineChanged,{passive:!0,capture:!0}),window.removeEventListener("offline",t._onlineChanged,{passive:!0,capture:!0}),document.removeEventListener("visibilitychange",t._backgroundChanged,{passive:!0,capture:!0}))}Ca(Fa.prototype,"isOnline",!0),Ca(Fa.prototype,"isHidden",!1),Ca(Fa.prototype,"isRefreshing",!1),Ca(Fa.prototype,"_localRequest",void 0),Ca(Fa.prototype,"_latestRequest",void 0);const Na={};Ca(Na,"reason",null),Ca(Na,"value",null),Ca(Na,"result",null),Ca(Na,"error",null),Ca(Na,"status","pending"),Ca(Na,"isPending",!0),Ca(Na,"isLoading",!0),Ca(Na,"isSuccess",!1),Ca(Na,"isError",!1);const ja=ee;var Ua;Ua=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[tr(t,n),tr(t,"length"),tr(t,"[]")]:tr(t,n),consumeSignal(t){if(Array.isArray(t))return Se(t[0]),Se(t[1]),void Se(t[2]);Se(t)},notifySignal(t){if(Array.isArray(t))return ja(t[0]),ja(t[1]),void ja(t[2]);ja(t)},createMemo:(t,e,n)=>{{const i=tr(t,e),r=Re(n);let s;const o=()=>{s=Pe(r)};return()=>{const t=Me(o);return ne(i,t),Se(t),s}}},willSyncFlushWatchers:()=>!!Qo.currentInstance&&!0!==Qo._autorun,waitFor:async t=>t}},function(t,e){ha["(transient) signalHooks"]=e}(0,Ua({wellknown:{Array:ma}}));const Ba=Yi,qa=Object.freeze(Object.defineProperty({__proto__:null,getOwner:Ba,setOwner:Zi},Symbol.toStringTag,{value:"Module"}));function Ga(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const $a=g.EMBER_LOAD_HOOKS||{},Va={};let Wa=Va;function Ha(t,e){if(Va[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}$a[t]?.forEach(t=>t(e))}class Ka{static _leakTracking;owner;registry;cache;factoryManagerCache;validationCache;isDestroyed;isDestroying;constructor(t,e={}){this.registry=t,this.owner=e.owner||null,this.cache=Ga(e.cache||null),this.factoryManagerCache=Ga(e.factoryManagerCache||null),this.isDestroyed=!1,this.isDestroying=!1}lookup(t,e){if(this.isDestroyed)throw new Error(`Cannot call \`.lookup('${t}')\` after the owner has been destroyed`);return function(t,e,n={}){let i=e;if(!0===n.singleton||void 0===n.singleton&&Xa(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=Za(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||Xa(t,e))&&Ya(t,e)}(t,n,i)){let n=t.cache[e]=r.create();return t.isDestroying&&"function"==typeof n.destroy&&n.destroy(),n}if(function(t,e,{instantiate:n,singleton:i}){return!1!==n&&(!1===i||!Xa(t,e))&&Ya(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&Xa(t,e)&&!Ya(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&Xa(t,e)||Ya(t,e))}(t,n,i))return r.class;throw new Error("Could not create factory")}}(t,i,e,n)}(this,this.registry.normalize(t),e)}destroy(){this.isDestroying=!0,Ja(this)}finalizeDestroy(){Qa(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(Ja(this),Qa(this)):function(t,e){let n=t.cache[e];delete t.factoryManagerCache[e],n&&(delete t.cache[e],n.destroy&&n.destroy())}(this,this.registry.normalize(t)))}ownerInjection(){let t={};return Zi(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return Za(this,this.registry.normalize(t),t)}}function Xa(t,e){return!1!==t.registry.getOption(e,"singleton")}function Ya(t,e){return!1!==t.registry.getOption(e,"instantiate")}function Za(t,e,n){let i=t.factoryManagerCache[e];if(void 0!==i)return i;let r=t.registry.resolve(e);if(void 0===r)return;let s=new il(t,r,n,e);return t.factoryManagerCache[e]=s,s}function Ja(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function Qa(t){t.cache=Ga(null),t.factoryManagerCache=Ga(null)}const tl=Symbol("INIT_FACTORY");function el(t){return t[tl]}function nl(t,e){t[tl]=e}class il{container;owner;class;fullName;normalizedName;madeToString;injections;constructor(t,e,n,i){this.container=t,this.owner=t.owner,this.class=e,this.fullName=n,this.normalizedName=i,this.madeToString=void 0,this.injections=void 0}toString(){return void 0===this.madeToString&&(this.madeToString=this.container.registry.makeToString(this.class,this.fullName)),this.madeToString}create(t){let{container:e}=this;if(e.isDestroyed)throw new Error(`Cannot create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);let n=t?{...t}:{};return Zi(n,e.owner),nl(n,this),this.class.create(n)}}const rl=/^[^:]+:[^:]+$/;class sl{_failSet;resolver;fallback;registrations;_normalizeCache;_options;_resolveCache;_typeOptions;constructor(t={}){this.fallback=t.fallback||null,this.resolver=t.resolver||null,this.registrations=Ga(t.registrations||null),this._normalizeCache=Ga(null),this._resolveCache=Ga(null),this._failSet=new Set,this._options=Ga(null),this._typeOptions=Ga(null)}container(t){return new Ka(this,t)}register(t,e,n={}){let i=this.normalize(t);this._failSet.delete(i),this.registrations[i]=e,this._options[i]=n}unregister(t){let e=this.normalize(t);delete this.registrations[e],delete this._resolveCache[e],delete this._options[e],this._failSet.delete(e)}resolve(t){let e=function(t,e){let n,i=e,r=t._resolveCache[i];return void 0!==r?r:t._failSet.has(i)?void 0:(t.resolver&&(n=t.resolver.resolve(i)),void 0===n&&(n=t.registrations[i]),void 0===n?t._failSet.add(i):t._resolveCache[i]=n,n)}(this,this.normalize(t));return void 0===e&&null!==this.fallback&&(e=this.fallback.resolve(t)),e}describe(t){return null!==this.resolver&&this.resolver.lookupDescription?this.resolver.lookupDescription(t):null!==this.fallback?this.fallback.describe(t):t}normalizeFullName(t){return null!==this.resolver&&this.resolver.normalize?this.resolver.normalize(t):null!==this.fallback?this.fallback.normalizeFullName(t):t}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this.normalizeFullName(t))}makeToString(t,e){return null!==this.resolver&&this.resolver.makeToString?this.resolver.makeToString(t,e):null!==this.fallback?this.fallback.makeToString(t,e):"string"==typeof t?t:t.name??"(unknown class)"}has(t){return!!this.isValidFullName(t)&&function(t,e){return void 0!==t.resolve(e)}(this,this.normalize(t))}optionsForType(t,e){this._typeOptions[t]=e}getOptionsForType(t){let e=this._typeOptions[t];return void 0===e&&null!==this.fallback&&(e=this.fallback.getOptionsForType(t)),e}options(t,e){let n=this.normalize(t);this._options[n]=e}getOptions(t){let e=this.normalize(t),n=this._options[e];return void 0===n&&null!==this.fallback&&(n=this.fallback.getOptions(t)),n}getOption(t,e){let n=this._options[t];if(void 0!==n&&void 0!==n[e])return n[e];let i=t.split(":")[0];return n=this._typeOptions[i],n&&void 0!==n[e]?n[e]:null!==this.fallback?this.fallback.getOption(t,e):void 0}knownForType(t){let e,n,i=Ga(null),r=Object.keys(this.registrations);for(let s of r)s.split(":")[0]===t&&(i[s]=!0);return null!==this.fallback&&(e=this.fallback.knownForType(t)),null!==this.resolver&&this.resolver.knownForType&&(n=this.resolver.knownForType(t)),Object.assign({},e,i,n)}isValidFullName(t){return rl.test(t)}}const ol=Ga(null),al=`${Math.random()}${Date.now()}`.replace(".","");function ll([t]){let e=ol[t];if(e)return e;let[n,i]=t.split(":");return ol[t]=M(`${n}:${i}-${al}`)}const ul=Array.prototype.concat;function cl(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?ul.call(r,e[t]):e[t]),r}function hl(t,e,n,i){if(!0===n)return e;let r=n._getter;if(void 0===r)return e;let s=i[t],o="function"==typeof s?yr(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,u=et(r,a),c=n._setter,h=o._setter;if(l=void 0!==h?void 0!==c?et(c,h):h:c,u!==r||l!==c){let t=n._dependentKeys||[],e=new Yr([...t,{get:u,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,fr(e,Yr)}return e}function dl(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?et(e,r):e}function pl(t){return t?Array.isArray(t)?t:[t]:[]}function fl(t,e,n){return pl(n[t]).concat(pl(e))}function gl(t,e,n){let i=n[t];if(!i)return e;let r=Object.assign({},i),s=!1,o=Object.keys(e);for(let a of o){let t=e[a];"function"==typeof t?(s=!0,r[a]=dl(a,t,i,{})):r[a]=t}return s&&(r._super=W),r}function ml(t,e,n,i,r,s,o){let a;for(let l=0;l{let e=s.indexOf(t);-1!==e&&s.splice(e,1)}))}else yl(e,a,n,i,r,s,o)}function yl(t,e,n,i,r,s,o){let a=cl("concatenatedProperties",e,i,r),l=cl("mergedProperties",e,i,r),u=Object.keys(e);for(let c of u){let u=e[c];if(void 0===u)continue;if(-1===s.indexOf(c)){s.push(c);let e=t.peekDescriptors(c);if(void 0===e){if(!_r(u)){let t=i[c]=r[c];"function"==typeof t&&_l(r,c,t,!1)}}else n[c]=e,o.push(c),e.teardown(r,c,t)}let h="function"==typeof u;if(h){let t=yr(u);if(void 0!==t){n[c]=hl(c,u,t,n),i[c]=void 0;continue}}a&&a.indexOf(c)>=0||"concatenatedProperties"===c||"mergedProperties"===c?u=fl(c,u,i):l&&l.indexOf(c)>-1?u=gl(c,u,i):h&&(u=dl(c,u,i,n)),i[c]=u,n[c]=void 0}}function _l(t,e,n,i){let r=Z(n);if(void 0===r)return;let{observers:s,listeners:o}=r;if(void 0!==s){let n=i?Or:Ar;for(let i of s.paths)n(t,i,null,e,s.sync)}if(void 0!==o){let n=i?Er:Cr;for(let i of o)n(t,i,null,e)}}function vl(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=Ht(t),o=[],a=[];t._super=W,ml(e,s,i,r,t,o,a);for(let l of o){let e=r[l],o=i[l];void 0!==e?("function"==typeof e&&_l(t,l,e,!0),rs(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&is(t,l,o,s)}return s.isPrototypeMeta(t)||Nr(t),t}const bl=new WeakSet;class wl{mixins;properties;ownerConstructor;_without;constructor(t,e){bl.add(this),this.properties=function(t){if(void 0!==t)for(let e of Object.keys(t)){let n=Object.getOwnPropertyDescriptor(t,e);void 0===n.get&&void 0===n.set||Object.defineProperty(t,e,{value:ur(n)})}return t}(e),this.mixins=xl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return no(),new this(t,void 0)}static mixins(t){let e=Wt(t),n=[];return null===e||e.forEachMixins(t=>{t.properties||n.push(t)}),n}reopen(...t){if(0===t.length)return this;if(this.properties){let t=new wl(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(xl(t)),this}apply(t,e=!1){return vl(t,[this],e)}applyPartial(t){return vl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(bl.has(t))return Sl(t,this);let e=Wt(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new wl([this]);return e._without=t,e}keys(){return El(this)}toString(){return"(unknown mixin)"}}function xl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iSl(t,e,n))}function El(t,e=new Set,n=new Set){if(!n.has(t)){if(n.add(t),t.properties){let n=Object.keys(t.properties);for(let t of n)e.add(t)}else t.mixins&&t.mixins.forEach(t=>El(t,e,n));return e}}const Cl=wl.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:kl("register"),unregister:kl("unregister"),hasRegistration:kl("has"),registeredOption:kl("getOption"),registerOptions:kl("options"),registeredOptions:kl("getOptions"),registerOptionsForType:kl("optionsForType"),registeredOptionsForType:kl("getOptionsForType")});function kl(t){return function(...e){return this.__registry__[t](...e)}}const Tl=wl.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&ea(()=>{t.destroy(),ia("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Rl=wl.create({compare:null}),Pl=wl.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=us(this,"target");n&&n.send(...arguments)}});function Il(t){let e=us(t,"content");return ne(er(t),er(e)),e}function Ml(t,e,n){let i=$e(t),r=Ve(t,e,i);if(e in t)return r;{let s=[r,Ve(t,"content",i)],o=Il(t);return O(o)&&s.push(tr(o,e,n)),he(s)}}const Ol=wl.create({content:null,init(){this._super(...arguments),qi(this),er(this),Kn(this,Ml)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:Qr("content",function(){return Boolean(us(this,"content"))}),unknownProperty(t){let e=Il(this);return e?us(e,t):void 0},setUnknownProperty(t,e){let n=Ht(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ns(this,t,null,e),e):bs(Il(this),t,e)}}),Al=wl.create(),Ll=wl.create(Al),Fl=Object.freeze(Object.defineProperty({__proto__:null,default:Ll},Symbol.toStringTag,{value:"Module"})),zl=wl.create({target:null,action:null,actionContext:null,actionContextObject:Qr("actionContext",function(){let t=us(this,"actionContext");if("string"==typeof t){let e=us(this,t);return void 0===e&&(e=us(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:i}=t;e=e||us(this,"action"),n=n||function(t){let e=us(t,"target");if(e){if("string"==typeof e){let n=us(t,e);return void 0===n&&(n=us(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===i&&(i=us(this,"actionContextObject")||this);let r=Array.isArray(i)?i:[i];if(n&&e){let t;if(t=null!=(s=n)&&"object"==typeof s&&"function"==typeof s.send?n.send(e,...r):n[e](...r),!1!==t)return!0}var s;return!1}});function Dl(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const Nl={mixin(t){return t.on=this.on,t.off=this.off,t.trigger=this.trigger,t._promiseCallbacks=void 0,t},on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=Dl(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=Dl(this);if(!e)return void(n[t]=[]);let i=n[t],r=i.indexOf(e);-1!==r&&i.splice(r,1)},trigger(t,e,n){let i=Dl(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?Zl(t,n):Xl(t,n)},e=>Jl(t,e))}(t,e):"function"==typeof n?function(t,e,n){jl.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?Zl(t,n):Xl(t,n))},e=>{i||(i=!0,Jl(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,Jl(t,r))},t)}(t,e,n):Zl(t,e)}function Xl(t,e){if(t===e)Zl(t,e);else if(function(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)){let n;try{n=e.then}catch(Gz){return void Jl(t,Gz)}Kl(t,e,n)}else Zl(t,e)}function Yl(t){t._onError&&t._onError(t._result),tu(t)}function Zl(t,e){t._state===Vl&&(t._result=e,t._state=Wl,0===t._subscribers.length?jl.instrument&&ql("fulfilled",t):jl.async(tu,t))}function Jl(t,e){t._state===Vl&&(t._state=Hl,t._result=e,jl.async(Yl,t))}function Ql(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+Wl]=n,r[s+Hl]=i,0===s&&t._state&&jl.async(tu,t)}function tu(t){let e=t._subscribers,n=t._state;if(jl.instrument&&ql(n===Wl?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;oeu(r,s,n,o))}return s}class iu{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t($l,i),this._abortOnReject=n,this._isUsingOwnPromise=t===au,this._isUsingOwnResolve=t.resolve===Gl,this._init(...arguments)}_init(t,e){let n=e.length||0;this.length=n,this._remaining=n,this._result=new Array(n),this._enumerate(e)}_enumerate(t){let e=this.length,n=this.promise;for(let i=0;n._state===Vl&&ie(t)),e,n)}else this._willSettleAt(i.resolve(t),e,n)}_eachEntry(t,e,n){null!==t&&"object"==typeof t?this._settleMaybeThenable(t,e,n):this._setResultAt(Wl,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===Vl&&(this._abortOnReject&&t===Hl?Jl(r,n):(this._setResultAt(t,e,n,i),this._checkFullfillment()))}_setResultAt(t,e,n,i){this._remaining--,this._result[e]=n}_willSettleAt(t,e,n){Ql(t,void 0,t=>this._settledAt(Wl,e,t,n),t=>this._settledAt(Hl,e,t,n))}}function ru(t,e,n){this._remaining--,this._result[e]=t===Wl?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const su="rsvp_"+Date.now()+"-";let ou=0,au=class t{constructor(e,n){this._id=ou++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],jl.instrument&&ql("created",this),$l!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){let n=!1;try{e(e=>{n||(n=!0,Xl(t,e))},e=>{n||(n=!0,Jl(t,e))})}catch(i){Jl(t,i)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}_onError(t){jl.after(()=>{this._onError&&jl.trigger("error",t,this._label)})}catch(t,e){return this.then(void 0,t,e)}finally(t,e){let n=this,i=n.constructor;return"function"==typeof t?n.then(e=>i.resolve(t()).then(()=>e),e=>i.resolve(t()).then(()=>{throw e})):n.then(t,t)}};function lu(t,e){return{then:(n,i)=>t.call(e,n,i)}}function uu(t,e){let n=function(){let n=arguments.length,i=new Array(n+1),r=!1;for(let t=0;tcu(t,e,n,i))}(s,i,t,this):cu(s,i,t,this)};return n.__proto__=t,n}function cu(t,e,n,i){try{n.apply(i,e)}catch(Gz){Jl(t,Gz)}return t}function hu(t,e){return au.all(t,e)}au.cast=Gl,au.all=function(t,e){return Array.isArray(t)?new iu(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},au.race=function(t,e){let n=this,i=new n($l,e);if(!Array.isArray(t))return Jl(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===Vl&&rXl(i,t),t=>Jl(i,t));return i},au.resolve=Gl,au.reject=function(t,e){let n=new this($l,e);return Jl(n,t),n},au.prototype._guidKey=su,au.prototype.then=nu;class du extends iu{constructor(t,e,n){super(t,e,!1,n)}}function pu(t,e){return Array.isArray(t)?new du(au,t,e).promise:au.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function fu(t,e){return au.race(t,e)}du.prototype._setResultAt=ru;class gu extends iu{constructor(t,e,n=!0,i){super(t,e,n,i)}_init(t,e){this._result={},this._enumerate(e)}_enumerate(t){let e,n,i=Object.keys(t),r=i.length,s=this.promise;this._remaining=r;for(let o=0;s._state===Vl&&o{throw t}),t}function bu(t){let e={resolve:void 0,reject:void 0};return e.promise=new au((t,n)=>{e.resolve=t,e.reject=n},t),e}yu.prototype._setResultAt=ru;class wu extends iu{constructor(t,e,n,i){super(t,e,!0,i,n)}_init(t,e,n,i,r){let s=e.length||0;this.length=s,this._remaining=s,this._result=new Array(s),this._mapFn=r,this._enumerate(e)}_setResultAt(t,e,n,i){if(i)try{this._eachEntry(this._mapFn(n,e),e,!1)}catch(Gz){this._settledAt(Hl,e,Gz,!1)}else this._remaining--,this._result[e]=n}}function xu(t,e,n){return"function"!=typeof e?au.reject(new TypeError("map expects a function as a second argument"),n):au.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new wu(au,t,e,n).promise})}function Su(t,e){return au.resolve(t,e)}function Eu(t,e){return au.reject(t,e)}const Cu={};class ku extends wu{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==Cu);Zl(this.promise,t),this._result=null}}_setResultAt(t,e,n,i){if(i){this._result[e]=n;let t,i=!0;try{t=this._mapFn(n,e)}catch(Gz){i=!1,this._settledAt(Hl,e,Gz,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=Cu)}}function Tu(t,e,n){return"function"!=typeof e?au.reject(new TypeError("filter expects function as a second argument"),n):au.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new ku(au,t,e,n).promise})}let Ru,Pu=0;function Iu(t,e){Du[Pu]=t,Du[Pu+1]=e,Pu+=2,2===Pu&&ju()}const Mu="undefined"!=typeof window?window:void 0,Ou=Mu||{},Au=Ou.MutationObserver||Ou.WebKitMutationObserver,Lu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Fu="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function zu(){return()=>setTimeout(Nu,1)}const Du=new Array(1e3);function Nu(){for(let t=0;tt(Nu)}():Au?function(){let t=0,e=new Au(Nu),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():Fu?function(){let t=new MessageChannel;return t.port1.onmessage=Nu,()=>t.port2.postMessage(0)}():void 0===Mu&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Ru=t.runOnLoop||t.runOnContext,void 0!==Ru?function(){Ru(Nu)}:zu()}catch(t){return zu()}}():zu(),jl.async=Iu,jl.after=t=>setTimeout(t,0);const Uu=Su,Bu=(t,e)=>jl.async(t,e);function qu(){jl.on(...arguments)}function Gu(){jl.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;Ul("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&qu(e,t[e])}const $u={asap:Iu,cast:Uu,Promise:au,EventTarget:Nl,all:hu,allSettled:pu,race:fu,hash:mu,hashSettled:_u,rethrow:vu,defer:bu,denodeify:uu,configure:Ul,on:qu,off:Gu,resolve:Su,reject:Eu,map:xu,async:Bu,filter:Tu},Vu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:Nl,Promise:au,all:hu,allSettled:pu,asap:Iu,async:Bu,cast:Uu,configure:Ul,default:$u,defer:bu,denodeify:uu,filter:Tu,hash:mu,hashSettled:_u,map:xu,off:Gu,on:qu,race:fu,reject:Eu,resolve:Su,rethrow:vu},Symbol.toStringTag,{value:"Module"}));function Wu(t){let e=function(t){if(!t)return;let e=t;return e.errorThrown?function(t){let e=t.errorThrown;return"string"==typeof e&&(e=new Error(e)),Object.defineProperty(e,"__reason_with_error_thrown__",{value:t,enumerable:!1}),e}(e):"UnrecognizedURLError"!==t.name&&"TransitionAborted"!==t.name?t:void 0}(t);if(e)throw e}Ul("async",(t,e)=>{Qo.schedule("actions",null,t,e)}),Ul("after",t=>{Qo.schedule(Zo,null,t)}),qu("error",Wu);const{isArray:Hu}=Array;function Ku(t){return null==t?[]:Hu(t)?t:[t]}function Xu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const Yu=wl.prototype.reopen,Zu=new WeakSet,Ju=new WeakMap,Qu=new Set;function tc(t){Qu.has(t)||t.destroy()}function ec(t,e){let n=Ht(t);if(void 0!==e){let i=t.concatenatedProperties,r=t.mergedProperties,s=Object.keys(e);for(let o of s){let s=e[o],a=mr(t,o,n),l=void 0!==a;if(!l){if(void 0!==i&&i.length>0&&i.includes(o)){let e=t[o];s=e?Ku(e).concat(s):Ku(s)}if(void 0!==r&&r.length>0&&r.includes(o)){let e=t[o];s=Object.assign({},e,s)}}l?a.set(t,o,s):Xu(t)&&!(o in t)?t.setUnknownProperty(o,s):t[o]=s}}t.init(e),n.unsetInitializing();let i=n.observerEvents();if(void 0!==i)for(let r=0;rn.willDestroy()),Ht(e).setInitializing()}reopen(...t){return vl(this,t),this}init(t){}get isDestroyed(){return zt(this)}set isDestroyed(t){}get isDestroying(){return Ft(this)}set isDestroying(t){}destroy(){Qu.add(this);try{At(this)}finally{Qu.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${el(this)||"(unknown)"}:${U(this)}${t}>`}static extend(...t){let e=class extends(this){};return Yu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(Yi(n)),nl(e,el(n))):e=new this,t.length<=1?ec(e,n):ec(e,ic.apply(this,t)),e}static reopen(...t){return this.willReopen(),Yu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;Zu.has(t)&&(Zu.delete(t),Ju.has(this)&&Ju.set(this,wl.create(this.PrototypeMixin)))}static reopenClass(...t){return vl(this,t),this}static detect(t){if("function"!=typeof t)return!1;for(;t;){if(t===this)return!0;t=t.superclass}return!1}static detectInstance(t){return t instanceof this}static metaForProperty(t){return mr(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};Ht(this.prototype).forEachDescriptors((i,r)=>{if(r.enumerable){let s=r._meta||n;t.call(e,i,s)}})}static get PrototypeMixin(){let t=Ju.get(this);return void 0===t&&(t=wl.create(),t.ownerConstructor=this,Ju.set(this,t)),t}static get superclass(){let t=Object.getPrototypeOf(this);return t!==Function.prototype?t:void 0}static proto(){let t=this.prototype;if(!Zu.has(t)){Zu.add(t);let e=this.superclass;e&&e.proto(),Ju.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${el(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function ic(...t){let e={};for(let n of t){let t=Object.keys(n);for(let i=0,r=t.length;is.push(t));return J(e,{paths:s,sync:i}),e},set:bs,setProperties:Ns,trySet:xs},Symbol.toStringTag,{value:"Module"}));function dc(t){if(!(t instanceof MouseEvent))return!1;let e=t.shiftKey||t.metaKey||t.altKey||t.ctrlKey,n=t.which>1;return!e&&!n}function pc(t){return'Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://deprecations.emberjs.com/v1.x/#toc_binding-style-attributes. Style affected: "'+t+'"'}function fc(t){let e=t.lookup("-view-registry:main"),n=[];return Object.keys(e).forEach(t=>{let i=e[t];null===i.parentView&&n.push(i)}),n}function gc(t){return""!==t.tagName&&t.elementId?t.elementId:U(t)}const mc=new WeakMap,yc=new WeakMap;function _c(t){return mc.get(t)||null}function vc(t){return yc.get(t)||null}function bc(t,e){mc.set(t,e)}function wc(t,e){yc.set(t,e)}function xc(t){mc.delete(t)}function Sc(t){yc.delete(t)}const Ec=new WeakMap;function Cc(t){return function(t,e){let n=[],i=Ec.get(t);return void 0!==i&&i.forEach(t=>{let i=e[t];!i||i.isDestroying||i.isDestroyed||n.push(i)}),n}(t,Yi(t).lookup("-view-registry:main"))}function kc(t,e){let n=Ec.get(t);void 0===n&&(n=function(t){let e=new Set;return Ec.set(t,e),e}(t)),n.add(gc(e))}function Tc(t){return t.renderer.getBounds(t)}function Rc(t){let e=Tc(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Pc(t){return Rc(t).getClientRects()}function Ic(t){return Rc(t).getBoundingClientRect()}const Mc="ember-application";class Oc extends ac{events={touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",focusin:"focusIn",focusout:"focusOut",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"};rootElement="body";_eventHandlers=Object.create(null);_didSetup=!1;finalEventNameMapping=null;_sanitizedRootElement=null;lazyEvents=new Map;_reverseEventNameMapping=null;setup(t,e){let n=this.finalEventNameMapping={...us(this,"events"),...t};this._reverseEventNameMapping=Object.keys(n).reduce((t,e)=>{let i=n[e];return i?{...t,[i]:e}:t},{});let i=this.lazyEvents;null!=e&&bs(this,"rootElement",e);let r=us(this,"rootElement"),s="string"!=typeof r?r:document.querySelector(r);s.classList.add(Mc),this._sanitizedRootElement=s;for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&i.set(o,n[o]??null);this._didSetup=!0}setupHandlerForBrowserEvent(t){this.setupHandler(this._sanitizedRootElement,t,this.finalEventNameMapping[t]??null)}setupHandlerForEmberEvent(t){let e=this._reverseEventNameMapping?.[t];e&&this.setupHandler(this._sanitizedRootElement,e,t)}setupHandler(t,e,n){if(null===n||!this.lazyEvents.has(e))return;let i=(t,e)=>{let i=_c(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(_c(e)){if(!1===i(e,t)){t.preventDefault(),t.stopPropagation();break}if(!0===t.cancelBubble)break}e=e.parentNode}while(e instanceof Element)};t.addEventListener(e,r),this.lazyEvents.delete(e)}destroy(){if(!1===this._didSetup)return;let t=this._sanitizedRootElement;if(t){for(let e in this._eventHandlers)t.removeEventListener(e,this._eventHandlers[e]);return t.classList.remove(Mc),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const Ac=wl.create({on(t,e,n){return Er(this,t,e,n),this},one(t,e,n){return Er(this,t,e,n,!0),this},trigger(t,...e){kr(this,t,e)},off(t,e,n){return Cr(this,t,e,n),this},has(t){return Tr(this,t)}}),Lc=Object.freeze(Object.defineProperty({__proto__:null,default:Ac,on:Rr},Symbol.toStringTag,{value:"Module"}));let Fc=class extends ac{},zc=[],Dc={};const Nc=(()=>{let t="undefined"!=typeof window&&window.performance||{},e=t.now||t.mozNow||t.webkitNow||t.msNow||t.oNow;return e?e.bind(t):Date.now})();function jc(t,e,n){return n()}function Uc(){}function Bc(t,e,n){if(0===zc.length)return Uc;let i=Dc[t];if(i||(i=function(t){let e=[];for(let n of zc)n.regex.test(t)&&e.push(n.object);return Dc[t]=e,e}(t)),0===i.length)return Uc;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=Nc();for(let c of i)a.push(c.before(t,l,s));const u=i;return function(){let e=Nc();for(let n=0;na);return l===Uc?s.call(o):function(t,e,n,i){try{return t.call(i)}catch(r){throw n.exception=r,r}finally{e()}}(s,l,a,o)},reset:function(){zc.length=0,Dc={}},subscribe:function(t,e){let n=t.split("."),i=[];for(let o of n)"*"===o?i.push("[^\\.]*"):i.push(o);let r=i.join("\\.");r=`${r}(\\..*)?`;let s={pattern:t,regex:new RegExp(`^${r}$`),object:e};return zc.push(s),Dc={},s},subscribers:zc,unsubscribe:function(t){let e=0;for(let n=0;n!0,rerender(){},destroy(){}}),$c=Object.freeze({...Gc}),Vc=Object.freeze({...Gc,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||jc(0,0,()=>ea(t,t.trigger,e,n))}),Wc=Object.freeze({...Vc,enter(t){t.renderer.register(t)}}),Hc=Object.freeze({...Gc,appendChild(){throw new Error("You can't call appendChild on a view being destroyed")},rerender(){throw new Error("You can't call rerender on a view being destroyed")}}),Kc=Object.freeze({preRender:$c,inDOM:Wc,hasElement:Vc,destroying:Hc});var Xc=Object.defineProperty;((t,e)=>{for(var n in e)Xc(t,n,{get:e[n],enumerable:!0})})({},{c:()=>nh,f:()=>Zc,g:()=>Jc,i:()=>eh,m:()=>Qc,n:()=>th,p:()=>ih});var Yc=new WeakMap;function Zc(t,e,n,i){return Jc(t.prototype,e,n,i)}function Jc(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=Yc.get(t);i||(i=new Map,Yc.set(t,i)),i.set(e,n)}(t,e,r)}function Qc({prototype:t},e,n){return th(t,e,n)}function th(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function eh(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Yc.get(n)?.get(e);if(t)return t;n=n.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}function nh(t,e){return e.reduce((t,e)=>e(t)||t,t)}function ih(t,e){for(let[n,i,r]of e)"field"===n?rh(t,i,r):th(t,i,r);return t}function rh(t,e,n){let i={configurable:!0,enumerable:!0,writable:!0,initializer:()=>Object.getOwnPropertyDescriptor(t,e)?.value};for(let r of n)i=r(t,e,i)||i;i.initializer&&(i.value=i.initializer.call(t),delete i.initializer),Object.defineProperty(t,e,i)}class sh extends(Fc.extend(Ac,Pl)){isView=!0;_superTrigger;_superHas;init(t){super.init(t),this._superTrigger=this.trigger,this.trigger=this._trigger,this._superHas=this.has,this.has=this._has,this.parentView??=null,this._state="preRender",this._currentState=this._states.preRender}static{Jc(this.prototype,"renderer",[ms("renderer","-dom")])}#l=void eh(this,"renderer");instrumentDetails(t){return t.object=this.toString(),t.containerKey=this._debugContainerKey,t.view=this,t}_trigger(t,...e){this._superTrigger(t,...e);let n=this[t];if("function"==typeof n)return n.apply(this,e)}_has(t){return"function"==typeof this[t]||this._superHas(t)}static isViewFactory=!0}sh.prototype._states=Kc;const oh=wl.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let i=us(this,"target");i&&i.send(...arguments)}}),ah={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object AsyncFunction]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},{toString:lh}=Object.prototype;function uh(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=ah[lh.call(t)]||"object";return"function"===e?nc.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof nc?e="instance":t instanceof Date&&(e="date")),e}const ch={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10,regexp:11,filelist:12,error:13};function hh(t,e){return Math.sign(t-e)}function dh(t,e){if(t===e)return 0;let n=uh(t),i=uh(e);if("instance"===n&&ph(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&ph(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=hh(ch[n],ch[i]);if(0!==r)return r;switch(n){case"boolean":return hh(Number(t),Number(e));case"number":return hh(t,e);case"string":return hh(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function mh(t,e=gh){let n=Oh(),i=new Set,r="function"==typeof e?e:t=>us(t,e);return t.forEach(t=>{let e=r(t);i.has(e)||(i.add(e),n.push(t))}),n}function yh(...t){let e=2===t.length,[n,i]=t;return e?t=>i===us(t,n):t=>Boolean(us(t,n))}function _h(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function xh(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),_h(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Sh(t,e,n){return Ms(t,e,n??1,fh),t}function Eh(t,e,n){return Ms(t,e,0,[n]),n}function Ch(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||Rh.detect(t))return!0;let e=uh(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function kh(t){let e=Qr(t);return e.enumerable=!1,e}function Th(t){return this.map(e=>us(e,t))}const Rh=wl.create(Al,{init(){this._super(...arguments),Gi.add(this)},objectsAt(t){return t.map(t=>Ji(this,t))},"[]":kh({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:kh(function(){return Ji(this,0)}).readOnly(),lastObject:kh(function(){return Ji(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=Oh(),r=this.length;for(t<0&&(t=r+t),n=void 0===e||e>r?r:e<0?r+e:e;t=n)&&(e=n-1),e<0&&(e+=n);for(let i=e;i>=0;i--)if(Ji(this,i)===t)return i;return-1},forEach(t,e=null){let n=this.length;for(let i=0;ibs(n,t,e))},map(t,e=null){let n=Oh();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:Th,filter(t,e=null){let n=Oh();return this.forEach((i,r,s)=>{t.call(e,i,r,s)&&n.push(i)}),n},reject(t,e=null){return this.filter(function(){return!t.apply(e,arguments)})},filterBy(){return this.filter(yh(...arguments))},rejectBy(){return this.reject(yh(...arguments))},find(t,e=null){return vh(this,t,e)},findBy(){return vh(this,yh(...arguments))},every(t,e=null){return wh(this,t,e)},isEvery(){return wh(this,yh(...arguments))},any(t,e=null){return bh(this,t,e)},isAny(){return bh(this,yh(...arguments))},reduce(t,e){let n=e;return this.forEach(function(e,i){n=t(n,e,i,this)},this),n},invoke(t,...e){let n=Oh();return this.forEach(i=>n.push(i[t]?.(...e))),n},toArray(){return this.map(t=>t)},compact(){return this.filter(t=>null!=t)},includes(t,e){return-1!==xh(this,t,e,!0)},sortBy(){let t=arguments;return this.toArray().sort((e,n)=>{for(let i=0;ie!==t:t=>t==t;return this.filter(e)}}),Ph=wl.create(Rh,Ll,{clear(){let t=this.length;return 0===t||this.replace(0,t,fh),this},insertAt(t,e){return Eh(this,t,e),this},removeAt(t,e){return Sh(this,t,e)},pushObject(t){return Eh(this,this.length,t)},pushObjects(t){return this.replace(this.length,0,t),this},popObject(){let t=this.length;if(0===t)return null;let e=Ji(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=Ji(this,0);return this.removeAt(0),t},unshiftObject(t){return Eh(this,0,t)},unshiftObjects(t){return this.replace(0,0,t),this},reverseObjects(){let t=this.length;if(0===t)return this;let e=this.toArray().reverse();return this.replace(0,t,e),this},setObjects(t){if(0===t.length)return this.clear();let e=this.length;return this.replace(0,e,t),this},removeObject(t){let e=this.length||0;for(;--e>=0;)Ji(this,e)===t&&this.removeAt(e);return this},removeObjects(t){Wr();for(let e=t.length-1;e>=0;e--)this.removeObject(t[e]);return Hr(),this},addObject(t){return this.includes(t)||this.pushObject(t),this},addObjects(t){return Wr(),t.forEach(t=>this.addObject(t)),Hr(),this}});let Ih=wl.create(Ph,sc,{objectAt(t){return this[t]},replace(t,e,n=fh){return As(this,t,e,n),this}});const Mh=["length"];let Oh;Ih.keys().forEach(t=>{Array.prototype[t]&&Mh.push(t)}),Ih=Ih.without(...Mh),Oh=function(t){return $i(t)?t:Ih.apply(t??[])};const Ah=Object.freeze(Object.defineProperty({__proto__:null,get A(){return Oh},MutableArray:Ph,get NativeArray(){return Ih},default:Rh,isArray:Ch,makeArray:Ku,removeAt:Sh,uniqBy:mh},Symbol.toStringTag,{value:"Module"})),Lh=ct("MODEL"),Fh=wl.create(Pl,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=Yi(this);t&&(this.namespace=t.lookup("application:main"),this.target=t.lookup("router:main"))},model:Qr({get(){return this[Lh]},set(t,e){return this[Lh]=e}}),queryParams:null,_qpDelegate:null,_qpChanged(t,e){let n=e.indexOf(".[]"),i=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(i,us(t,i))}});class zh extends(Fc.extend(Fh)){}const Dh=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:Fh,default:zh,inject:function(...t){return ms("controller",...t)}},Symbol.toStringTag,{value:"Module"})),Nh=Symbol("ENGINE_PARENT");function jh(t){return t[Nh]}class Uh extends(ac.extend(Cl,Tl)){static setupRegistry(t,e){}[Nh];_booted=!1;init(t){super.init(t),U(this),this.base??=this.application;let e=this.__registry__=new sl({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new Vu.Promise(e=>{e(this._bootSync(t))})),this._bootPromise}_bootSync(t){return this._booted||(this.cloneParentDependencies(),this.setupRegistry(t),this.base.runInstanceInitializers(this),this._booted=!0),this}setupRegistry(t=this.__container__.lookup("-environment:main")){this.constructor.setupRegistry(this.__registry__,t)}unregister(t){this.__container__.reset(t),this.__registry__.unregister(t)}buildChildEngineInstance(t,e={}){let n=this.lookup(`engine:${t}`);if(!n)throw new Error(`You attempted to mount the engine '${t}', but it is not registered with its parent.`);let i=n.buildInstance(e);return i[Nh]=this,i}cloneParentDependencies(){const t=jh(this);["route:basic","service:-routing"].forEach(e=>{let n=t.resolveRegistration(e);this.register(e,n)});let e=t.lookup("-environment:main");this.register("-environment:main",e,{instantiate:!1});let n=["router:main",ll`-bucket-cache:main`,"-view-registry:main","renderer:-dom","service:-document"];e.isInteractive&&n.push("event_dispatcher:main"),n.forEach(e=>{let n=t.lookup(e);this.register(e,n,{instantiate:!1})})}}let Bh=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=Ve(this,e),r=Me(()=>{t=i.call(this)});return ne(n,r),Se(r),t}),n};function qh(...t){if(lr(t)){let[e,n,i]=t;return Bh(0,n,i)}{const e=t[0];let n=function(t,n){return Bh(0,n,e)};return vr(n),n}}vr(qh);var Gh=Object.create;function $h(){var t=Gh(null);return t.__=void 0,delete t.__,t}var Vh=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};Vh.prototype.to=function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}};var Wh=function(t){this.routes=$h(),this.children=$h(),this.target=t};function Hh(t,e,n){return function(i,r){var s=t+i;if(!r)return new Vh(s,e,n);r(Hh(s,e,n))}}function Kh(t,e,n){for(var i=0,r=0;r0&&47===e.charCodeAt(0)&&(e=e.substr(1));for(var i=e.split("/"),r=void 0,s=void 0,o=0;o2&&"[]"===s.slice(o-2)&&(a=!0,n[s=s.slice(0,o-2)]||(n[s]=[])),l=r[1]?md(r[1]):""),a?n[s].push(l):n[s]=l}return n},yd.prototype.recognize=function(t){var e,n=[this.rootState],i={},r=!1,s=t.indexOf("#");-1!==s&&(t=t.substr(0,s));var o=t.indexOf("?");if(-1!==o){var a=t.substr(o+1,t.length);t=t.substr(0,o),i=this.parseQueryString(a)}"/"!==t.charAt(0)&&(t="/"+t);var l=t;yd.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Yh(t):(t=decodeURI(t),l=decodeURI(l));var u=t.length;u>1&&"/"===t.charAt(u-1)&&(t=t.substr(0,u-1),l=l.substr(0,l.length-1),r=!0);for(var c=0;c0){let r=t[i-1];if(function(t){if(t&&"object"==typeof t){let e=t;return"queryParams"in e&&Object.keys(e.queryParams).every(t=>"string"==typeof t)}return!1}(r))return n=r.queryParams,e=bd.call(t,0,i-1),[e,n]}return[t,null]}function Ed(t){for(let e in t){let n=t[e];if("number"==typeof n)t[e]=""+n;else if(Array.isArray(n))for(let t=0,e=n.length;t{throw this.router.transitionDidError(t,this)},Id("Handle Abort"))}else this.promise=au.resolve(this[Md]),this[Od]={}}then(t,e,n){return this.promise.then(t,e,n)}catch(t,e){return this.promise.catch(t,e)}finally(t,e){return this.promise.finally(t,e)}abort(){this.rollback();let t=new Fd(this.router,void 0,void 0,void 0);return t.to=this.from,t.from=this.from,t.isAborted=!0,this.router.routeWillChange(t),this.router.routeDidChange(t),this}rollback(){this.isAborted||(Cd(this.router,this.sequence,this.targetName+": transition was aborted"),void 0!==this.intent&&null!==this.intent&&(this.intent.preTransitionState=this.router.state),this.isAborted=!0,this.isActive=!1,this.router.activeTransition=void 0)}redirect(t){this[Ld]=t,this.rollback(),this.router.routeWillChange(t)}retry(){this.abort();let t=this.router.transitionByIntent(this.intent,!1);return null!==this.urlMethod&&t.method(this.urlMethod),t}method(t){return this.urlMethod=t,this}send(t=!1,e,n,i,r){this.trigger(t,e,n,i,r)}trigger(t=!1,e,...n){"string"==typeof t&&(e=t,t=!1),this.router.triggerEvent(this[Md].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[Ld]?this[Ld].followRedirects():au.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){Cd(this.router,this.sequence,t)}}function zd(t){return Cd(t.router,t.sequence,"detected abort."),_d()}function Dd(t){return"object"==typeof t&&t instanceof Fd&&t.isTransition}const Nd=function(){function t(e){let n=Error.call(this,e);this.name="UnrecognizedURLError",this.message=e||"UnrecognizedURL",Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=n.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function jd(t,e){let n=t.factoryFor("controller:basic").class;n=class extends n{toString(){return`(generated ${e} controller)`}};let i=`controller:${e}`;return t.register(i,n),t.factoryFor(i)}function Ud(t,e){jd(t,e);let n=`controller:${e}`;return t.lookup(n)}const Bd=/\./g;function qd(t){let e,n,i=(t=t.slice())[t.length-1];return function(t){if(t&&"object"==typeof t){let e=t.queryParams;if(e&&"object"==typeof e)return Object.keys(e).every(t=>"string"==typeof t)}return!1}(i)?(t.pop(),e=i.queryParams):e={},"string"==typeof t[0]&&(n=t.shift()),{routeName:n,models:t,queryParams:e}}function Gd(t,e){if(e._namesStashed)return;let n,i=e[e.length-1].name,r=t._routerMicrolib.recognizer.handlersFor(i);for(let s=0;s(t[e]=n,t),s)}serializeQueryParamKey(t){return t}serializeQueryParam(t,e,n){return this._router._serializeQueryParam(t,n)}deserializeQueryParam(t,e,n){return this._router._deserializeQueryParam(t,n)}_optionsForQueryParam(t){const e=us(this,"queryParams");return us(e,t.urlKey)||us(e,t.prop)||e[t.urlKey]||e[t.prop]||{}}resetController(t,e,n){return this}exit(t){this.deactivate(t),this.trigger("deactivate",t),this.teardownViews()}_internalReset(t,e){let n=this.controller;n._qpDelegate=us(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Yd]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,i=Yi(t),r=i.mountPoint;if(i.routable&&"string"==typeof e[0]){if(n=e[0],Hd(n))throw new Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.");n=`${r}.${n}`,e[0]=n}return e}(this,t);this._router.intermediateTransitionTo(e,...n)}refresh(){return this._router._routerMicrolib.refresh(this)}setup(t,e){let n=this.controllerName||this.routeName,i=this.controllerFor(n,!0)??this.generateController(n),r=us(this,"_qp");if(!this.controller){let t=r.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===mr(t,e)){let n=it(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ns(t,e,qh({get:n.get,set:n.set}))}Or(t,`${e}.[]`,t,t._qpChanged,!1)})}(i,t),this.controller=i}let s=r.states;if(i._qpDelegate=s.allowOverrides,e){Gd(this._router,e[Md].routeInfos);let t=this._bucketCache,n=e[Od];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=Vd(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);bs(i,e,a)});let s=tp(this,e[Md]);Ns(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Xd](),Ur(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=Vd(n.route.fullRouteName,n.parts,n.values);i.stash(r,t,e)}beforeModel(t){}afterModel(t,e){}redirect(t,e){}contextDidChange(){this.currentModel=this.context}model(t,e){let n,i,r=us(this,"_qp").map;for(let s in t){if("queryParams"===s||r&&s in r)continue;let t=s.match(/^(.*)_id$/);null!==t&&(n=t[1]),i=!0}if(!n){if(i)return Object.assign({},t);if(e.resolveIndex<1)return;return e[Md].routeInfos[e.resolveIndex-1].context}}deserialize(t,e){return this.model(this._paramsFor(this.routeName,t),e)}setupController(t,e,n){t&&void 0!==e&&bs(t,"model",e)}controllerFor(t,e=!1){let n=Yi(this),i=n.lookup(`route:${t}`);return i&&i.controllerName&&(t=i.controllerName),n.lookup(`controller:${t}`)}generateController(t){return Ud(Yi(this),t)}modelFor(t){let e,n=Yi(this),i=this._router&&this._router._routerMicrolib?this._router._routerMicrolib.activeTransition:void 0;e=n.routable&&void 0!==i?np(n,t):t;let r=n.lookup(`route:${e}`);if(null!=i){let t=r&&r.routeName||e;if(Object.prototype.hasOwnProperty.call(i.resolvedModels,t))return i.resolvedModels[t]}return r?.currentModel}[Yd]=void 0;[Xd](){this[Yd]=function(t){let e,n=Yi(t),i=t.routeName,r=n.lookup(`controller:${t.controllerName||i}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||i}`);return e=o?xi(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:i,controller:r,model:s,template:e}}(this),ra(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Yd]&&(this[Yd]=void 0,ra(this._router,"_setOutlets"))}buildRouteInfoMetadata(){}_paramsFor(t,e){return void 0!==this._router._routerMicrolib.activeTransition?this.paramsFor(t):e}get _store(){const t=Yi(this);return this.routeName,{find(e,n){let i=t.factoryFor(`model:${e}`);if(i)return i=i.class,i.find(n)}}}static{th(this.prototype,"_store",[Qr])}get _qp(){let t={},e=this.controllerName||this.routeName,n=Yi(this),i=n.lookup(`controller:${e}`),r=us(this,"queryParams"),s=Object.keys(r).length>0;i?t=function(t,e){let n={},i={defaultValue:!0,type:!0,scope:!0,as:!0};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]={...t[r],...e[r]},i[r]=!0);for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!i[r]&&(n[r]={...e[r],...t[r]});return n}(function(t){let e={};for(let n of t)Wd(n,e);return e}(us(i,"queryParams")||[]),r):s&&(i=Ud(n,e),t=r);let o=[],a={},l=[];for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;if("unknownProperty"===u||"_super"===u)continue;let n,r=t[u],s=r.scope||"model";"controller"===s&&(n=[]);let c=r.as||this.serializeQueryParamKey(u),h=us(i,u);h=ep(h);let d=r.type||uh(h),p=this.serializeQueryParam(h,c,d),f=`${e}:${u}`,g={undecoratedDefaultValue:us(i,u),defaultValue:h,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:c,prop:u,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[u]=a[c]=a[f]=g,o.push(g),l.push(u)}return{qps:o,map:a,propertyNames:l,states:{inactive:(t,e)=>{let n=a[t];this._qpChanged(t,e,n)},active:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._activeQPChanged(n,e)},allowOverrides:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._updatingQPChanged(n)}}}}static{th(this.prototype,"_qp",[Qr])}}function Jd(t){return t[Yd]}function Qd(t,e){if(e.fullQueryParams)return e.fullQueryParams;let n=e.routeInfos.every(t=>t.route),i={...e.queryParams};return t._deserializeQueryParams(e.routeInfos,i),n&&(e.fullQueryParams=i),i}function tp(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,i=e.queryParamsFor[n];if(i)return i;let r=Qd(t._router,e),s=e.queryParamsFor[n]={},o=us(t,"_qp").qps;for(let a of o){let t=a.prop in r;s[a.prop]=t?r[a.prop]:ep(a.defaultValue)}return s}function ep(t){return Array.isArray(t)?Oh(t.slice()):t}function np(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const ip=Zd.prototype.serialize;Zd.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!v())this._router.send(...t);else{let e=t.shift(),n=this.actions[e];if(n)return n.apply(this,t)}},actions:{queryParamsDidChange(t,e,n){let i=us(this,"_qp").map,r=Object.keys(t).concat(Object.keys(n));for(let s of r){let t=i[s];if(t&&us(this._optionsForQueryParam(t),"refreshModel")&&this._router.currentState){this.refresh();break}}return!0},finalizeQueryParamChange(t,e,n){if("application"!==this.fullRouteName)return!0;if(!n)return;let i,r=n[Md].routeInfos,s=this._router,o=s._queryParamsFor(r),a=s._qpUpdates,l=!1;Gd(s,r);for(let u of o.qps){let r,s,o=u.route,c=o.controller,h=u.urlKey in t&&u.urlKey;if(a.has(u.urlKey)?(r=us(c,u.prop),s=o.serializeQueryParam(r,u.urlKey,u.type)):h?(s=t[h],void 0!==s&&(r=o.deserializeQueryParam(s,u.urlKey,u.type))):(s=u.serializedDefaultValue,r=ep(u.defaultValue)),c._qpDelegate=us(o,"_qp").states.inactive,s!==u.serializedValue){if(n.queryParamsOnly&&!1!==i){let t=us(o._optionsForQueryParam(u),"replace");t?i=!0:!1===t&&(i=!1)}bs(c,u.prop,r),l=!0}u.serializedValue=s,u.serializedDefaultValue===s||e.push({value:s,visible:!0,key:h||u.urlKey})}!0===l&&Ur(!1),i&&n.method("replace"),o.qps.forEach(t=>{let e=us(t.route,"_qp");t.route.controller._qpDelegate=us(e,"states.active")}),s._qpUpdates.clear()}}});class rp{cache;constructor(){this.cache=new Map}has(t){return this.cache.has(t)}stash(t,e,n){let i=this.cache.get(t);void 0===i&&(i=new Map,this.cache.set(t,i)),i.set(e,n)}lookup(t,e,n){if(!this.has(t))return n;let i=this.cache.get(t);return i.has(e)?i.get(e):n}}let sp=0;function op(t){return"function"==typeof t}class ap{parent;matches;enableLoadingSubstates;explicitIndex=!1;options;constructor(t=null,e){this.parent=t,this.enableLoadingSubstates=Boolean(e&&e.enableLoadingSubstates),this.matches=[],this.options=e}route(t,e,n){let i,r=null,s=`/_unused_dummy_error_path_route_${t}/:error`;if(op(e)?(i={},r=e):op(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(up(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),up(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=lp(this,t,i.resetNamespace),n=new ap(e,this.options);up(n,"loading"),up(n,"error",{path:s}),r.call(n),up(this,t,i,n.generate())}else up(this,t,i)}push(t,e,n,i){let r=e.split(".");if(this.options.engineInfo){let t=e.slice(this.options.engineInfo.fullName.length+1),n=Object.assign({localFullName:t},this.options.engineInfo);i&&(n.serializeMethod=i),this.options.addRouteForEngine(e,n)}else if(i)throw new Error(`Defining a route serializer on route '${e}' outside an Engine is not allowed.`);""!==t&&"/"!==t&&"index"!==r[r.length-1]||(this.explicitIndex=!0),this.matches.push(t,e,n)}generate(){let t=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),e=>{for(let n=0;n0){let r=Object.assign({},n);return this.emberRouter._prepareQueryParams(t,e,r),Kd(r,i.queryParams)}return!0}}let hp=new WeakMap;function dp(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const i=new WeakMap;return t.map((r,s)=>{let{name:o,params:a,paramNames:l,context:u,route:c}=r,h=r;if(hp.has(h)&&n.includeAttributes){let t=hp.get(h);t=function(t,e){let n={get metadata(){return fp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(c,t);let e=pp(t,u);return i.set(h,t),n.localizeMapUpdates||hp.set(h,e),e}const d=n.localizeMapUpdates?i:hp;let p={find(e,n){let i,r=[];3===e.length&&(r=t.map(t=>d.get(t)));for(let s=0;t.length>s;s++)if(i=d.get(t[s]),e.call(n,i,s,r))return i},get name(){return o},get paramNames(){return l},get metadata(){return fp(r.route)},get parent(){let e=t[s-1];return void 0===e?null:d.get(e)},get child(){let e=t[s+1];return void 0===e?null:d.get(e)},get localName(){let t=this.name.split(".");return t[t.length-1]},get params(){return a},get queryParams(){return e}};return n.includeAttributes&&(p=pp(p,u)),i.set(r,p),n.localizeMapUpdates||hp.set(r,p),p})}function pp(t,e){let n={get attributes(){return e}};return!Object.isExtensible(t)||t.hasOwnProperty("attributes")?Object.freeze(Object.assign({},t,n)):Object.assign(t,n)}function fp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class gp{constructor(t,e,n,i){this._routePromise=void 0,this._route=null,this.params={},this.isResolved=!1,this.name=e,this.paramNames=n,this.router=t,i&&this._processRoute(i)}getModel(t){return au.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return au.resolve(this.routePromise).then(e=>(vd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>vd(t)).then(()=>this.getModel(t)).then(e=>(vd(t),e)).then(e=>this.runAfterModelHook(t,e)).then(e=>this.becomeResolved(t,e))}becomeResolved(t,e){let n,i=this.serialize(e);t&&(this.stashResolvedModel(t,e),t[Od]=t[Od]||{},t[Od][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=hp.get(this),o=new mp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&hp.set(o,s),o}shouldSupersede(t){if(!t)return!0;let e=t.context===this.context;return t.name!==this.name||"context"in this&&!e||this.hasOwnProperty("params")&&!function(t,e){if(t===e)return!0;if(!t||!e)return!1;for(let n in t)if(t.hasOwnProperty(n)&&t[n]!==e[n])return!1;return!0}(this.params,t.params)}get route(){return null!==this._route?this._route:this.fetchRoute()}set route(t){this._route=t}get routePromise(){return this._routePromise||this.fetchRoute(),this._routePromise}set routePromise(t){this._routePromise=t}log(t,e){t.log&&t.log(this.name+": "+e)}updateRoute(t){return t._internalName=this.name,this.route=t}runBeforeModelHook(t){let e;return t.trigger&&t.trigger(!0,"willResolveModel",t,this.route),this.route&&void 0!==this.route.beforeModel&&(e=this.route.beforeModel(t)),Dd(e)&&(e=null),au.resolve(e)}runAfterModelHook(t,e){let n,i=this.name;var r;return this.stashResolvedModel(t,e),void 0!==this.route&&void 0!==this.route.afterModel&&(n=this.route.afterModel(e,t)),n=Dd(r=n)?null:r,au.resolve(n).then(()=>t.resolvedModels[i])}stashResolvedModel(t,e){t.resolvedModels=t.resolvedModels||{},t.resolvedModels[this.name]=e}fetchRoute(){let t=this.router.getRoute(this.name);return this._processRoute(t)}_processRoute(t){return this.routePromise=au.resolve(t),null!==(e=t)&&"object"==typeof e&&"function"==typeof e.then?(this.routePromise=this.routePromise.then(t=>this.updateRoute(t)),this.route=void 0):t?this.updateRoute(t):void 0;var e}}class mp extends gp{constructor(t,e,n,i,r,s){super(t,e,n,r),this.params=i,this.isResolved=!0,this.context=s}resolve(t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),au.resolve(this)}}class yp extends gp{constructor(t,e,n,i,r){super(t,e,n,r),this.params={},i&&(this.params=i)}getModel(t){let e=this.params;t&&t[Ad]&&(e={},xd(e,this.params),e.queryParams=t[Ad]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&Dd(n)&&(n=void 0),au.resolve(n)}}class _p extends gp{constructor(t,e,n,i){super(t,e,n),this.context=i,this.serializer=this.router.getSerializer(e)}getModel(t){return void 0!==this.router.log&&this.router.log(this.name+": resolving provided model"),super.getModel(t)}serialize(t){let{paramNames:e,context:n}=this;t||(t=n);let i={};if(kd(t))return i[e[0]]=t,i;if(this.serializer)return this.serializer.call(null,t,e);if(void 0!==this.route&&this.route.serialize)return this.route.serialize(t,e);if(1!==e.length)return;let r=e[0];return/_id$/.test(r)?i[r]=t.id:i[r]=t,i}}class vp{constructor(t,e={}){this.router=t,this.data=e}}function bp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Ep(n,t.routeInfos[r].route,s,t)}function wp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=xp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function xp(t,e,n){let i=t.routeInfos[e.resolveIndex].isResolved;if(t.routeInfos[e.resolveIndex++]=n,!i){let{route:t}=n;void 0!==t&&t.redirect&&t.redirect(n.context,e)}return vd(e),wp(t,e)}class Sp{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return Td(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),Id("'"+e+"': "+t)}resolve(t){let e=this.params;Td(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=wp.bind(null,this,t),i=bp.bind(null,this,t);return au.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Ep{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class Cp extends vp{constructor(t,e,n,i=[],r={},s){super(t,s),this.preTransitionState=void 0,this.name=e,this.pivotHandler=n,this.contexts=i,this.queryParams=r}applyToState(t,e){let n=this.router.recognizer.handlersFor(this.name),i=n[n.length-1].handler;return this.applyToHandlers(t,n,i,e,!1)}applyToHandlers(t,e,n,i,r){let s,o,a=new Sp,l=this.contexts.slice(0),u=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],c=o.handler,h=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=u?this.createParamHandlerInfo(c,o.names,l,h):this.getHandlerInfoForDynamicSegment(c,o.names,l,h,n,s):this.createParamHandlerInfo(c,o.names,l,h),r){d=d.becomeResolved(null,d.context);let t=h&&h.context;o.names.length>0&&void 0!==h.context&&d.context===t&&(d.params=h&&h.params),d.context=t}let p=h;(s>=u||d.shouldSupersede(h))&&(u=Math.min(s,u),p=d),i&&!r&&(p=p.becomeResolved(null,p.context)),a.routeInfos.unshift(p)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(a.routeInfos,u),xd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&xd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],kd(o))return this.createParamHandlerInfo(t,e,n,i);n.pop()}else{if(i&&i.name===t)return i;if(!this.preTransitionState)return i;{let t=this.preTransitionState.routeInfos[s];o=null==t?void 0:t.context}}return new _p(this.router,t,e,o)}createParamHandlerInfo(t,e,n,i){let r={},s=e.length,o=[];for(;s--;){let a=i&&t===i.name&&i.params||{},l=n[n.length-1],u=e[s];kd(l)?r[u]=""+n.pop():a.hasOwnProperty(u)?r[u]=a[u]:o.push(u)}if(o.length>0)throw new Error(`You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route ${t}. Missing params: ${o}`);return new yp(this.router,t,e,r)}}class kp extends vp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Sp,r=this.router.recognizer.recognize(this.url);if(!r)throw new Nd(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new Nd(o);return t}for(e=0,n=r.length;e=0&&i;--n){let r=e[n],s=r.handler;t.add(e,{as:s}),i="/"===r.path||""===r.path||".index"===s.slice(-6)}})}hasRoute(t){return this.recognizer.hasRoute(t)}queryParamsTransition(t,e,n,i){if(this.fireQueryParamDidChange(i,t),!e&&this.activeTransition)return this.activeTransition;{let t=new Fd(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[Ad]=i.queryParams,this.toReadOnlyInfos(t,i),this.routeWillChange(t),t.promise=t.promise.then(e=>(t.isAborted||(this._updateURL(t,n),this.didTransition(this.currentRouteInfos),this.toInfos(t,i.routeInfos,!0),this.routeDidChange(t)),e),null,Id("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(n){return new Fd(this,t,void 0,n,void 0)}}recognize(t){let e=new kp(this,t),n=this.generateNewState(e);if(null===n)return n;let i=dp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new kp(this,t),n=this.generateNewState(e);if(null===n)return au.reject(`URL ${t} was not recognized`);let i=new Fd(this,e,n,void 0);return i.then(()=>{let t=dp(n.routeInfos,i[Ad],{includeAttributes:!0,localizeMapUpdates:!1});return t[t.length-1]})}generateNewState(t){try{return t.applyToState(this.state,!1)}catch(e){return null}}getTransitionByIntent(t,e){let n,i=!!this.activeTransition,r=i?this.activeTransition[Md]:this.state,s=t.applyToState(r,e),o=Rd(r.queryParams,s.queryParams);if(Rp(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new Fd(this,void 0,void 0)}if(e){let t=new Fd(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new Fd(this,t,s,void 0,this.activeTransition),function(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;nthis.finalizeTransition(n,t),null,Id("Settle transition promise when transition is finalized")),i||this.notifyExistingHandlers(s,n),this.fireQueryParamDidChange(s,o),n}doTransition(t,e=[],n=!1){let i,r=e[e.length-1],s={};if(r&&Object.prototype.hasOwnProperty.call(r,"queryParams")&&(s=e.pop().queryParams),void 0===t){Cd(this,"Updating query params");let{routeInfos:t}=this.state;i=new Cp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(Cd(this,"Attempting URL transition to "+t),i=new kp(this,t)):(Cd(this,"Attempting transition to "+t),i=new Cp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{Cd(t.router,t.sequence,"Resolved all models on destination route; finalizing transition.");let n=e.routeInfos;return this.setupContexts(e,t),t.isAborted?(this.state.routeInfos=this.currentRouteInfos,au.reject(zd(t))):(this._updateURL(t,e),t.isActive=!1,this.activeTransition=void 0,this.triggerEvent(this.currentRouteInfos,!0,"didTransition",[]),this.didTransition(this.currentRouteInfos),this.toInfos(t,e.routeInfos,!0),this.routeDidChange(t),Cd(this,t.sequence,"TRANSITION COMPLETE."),n[n.length-1].route)}catch(i){if("object"!=typeof(n=i)||null===n||"TRANSITION_ABORTED"!==n.code){let e=t[Md].routeInfos;t.trigger(!0,"error",i,t,e[e.length-1].route),t.abort()}throw i}var n}setupContexts(t,e){let n,i,r,s=this.partitionRoutes(this.state,t);for(n=0,i=s.exited.length;n=0;--o){let t=i[o];xd(s,t.params),t.route.inaccessibleByURL&&(n=null)}if(n){s.queryParams=t._visibleQueryParams||e.queryParams;let i=this.recognizer.generate(r,s),o=t.isCausedByInitialTransition,a="replace"===n&&!t.isCausedByAbortingTransition,l=t.queryParamsOnly&&"replace"===n,u="replace"===n&&t.isCausedByAbortingReplaceTransition;o||a||l||u?this.replaceURL(i):this.updateURL(i)}}finalizeQueryParamChange(t,e,n){for(let s in e)e.hasOwnProperty(s)&&null===e[s]&&delete e[s];let i=[];this.triggerEvent(t,!0,"finalizeQueryParamChange",[e,i,n]),n&&(n._visibleQueryParams={});let r={};for(let s=0,o=i.length;s0){let n=dp(e,Object.assign({},this._lastQueryParams),{includeAttributes:!0,localizeMapUpdates:!1});t.from=n[n.length-1]||null}}toInfos(t,e,n=!1){if(void 0!==t&&e.length>0){let i=dp(e,Object.assign({},t[Ad]),{includeAttributes:n,localizeMapUpdates:!1});t.to=i[i.length-1]||null}}notifyExistingHandlers(t,e){let n,i,r,s,o=this.state.routeInfos;for(i=o.length,n=0;n{t.setURL(n),bs(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,i,r){return Np.bind(e)(t,n,i,r)}routeWillChange(t){e.trigger("routeWillChange",t),e._routerService.trigger("routeWillChange",t),t.isIntermediate&&e.set("currentRoute",t.to)}routeDidChange(t){e.set("currentRoute",t.to),ra(()=>{e.trigger("routeDidChange",t),e._routerService.trigger("routeDidChange",t)})}transitionDidError(t,n){return t.wasAborted||n.isAborted?zd(n):(n.trigger(!1,"error",t.error,n,t.route),e._isErrorHandled(t.error)?(n.rollback(),this.routeDidChange(n),t.error):(n.abort(),t.error))}replaceURL(n){t.replaceURL?ra(()=>{t.replaceURL(n),bs(e,"currentURL",n)}):this.updateURL(n)}},s=this.constructor.dslCallbacks||[Ip],o=this._buildDSL();o.route("application",{path:"/",resetNamespace:!0,overrideNameAssertion:!0},function(){for(let t=0;tn.factoryFor(`route-map:${t}`),addRouteForEngine(t,n){e._engineInfoByRoute[t]||(e._engineInfoByRoute[t]=n)}};return new ap(null,i)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=us(Ba(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=us(this,"initialURL");void 0===t&&(t=us(this,"location").getURL());let e=this.handleURL(t);if(e&&e.error)throw e.error}}setupRouter(){if(this._didSetupRouter)return!1;this._didSetupRouter=!0,this._setupLocation();let t=us(this,"location");return!us(t,"cancelRouterSetup")&&(this._initRouterJs(),t.onUpdateURL(t=>{this.handleURL(t)}),!0)}_setOutlets(){if(this.isDestroying||this.isDestroyed)return;let t=this._routerMicrolib.currentRouteInfos;if(!t)return;let e=null,n=null;for(let i of t){let t=Jd(i.route);if(!t)break;{let i={render:t,outlets:{main:void 0}};n?n.outlets.main=i:e=i,n=i}}if(null!==e)if(this._toplevelView)this._toplevelView.setOutletState(e);else{let t=Ba(this),n=t.factoryFor("view:-outlet"),i=t.lookup("application:main"),r=t.lookup("-environment:main"),s=t.lookup("template:-outlet");this._toplevelView=n.create({environment:r,template:s,application:i}),this._toplevelView.setOutletState(e);let o=t.lookup("-application-instance:main");o&&o.didCreateRootView(this._toplevelView)}}handleURL(t){let e=t.split(/#(.+)?/)[0];return this._doURLTransition("handleURL",e)}_doURLTransition(t,e){this._initialTransitionStarted=!0;let n=this._routerMicrolib[t](e||"/");return Bp(n,this),n}transitionTo(...t){if(Hd(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=qd(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),Up(this)}replaceWith(...t){return this.transitionTo(...t).method("replace")}generate(t,...e){let n=this._routerMicrolib.generate(t,...e);return this.location.formatURL(n)}isActive(t){return this._routerMicrolib.isActive(t)}isActiveIntent(t,e,n){return this.currentState.isActiveIntent(t,e,n)}send(t,...e){this._routerMicrolib.trigger(t,...e)}hasRoute(t){return this._routerMicrolib.hasRoute(t)}reset(){this._didSetupRouter=!1,this._initialTransitionStarted=!1,this._routerMicrolib&&this._routerMicrolib.reset()}willDestroy(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),super.willDestroy(),this.reset();let t=this._engineInstances;for(let e in t){let n=t[e];for(let t in n)ta(n[t],"destroy")}}_activeQPChanged(t,e){this._queuedQPChanges[t]=e,ra(this,this._fireQueryParamTransition)}_updatingQPChanged(t){this._qpUpdates.add(t)}_fireQueryParamTransition(){this.transitionTo({queryParams:this._queuedQPChanges}),this._resetQueuedQueryParameterChanges()}_setupLocation(){let t=this.location,e=this.rootURL,n=Ba(this);"string"==typeof t&&(t=bs(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&bs(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){qp(this,t,e,(t,n,i)=>{if(i)delete e[t],e[i.urlKey]=i.route.serializeQueryParam(n,i.urlKey,i.type);else{if(void 0===n)return;e[t]=this._serializeQueryParam(n,uh(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){qp(this,t,e,(t,n,i)=>{i&&(delete e[t],e[i.prop]=i.route.deserializeQueryParam(n,i.urlKey,i.type))})}_deserializeQueryParam(t,e){return null==t?t:"boolean"===e?"true"===t:"number"===e?Number(t).valueOf():"array"===e?Oh(JSON.parse(t)):t}_pruneDefaultQueryParamValues(t,e){let n=this._queryParamsFor(t);for(let i in e){let t=n.map[i];t&&t.serializedDefaultValue===e[i]&&delete e[i]}}_doTransition(t,e,n,i){let r=t||function(t){let e=t.activeTransition?t.activeTransition[Md].routeInfos:t.state.routeInfos;return e[e.length-1].name}(this._routerMicrolib);this._initialTransitionStarted=!0;let s={};this._processActiveTransitionQueryParams(r,e,s,n),Object.assign(s,n),this._prepareQueryParams(r,e,s,Boolean(i));let o=this._routerMicrolib.transitionTo(r,...e,{queryParams:s});return Bp(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=Qd(this,this._routerMicrolib.activeTransition[Md]);for(let a in o)s.has(a)||(r[a]=o[a]);this._fullyScopeQueryParams(t,e,i),this._fullyScopeQueryParams(t,e,r),Object.assign(n,r)}_prepareQueryParams(t,e,n,i){let r=jp(this,t,e);this._hydrateUnsuppliedQueryParams(r,n,Boolean(i)),this._serializeQueryParams(r.routeInfos,n),i||this._pruneDefaultQueryParamValues(r.routeInfos,n)}_getQPMeta(t){let e=t.route;return e&&us(e,"_qp")}_queryParamsFor(t){let e=t[t.length-1].name,n=this._qpCache[e];if(void 0!==n)return n;let i,r=!0,s={},o=[];for(let l of t)if(i=this._getQPMeta(l),i){for(let t of i.qps)o.push(t);Object.assign(s,i.map)}else r=!1;let a={qps:o,map:s};return r&&(this._qpCache[e]=a),a}_fullyScopeQueryParams(t,e,n){let i,r=jp(this,t,e).routeInfos;for(let s of r)if(i=this._getQPMeta(s),i)for(let t of i.qps){let e=t.prop in n&&t.prop||t.scopedPropertyName in n&&t.scopedPropertyName||t.urlKey in n&&t.urlKey;e&&e!==t.scopedPropertyName&&(n[t.scopedPropertyName]=n[e],delete n[e])}}_hydrateUnsuppliedQueryParams(t,e,n){let i,r,s,o=t.routeInfos,a=this._bucketCache;for(let l of o)if(i=this._getQPMeta(l),i)for(let n=0,o=i.qps.length;n=0;--n){let i=t[n],r=i.route;if(void 0!==r&&!0!==e(r,i))return}}let Lp={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let i=this,r=t[t.length-1];Ap(t,(t,n)=>{if(n!==r){let n=zp(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=Fp(t,"error");return!s||(i._markErrorAsHandled(e),i.intermediateTransitionTo(s,e),!1)}),function(t,e){let n,i=[];n=t&&"object"==typeof t&&"object"==typeof t.errorThrown?t.errorThrown:t,e&&i.push(e),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),console.error(...i)}(e,`Error while processing route: ${n.targetName}`)},loading(t,e){let n=this,i=t[t.length-1];Ap(t,(t,r)=>{if(r!==i){let e=zp(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=Fp(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function Fp(t,e){let n=Ba(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return Dp(n,s,`${i}_${e}`,o)?o:""}function zp(t,e){let n=Ba(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return Dp(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function Dp(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function Np(t,e,n,i){if(!t){if(e)return;throw new Error(`Can't trigger action '${n}' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call \`.send()\` on the \`Transition\` object passed to the \`model/beforeModel/afterModel\` hooks.`)}let r,s,o,a=!1;for(let u=t.length-1;u>=0;u--)if(r=t[u],s=r.route,o=s&&s.actions&&s.actions[n],o){if(!0!==o.apply(s,i))return void("error"===n&&s._router._markErrorAsHandled(i[0]));a=!0}let l=Lp[n];if(l)l.call(this,t,...i);else if(!a&&!e)throw new Error(`Nothing handled the action '${n}'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.`)}function jp(t,e,n){let i=t._routerMicrolib.applyIntent(e,n),{routeInfos:r,params:s}=i;for(let o of r)o.isResolved?s[o.name]=o.params:s[o.name]=o.serialize(o.context);return i}function Up(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=Op._routePath(e),i=e[e.length-1].name,r=t.location.getURL();bs(t,"currentPath",n),bs(t,"currentRouteName",i),bs(t,"currentURL",r)}function Bp(t,e){let n=new cp(e,e._routerMicrolib,t[Md]);e.currentState||e.set("currentState",n),e.set("targetState",n),t.promise=t.catch(t=>{if(!e._isErrorHandled(t))throw t;e._clearHandledError(t)},"Transition Error")}function qp(t,e,n,i){let r=t._queryParamsFor(e);for(let s in n)Object.prototype.hasOwnProperty.call(n,s)&&i(s,n[s],r.map[s])}function Gp(t){return void 0!==t.hash?t.hash.substring(0):""}Op.reopen({didTransition:function(){Up(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState)},willTransition:function(){},rootURL:"/",location:"hash",url:Qr(function(){let t=us(this,"location");if("string"!=typeof t)return t.getURL()})});class $p extends ac{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return Gp(this.location)}getURL(){let t=this.getHash().substring(1),e=t;return"/"!==e[0]&&(e="/",t&&(e+=`#${t}`)),e}setURL(t){this.location.hash=t,this.lastSetURL=t}replaceURL(t){this.location.replace(`#${t}`),this.lastSetURL=t}lastSetURL=null;onUpdateURL(t){this._removeEventListener(),this._hashchangeHandler=na(this,function(){let e=this.getURL();this.lastSetURL!==e&&(this.lastSetURL=null,t(e))}),window.addEventListener("hashchange",this._hashchangeHandler)}formatURL(t){return`#${t}`}willDestroy(){this._removeEventListener()}_removeEventListener(){this._hashchangeHandler&&window.removeEventListener("hashchange",this._hashchangeHandler)}}let Vp=!1;function Wp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e,n;return e=16*Math.random()|0,n="x"===t?e:3&e|8,n.toString(16)})}class Hp extends ac{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return Gp(this.location)}init(){this._super(...arguments);let t=document.querySelector("base"),e="";null!==t&&t.hasAttribute("href")&&(e=t.getAttribute("href")??""),this.baseURL=e,this.location=this.location??window.location,this._popstateHandler=void 0}initState(){let t=this.history??window.history;this.history=t;let{state:e}=t,n=this.formatURL(this.getURL());e&&e.path===n?this._previousURL=this.getURL():this.replaceState(n)}getURL(){let{location:t,rootURL:e,baseURL:n}=this,i=t.pathname;e=e.replace(/\/$/,""),n=n.replace(/\/$/,"");let r=i.replace(new RegExp(`^${n}(?=/|$)`),"").replace(new RegExp(`^${e}(?=/|$)`),"").replace(/\/\//g,"/");return r+=(t.search||"")+this.getHash(),r}setURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.pushState(t)}replaceURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.replaceState(t)}pushState(t){let e={path:t,uuid:Wp()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:Wp()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(Vp||(Vp=!0,this.getURL()!==this._previousURL))&&t(this.getURL())},window.addEventListener("popstate",this._popstateHandler)}formatURL(t){let{rootURL:e,baseURL:n}=this;return""!==t?(e=e.replace(/\/$/,""),n=n.replace(/\/$/,"")):"/"===n[0]&&"/"===e[0]&&(n=n.replace(/\/$/,"")),n+e+t}willDestroy(){this._removeEventListener()}_removeEventListener(){this._popstateHandler&&window.removeEventListener("popstate",this._popstateHandler)}}class Kp extends ac{updateCallback;initState(){this._super(...arguments);let{rootURL:t}=this}getURL(){let{path:t,rootURL:e}=this;return e=e.replace(/\/$/,""),t.replace(new RegExp(`^${e}(?=/|$)`),"")}setURL(t){this.path=t}onUpdateURL(t){this.updateCallback=t}handleURL(t){this.path=t,this.updateCallback&&this.updateCallback(t)}formatURL(t){let{rootURL:e}=this;return""!==t&&(e=e.replace(/\/$/,"")),e+t}}function Xp(t){return Ss(t).readOnly()}Kp.reopen({path:"",rootURL:"/"});const Yp=/[ _]/g,Zp=new Vi(1e3,t=>{return(e=t,rf.get(e)).replace(Yp,"-");var e}),Jp=/^(-|_)+(.)?/,Qp=/(.)(-|_|\.|\s)+(.)?/g,tf=/(^|\/|\.)([a-z])/g,ef=new Vi(1e3,t=>{let e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),nf=/([a-z\d])([A-Z])/g,rf=new Vi(1e3,t=>t.replace(nf,"$1_$2").toLowerCase());function sf(t){return Zp.get(t)}function of(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let af=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??Wi);function lf(t){return function(t,e=af){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function uf(t){return{options:t,test:!of(t),isEnabled:of(t)||lf(t),isRemoved:lf(t)}}const cf={DEPRECATE_IMPORT_INJECT:uf({for:"ember-source",id:"importing-inject-from-ember-service",since:{available:"6.2.0",enabled:"6.3.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/importing-inject-from-ember-service"}),DEPRECATE_AMD_BUNDLES:uf({for:"ember-source",id:"using-amd-bundles",since:{available:"6.10.0",enabled:"6.10.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/using-amd-bundles"})};function hf(...t){return ms("service",...t)}class df extends Fc{static isServiceFactory=!0}const pf=Object.freeze(Object.defineProperty({__proto__:null,default:df,inject:function(...t){return function(t,e){const{options:n}=e;if(e.isRemoved)throw new Error(`The API deprecated by ${n.id} was removed in ember-source ${n.until}. The message was: Importing \`inject\` from \`@ember/service\` is deprecated. Please import \`service\` instead.. Please see ${n.url} for more details.`)}(0,cf.DEPRECATE_IMPORT_INJECT),ms("service",...t)},service:hf},Symbol.toStringTag,{value:"Module"})),ff=Symbol("ROUTER");function gf(t,e){return"/"===e?t:t.substring(e.length)}class mf extends(df.extend(Ac)){[ff];get _router(){let t=this[ff];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return this[ff]=e}willDestroy(){super.willDestroy(),this[ff]=void 0}transitionTo(...t){if(Hd(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=qd(t);return this._router._doTransition(e,n,i,!0)}replaceWith(...t){return this.transitionTo(...t).method("replace")}urlFor(t,...e){return this._router.setupRouter(),this._router.generate(t,...e)}isActive(...t){let{routeName:e,models:n,queryParams:i}=qd(t);this._router.setupRouter();let r=this._router._routerMicrolib;if(Se(Ve(this._router,"currentURL")),!r.isActiveIntent(e,n))return!1;if(Object.keys(i).length>0){let t=e;i=Object.assign({},i),this._router._prepareQueryParams(t,n,i,!0);let s=Object.assign({},r.state.queryParams);return this._router._prepareQueryParams(t,n,s,!0),Kd(i,s)}return!0}recognize(t){this._router.setupRouter();let e=gf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=gf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=Yi(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{Jc(this.prototype,"currentRouteName",[Xp("_router.currentRouteName")])}#u=void eh(this,"currentRouteName");static{Jc(this.prototype,"currentURL",[Xp("_router.currentURL")])}#c=void eh(this,"currentURL");static{Jc(this.prototype,"location",[Xp("_router.location")])}#h=void eh(this,"location");static{Jc(this.prototype,"rootURL",[Xp("_router.rootURL")])}#d=void eh(this,"rootURL");static{Jc(this.prototype,"currentRoute",[Xp("_router.currentRoute")])}#p=void eh(this,"currentRoute")}class yf extends df{[ff];get router(){let t=this[ff];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return e.setupRouter(),this[ff]=e}hasRoute(t){return this.router.hasRoute(t)}transitionTo(t,e,n,i){let r=this.router._doTransition(t,e,n);return i&&r.method("replace"),r}normalizeQueryParams(t,e,n){this.router._prepareQueryParams(t,e,n)}_generateURL(t,e,n){let i={};return n&&(Object.assign(i,n),this.normalizeQueryParams(t,e,i)),this.router.generate(t,...e,{queryParams:i})}generateURL(t,e,n){if(this.router._initialTransitionStarted)return this._generateURL(t,e,n);try{return this._generateURL(t,e,n)}catch(i){return}}isActiveForRoute(t,e,n,i){let r=this.router._routerMicrolib.recognizer.handlersFor(n),s=r[r.length-1].handler,o=function(t,e){let n=0;for(let i=0;io&&(n=s),i.isActiveIntent(n,t,e)}}yf.reopen({targetState:Xp("router.targetState"),currentState:Xp("router.currentState"),currentRouteName:Xp("router.currentRouteName"),currentPath:Xp("router.currentPath")});class _f{constructor(t){this.buffer=t,this.size=0}encode(t,e,...n){if(t>255)throw new Error(`Opcode type over 8-bits. Got ${t}.`);let i=t|e|arguments.length-2<<8;this.buffer.push(i);for(const r of n)this.buffer.push(r);this.size=this.buffer.length}patch(t,e){if(-1!==this.buffer[t+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.");this.buffer[t+1]=e}}const vf=32,bf=31;function wf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function xf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===bf||n===vf||n===t}}[1,-1].forEach(t=>{return e=wf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const Sf=xf(39),Ef=xf(38),Cf=xf(37),kf=xf(35);function Tf(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function Rf(t){return{type:1,value:t}}function Pf(t){return{type:5,value:t}}function If(t){return{type:7,value:t}}function Mf(t){return{type:8,value:t}}class Of{label(t,e){this.labels[t]=e}target(t,e){this.targets.push({at:t,target:e})}patch(t){let{targets:e,labels:n}=this;for(const{at:i,target:r}of e){let e=n[r]-i;t.getbyaddr(i),t.setbyaddr(i,e)}}constructor(){this.labels=rn(),this.targets=[]}}function Af(t,e,n,i){let{program:{constants:r},resolver:s}=e;if(function(t){return t<1e3}(i[0])){let[e,...n]=i;t.push(r,e,...n)}else switch(i[0]){case 1e3:return t.label(i[1]);case 1001:return t.startLabels();case 1002:return t.stopLabels();case 1004:return function(t,e,n,[,i,r]){if(Sf(i),i[0]===vf){let{scopeValues:t,owner:s,symbols:{lexical:o}}=n,a=t[i[1]];r(e.component(a,s,!1,o?.at(i[1])))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupComponent?.(a,o)??null;r(e.resolvedComponent(l,a))}}(s,r,n,i);case 1003:return function(t,e,n,[,i,r]){Ef(i);let s=i[0];if(s===vf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===bf){let{symbols:{upvars:s}}=n,o=s[i[1]],a=t?.lookupBuiltInModifier?.(o)??null;r(e.modifier(a,o))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupModifier?.(a,o)??null;r(e.modifier(l))}}(s,r,n,i);case 1005:return function(t,e,n,[,i,r]){Cf(i);let s=i[0];if(s===vf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===bf)r(Tf(i,t,n,e));else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupHelper?.(a,o)??null;r(e.helper(l,a))}}(s,r,n,i);case 1007:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s}]){kf(i);let o=i[0];if(o===vf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[i[1]],u=e.component(l,o,!0,a?.at(i[1]));if(null!==u)return void r(u);s(e.helper(l,null,!0))}else if(o===bf)s(Tf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)r(e.resolvedComponent(u,l));else{let n=t?.lookupHelper?.(l,a)??null;s(e.helper(n,l))}}}(s,r,n,i);case 1008:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s,ifValue:o}]){kf(i);let a=i[0];if(a===vf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,u=t[i[1]];if("function"!=typeof u&&("object"!=typeof u||null===u))return void o(e.value(u));let c=e.component(u,a,!0,l?.at(i[1]));if(null!==c)return void r(c);let h=e.helper(u,null,!0);if(null!==h)return void s(h);o(e.value(u))}else if(a===bf)s(Tf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)return void r(e.resolvedComponent(u,l));let c=t?.lookupHelper?.(l,a)??null;null!==c&&s(e.helper(c,l))}}(s,r,n,i);case 1010:{let[,t,e]=i;e(n.symbols.upvars[t],n.moduleName);break}case 1011:{let[,t,e]=i,s=n.scopeValues[t];e(r.value(s));break}default:throw new Error(`Unexpected high level opcode ${i[0]}`)}}class Lf{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new an,this.encoder=new _f([]),this.errors=[],this.handle=t.malloc()}error(t){this.encoder.encode(30,0),this.errors.push(t)}commit(t){let e=this.handle;return this.heap.pushMachine(5),this.heap.finishMalloc(e,t),(n=this.errors)&&n.length>0?{errors:this.errors,handle:e}:e;var n}push(t,e,...n){let{heap:i}=this;var r;let s=e|((r=e)>=0&&r<=15?Vn:0)|n.length<<8;i.pushRaw(s);for(let o=0;o=-536870912?wf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function qf(t,e,n,i){t(0),Yf(t,n,i,!1),t(16,e),t(1),t(36,8)}function Gf(t,e,n,i){t(0),Yf(t,e,n,!1),t(33,2,1),t(107),i?(t(36,8),i(),t(1),t(34,1)):(t(1),t(34,1),t(36,8))}function $f(t,e,n,i,r){t(0),Yf(t,i,r,!1),t(86),jf(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function Vf(t,e,n){Yf(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Wf(t,e){!function(t,e){null!==e?t(63,If({parameters:e})):Bf(t,null)}(t,e&&e[1]),t(62),Xf(t,e)}function Hf(t,e){t(0),Xf(t,e),t(61),t(2),t(1)}function Kf(t,e,n){let i=e[1],r=i.length,s=Math.min(n,r);if(0!==s){if(t(0),s){t(39);for(let e=0;e{for(let n of e)jf(t,n);t(27,e.length)}),Df.add(28,(t,[,e,n,i])=>{Cf(e)?t(1005,e,e=>{qf(t,e,n,i)}):(jf(t,e),Gf(t,n,i))}),Df.add(50,(t,[,e,n,i,r])=>{$f(t,n,e,i,r)}),Df.add(30,(t,[,e,n])=>{t(21,e),Nf(t,n)}),Df.add(vf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),Nf(t,n)})}),Df.add(bf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{qf(t,e,null,null)})})}),Df.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{qf(t,e,null,null)})})}),Df.add(27,t=>Uf(t,void 0)),Df.add(48,(t,[,e])=>{jf(t,e),t(25)}),Df.add(49,(t,[,e])=>{jf(t,e),t(24),t(61),t(26)}),Df.add(52,(t,[,e,n,i])=>{jf(t,i),jf(t,n),jf(t,e),t(109)}),Df.add(51,(t,[,e])=>{jf(t,e),t(110)}),Df.add(53,(t,[,e])=>{jf(t,e),t(111)}),Df.add(54,(t,[,e])=>{t(0),Yf(t,e,null,!1),t(112),t(1),t(36,8)});class Qf{constructor(t){this.blocks=t,this.names=t?Object.keys(t):[]}get(t){return this.blocks&&this.blocks[t]||null}has(t){let{blocks:e}=this;return null!==e&&t in e}with(t,e){let{blocks:n}=this;return new Qf(n?un({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const tg=new Qf(null);function eg(t){if(null===t)return tg;let e=rn(),[n,i]=t;for(const[r,s]of tn(n))e[s]=i[r];return new Qf(e)}function ng(t,e,n){let i=[],r=0;n(function(t,e){i.push({match:t,callback:e,label:"CLAUSE"+r++})}),t(69,1),e(),t(1001);for(let s of i.slice(0,-1))t(67,Rf(s.label),s.match);for(let s=i.length-1;s>=0;s--){let e=i[s];t(1e3,e.label),t(34,1),e.callback(),0!==s&&t(4,Rf("END"))}t(1e3,"END"),t(1002),t(70)}function ig(t,e,n){t(1001),t(0),t(6,Rf("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function rg(t,e,n,i){return ig(t,e,()=>{t(66,Rf("ELSE")),n(),t(4,Rf("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function sg(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,u=n?[n,[]]:null,c=eg(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:i,positional:r,named:s,blocks:o}){let{symbolTable:a}=n;if(ii(e,$n.prepareArgs))return void ag(t,{capabilities:e,elementBlock:i,positional:r,named:s,atNames:!0,blocks:o,layout:n});t(36,4),t(33,3,1),t(35,4),t(0);let{symbols:l}=a,u=[],c=[],h=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Wf(t,i),u.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Wf(t,o.get(p)),u.push(e))}if(ii(e,$n.createArgs)){let e=Zf(t,r)<<4;e|=8;let n=Ze;if(null!==s){n=s[0];let e=s[1];for(let i=0;i0?1:0),t(19,0);for(const p of Qe(c))-1===p?t(34,1):t(19,p+1);null!==r&&t(34,r.length);for(const p of Qe(u))t(20,p+1);t(28,Mf(n)),t(61),t(2),t(100,4),t(1),t(40),ii(e,$n.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:u,positional:i,named:r,blocks:c})):(t(78,l),ag(t,{capabilities:a,elementBlock:u,positional:i,named:r,atNames:!0,blocks:c}))}function og(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,u=eg(s);ig(t,()=>(jf(t,e),t(33,3,0),2),()=>{t(66,Rf("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),ag(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:u}),t(1e3,"ELSE")})}function ag(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,u=!0===e||ii(e,$n.prepareArgs)||!(!r||0===r[0].length),c=o.with("attrs",n);t(36,4),t(33,3,1),t(35,4),t(0),function(t,e,n,i,r){let s=i.names;for(const l of s)Wf(t,i.get(l));let o=Zf(t,e)<<4;r&&(o|=8),i.hasAny&&(o|=7);let a=Xe;if(n){a=n[0];let e=n[1];for(let n=0;n{a?(t(63,If(a.symbolTable)),t(28,Mf(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function lg(t,e,n,i,r=null){t(97,4),t(59),t(87,0|e),r&&r(),t(88,4),t(90,4),t(38,4),t(19,0),i&&t(17,4),n&&t(18,4),t(34,1),t(96,4),t(100,4),t(1),t(40),t(60),t(98)}const ug=new zf,cg=["class","id","value","name","type","style","href"],hg=["div","span","p","a"];function dg(t){return"string"==typeof t?t:hg[t]}function pg(t){return"string"==typeof t?t:cg[t]}function fg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}ug.add(3,(t,e)=>t(42,e[1])),ug.add(13,t=>t(55)),ug.add(12,t=>t(54)),ug.add(4,(t,[,e,n,i])=>{Ef(e)?t(1003,e,e=>{t(0),Yf(t,n,i,!1),t(57,e),t(1)}):(jf(t,e),t(0),Yf(t,n,i,!1),t(33,2,1),t(108),t(1))}),ug.add(14,(t,[,e,n,i])=>{t(51,pg(e),n,i??null)}),ug.add(24,(t,[,e,n,i])=>{t(105,pg(e),n,i??null)}),ug.add(15,(t,[,e,n,i])=>{jf(t,n),t(52,pg(e),!1,i??null)}),ug.add(22,(t,[,e,n,i])=>{jf(t,n),t(52,pg(e),!0,i??null)}),ug.add(16,(t,[,e,n,i])=>{jf(t,n),t(53,pg(e),!1,i??null)}),ug.add(23,(t,[,e,n,i])=>{jf(t,n),t(53,pg(e),!0,i??null)}),ug.add(10,(t,[,e])=>{t(48,dg(e))}),ug.add(11,(t,[,e])=>{t(89),t(48,dg(e))}),ug.add(8,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,n,null,i,r)}):og(t,e,n,null,i,r,!0,!0)}),ug.add(18,(t,[,e,n])=>Vf(t,e,n)),ug.add(17,(t,[,e])=>Vf(t,e,null)),ug.add(26,(t,[,e,n,i])=>{t(103,function(t,e,n){return{type:3,value:{locals:t,upvars:e,lexical:n}}}(e,n,i))}),ug.add(1,(t,[,e])=>{if(Array.isArray(e))if(kf(e))t(1008,e,{ifComponent(e){sg(t,e,null,null,null,null)},ifHelper(e){t(0),qf(t,e,null,null),t(3,Pf("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,Pf("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;kf(n)?t(1007,n,{ifComponent(e){sg(t,e,null,i,fg(r),null)},ifHelper(e){t(0),qf(t,e,i,r),t(3,Pf("cautious-non-dynamic-append")),t(1)}}):ng(t,()=>{jf(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),ag(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:eg(null)})}),e(1,()=>{Gf(t,i,r,()=>{t(3,Pf("cautious-non-dynamic-append"))})})})}else t(0),jf(t,e),t(3,Pf("cautious-append")),t(1);else t(41,null==e?"":String(e))}),ug.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),jf(t,e),t(3,Pf("trusting-append")),t(1)):t(41,null==e?"":String(e))}),ug.add(6,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,null,n,fg(i),r)}):og(t,e,null,n,i,r,!1,!1)}),ug.add(40,(t,[,e,n,i,r])=>{rg(t,()=>(jf(t,n),void 0===r?Uf(t,void 0):jf(t,r),jf(t,i),t(33,3,0),4),()=>{t(50),Hf(t,e),t(56)})}),ug.add(41,(t,[,e,n,i])=>rg(t,()=>(jf(t,e),t(71),1),()=>{Hf(t,n)},i?()=>{Hf(t,i)}:void 0)),ug.add(42,(t,[,e,n,i,r])=>ig(t,()=>(n?jf(t,n):Uf(t,null),jf(t,e),2),()=>{t(72,Rf("BODY"),Rf("ELSE")),t(0),t(33,2,1),t(6,Rf("ITER")),t(1e3,"ITER"),t(74,Rf("BREAK")),t(1e3,"BODY"),Kf(t,i,2),t(34,2),t(4,Rf("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,Rf("FINALLY")),t(1e3,"ELSE"),r&&Hf(t,r)})),ug.add(44,(t,[,e,n])=>{Kf(t,n,Zf(t,e))}),ug.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Zf(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Hf(t,n)})}else Hf(t,n)}),ug.add(46,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,null,n,fg(i),r)}):og(t,e,null,n,i,r,!1,!1)});class gg{constructor(t,e,n,i="plain block"){this.statements=t,this.meta=e,this.symbolTable=n,this.moduleName=i,this.compiled=null}compile(t){return function(t,e){if(null!==t.compiled)return t.compiled;t.compiled=-1;let{statements:n,meta:i}=t,r=function(t,e,n){let i=ug,r=Ff(n,e),{encoder:s,evaluation:o}=r;function a(...t){Af(s,o,e,t)}for(const l of t)i.compile(a,l);return r.encoder.commit(e.size)}(n,i,e);return t.compiled=r,r}(this,t)}}class mg{constructor(t,e,n,i,r){this.main=t,this.trustingGuardedAppend=e,this.cautiousGuardedAppend=n,this.trustingNonDynamicAppend=i,this.cautiousNonDynamicAppend=r}get"trusting-append"(){return this.trustingGuardedAppend}get"cautious-append"(){return this.cautiousGuardedAppend}get"trusting-non-dynamic-append"(){return this.trustingNonDynamicAppend}get"cautious-non-dynamic-append"(){return this.cautiousNonDynamicAppend}getAppend(t){return t?this.trustingGuardedAppend:this.cautiousGuardedAppend}}function yg(t,e,n){ng(t,()=>t(76),i=>{i(2,()=>{e?(t(68),t(43)):t(47)}),"number"==typeof n?(i(0,()=>{t(81),t(79),function(t){t(36,4),t(33,3,1),t(35,4),t(0),t(83),t(85,4),lg(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),i(1,()=>{Gf(t,null,null,()=>{t(3,n)})})):(i(0,()=>{t(47)}),i(1,()=>{t(47)})),i(4,()=>{t(68),t(44)}),i(5,()=>{t(68),t(45)}),i(6,()=>{t(68),t(46)})})}const _g={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function vg(t,e){let n=new Lf(t.program.heap,_g);e(function(...e){Af(n,t,_g,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class bg{constructor({constants:t,heap:e},n,i){this.constants=t,this.heap=e,this.resolver=i.resolver,this.createOp=n,this.env=i.env,this.program=i.program,this.stdlib=function(t){let e=vg(t,t=>function(t){t(75,4),lg(t,!1,!1,!0)}(t)),n=vg(t,t=>yg(t,!0,null)),i=vg(t,t=>yg(t,!1,null)),r=vg(t,t=>yg(t,!0,n)),s=vg(t,t=>yg(t,!1,i));return new mg(e,r,s,n,i)}(this)}}class wg{constructor(t,e){this.layout=t,this.moduleName=e,this.compiled=null;let{block:n}=t,[,i]=n;i=i.slice();let r=i.indexOf("&attrs");this.attrsBlockNumber=-1===r?i.push("&attrs"):r+1,this.symbolTable={symbols:i},this.meta=Jf(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Jf(this.layout),n=Ff(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){Af(i,r,e,t)},o=this.layout,a=this.attrsBlockNumber,s(1001),function(t,e,n){t(36,5),n(),t(35,5)}(s,0,()=>{s(91,4),s(31),s(33,3,0)}),s(66,Rf("BODY")),s(36,5),s(89),s(49),s(99,4),Vf(s,a,null),s(54),s(1e3,"BODY"),Hf(s,[o.block[0],[]]),s(36,5),s(66,Rf("END")),s(55),s(1e3,"END"),s(35,5),s(1002);let l=n.encoder.commit(e.size);return"number"!=typeof l||(this.compiled=l),l}}let xg=0,Sg={cacheHit:0,cacheMiss:0};function Eg({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+xg++,a=null,l=new WeakMap,u=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(Sg.cacheMiss++,a=new Cg({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):Sg.cacheHit++,a;let u=l.get(t);return void 0===u?(Sg.cacheMiss++,u=new Cg({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,u)):Sg.cacheHit++,u};return u.__id=o,u.__meta={moduleName:e},u}class Cg{constructor(t){this.parsedLayout=t,this.result="ok",this.layout=null,this.wrappedLayout=null}get moduleName(){return this.parsedLayout.moduleName}get id(){return this.parsedLayout.id}get referrer(){return{moduleName:this.parsedLayout.moduleName,owner:this.parsedLayout.owner}}asLayout(){return this.layout?this.layout:this.layout=function(t,e){let[n,i]=t.block;return new gg(n,Jf(t),{symbols:i},e)}(un({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new wg(un({},this.parsedLayout),this.moduleName)}}function kg(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const Tg={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},Rg=Object.freeze([]),Pg=[!1,!0,null,void 0,Rg],Ig=Pg.indexOf(Rg);class Mg{value(t){let e=this.indexMap,n=e.get(t);return void 0===n&&(n=this.values.push(t)-1,e.set(t,n)),n}array(t){if(0===t.length)return Ig;let e=new Array(t.length);for(let n=0;nt}helper(t,e=null,n){let i=this.helperDefinitionCache.get(t);if(void 0===i){let e=vi(t);if(null===e)return this.helperDefinitionCache.set(t,null),null;let n="function"==typeof e?e:e.getHelper(t);i=this.value(n),this.helperDefinitionCache.set(t,i),this.helperDefinitionCount++}return i}modifier(t,e=null,n){let i=this.modifierDefinitionCache.get(t);if(void 0===i){let n=mi(t);if(null===n)return this.modifierDefinitionCache.set(t,null),null;let r={resolvedName:e,manager:n,state:t};i=this.value(r),this.modifierDefinitionCache.set(t,i),this.modifierDefinitionCount++}return i}component(t,e,n,i){let r=this.componentDefinitionCache.get(t);if(void 0===r){let n=wi(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=ti(n.getCapabilities(t)),a=Ni(t),l=null;s=ni(0,o,$n.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=kg(s),l=ni(0,o,$n.wrapped)?s.asWrappedLayout():s.asLayout()),r={resolvedName:null,handle:-1,manager:n,capabilities:o,state:t,compilable:l},r.handle=this.value(r),i&&(r.debugName=i),this.componentDefinitionCache.set(t,r),this.componentDefinitionCount++}return r}resolvedComponent(t,e){let n=this.componentDefinitionCache.get(t);if(void 0===n){let{manager:i,state:r,template:s}=t,o=ti(i.getCapabilities(t)),a=null;ni(0,o,$n.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=kg(s),a=ni(0,o,$n.wrapped)?s.asWrappedLayout():s.asLayout()),n={resolvedName:e,handle:-1,manager:i,capabilities:o,state:r,compilable:a},n.handle=this.value(n),this.componentDefinitionCache.set(t,n),this.componentDefinitionCount++}return n}getValue(t){return this.values[t]}getArray(t){let e=this.reifiedArrs,n=e[t];if(void 0===n){let i=this.getValue(t);n=new Array(i.length);for(const[t,e]of tn(i))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[Ig]:Rg},this.defaultTemplate=Eg(Tg)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=Pg.slice(),this.indexMap=new Map(this.values.map((t,e)=>[t,e])),this.helperDefinitionCache=new WeakMap,this.modifierDefinitionCache=new WeakMap,this.componentDefinitionCache=new WeakMap}}class Og{constructor(t){this.heap=t,this.offset=0}get size(){return 1+((768&this.heap.getbyaddr(this.offset))>>8)}get isMachine(){return this.heap.getbyaddr(this.offset)&Vn?1:0}get type(){return 255&this.heap.getbyaddr(this.offset)}get op1(){return this.heap.getbyaddr(this.offset+1)}get op2(){return this.heap.getbyaddr(this.offset+2)}get op3(){return this.heap.getbyaddr(this.offset+3)}}class Ag{constructor(){this.offset=0,this.handle=0,this.heap=new Int32Array(1048576),this.handleTable=[],this.handleState=[]}entries(){return this.offset}pushRaw(t){this.sizeCheck(),this.heap[this.offset++]=t}pushOp(t){this.pushRaw(t)}pushMachine(t){this.pushRaw(t|Vn)}sizeCheck(){let{heap:t}=this;if(this.offset===this.heap.length){let e=new Int32Array(t.length+1048576);e.set(t,0),this.heap=e}}getbyaddr(t){return this.heap[t]}setbyaddr(t,e){this.heap[t]=e}malloc(){return this.handleTable.push(this.offset),this.handleTable.length-1}finishMalloc(t){}size(){return this.offset}getaddr(t){return this.handleTable[t]}sizeof(t){return this.handleTable,-1}free(t){this.handleState[t]=1}compact(){let t=0,{handleTable:e,handleState:n,heap:i}=this;for(let r=0;r-536870913?function(t){return~t}(t):function(t){return 536870912|t}(t)}[1,-1].forEach(t=>{return Ug((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const Bg=new class{constructor(){this.evaluateOpcode=new Array(113).fill(null)}add(t,e,n="syscall"){this.evaluateOpcode[t]={syscall:"machine"!==n,evaluate:e}}evaluate(t,e,n){let i=this.evaluateOpcode[n];i.syscall?(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t,e)):(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t.lowlevel,e))}},qg=Symbol("TYPE"),Gg=Symbol("INNER"),$g=Symbol("OWNER"),Vg=Symbol("ARGS"),Wg=Symbol("RESOLVED"),Hg=new WeakSet;function Kg(t){return Hg.has(t)}function Xg(t,e){return Kg(t)&&t[qg]===e}class Yg{constructor(t,e,n,i,r=!1){Hg.add(this),this[qg]=t,this[Gg]=e,this[$g]=n,this[Vg]=i,this[Wg]=r}}function Zg(t){let e,n,i,r,s,o=t;for(;;){let{[Vg]:t,[Gg]:a}=o;if(null!==t){let{named:i,positional:r}=t;r.length>0&&(e=void 0===e?r:r.concat(e)),void 0===n&&(n=[]),n.unshift(i)}if(!Kg(a)){i=a,r=o[$g],s=o[Wg];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Jg(t,e,n,i,r=!1){return new Yg(t,e,n,i,r)}class Qg{constructor(t){this.bucket=t?un({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new Qg(this.bucket)}}class tm{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(mn);return new tm(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(mn);return new tm(t,n,null)}constructor(t,e,n){this.owner=t,this.slots=e,this.callerScope=n}init({self:t}){return this.slots[0]=t,this}snapshot(){return this.slots.slice()}getSelf(){return this.get(0)}getSymbol(t){return this.get(t)}getBlock(t){let e=this.get(t);return e===mn?null:e}bind(t,e){this.set(t,e)}bindSelf(t){this.set(0,t)}bindSymbol(t,e){this.set(t,e)}bindBlock(t,e){this.set(t,e)}bindCallerScope(t){this.callerScope=t}getCallerScope(){return this.callerScope}child(){return new tm(this.owner,this.slots.slice(),this.callerScope)}get(t){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);return this.slots[t]}set(t,e){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);this.slots[t]=e}}class em{constructor(t,e){this.element=t,this.nextSibling=e}}class nm{constructor(t,e,n){this.parentNode=t,this.first=e,this.last=n}parentElement(){return this.parentNode}firstNode(){return this.first}lastNode(){return this.last}}function im(t,e){let n=t.parentElement(),i=t.firstNode(),r=t.lastNode(),s=i;for(;;){let t=s.nextSibling;if(n.insertBefore(s,e),s===r)return t;s=t}}function rm(t){let e=t.parentElement(),n=t.firstNode(),i=t.lastNode(),r=n;for(;;){let t=r.nextSibling;if(e.removeChild(r),r===i)return t;r=t}}function sm(t){return"getDebugCustomRenderTree"in t}let om=0;class am{constructor(t){this.id=om++,this.value=t}get(){return this.value}release(){this.value=null}toString(){let t=`Ref ${this.id}`;if(null===this.value)return`${t} (released)`;try{return`${t}: ${this.value}`}catch{return t}}}class lm{begin(){this.reset()}create(t,e){let n=un({},e,{bounds:null,refs:new Set});this.nodes.set(t,n),this.appendChild(n,t),this.enter(t)}update(t){this.enter(t)}didRender(t,e){this.nodeFor(t).bounds=e,this.exit()}willDestroy(t){this.refs.get(t).release()}commit(){this.reset()}capture(){return this.captureRefs(this.roots)}reset(){if(0!==this.stack.size){let t=this.stack.toArray()[0],e=this.refs.get(t);for(void 0!==e&&this.roots.delete(e);!this.stack.isEmpty();)this.stack.pop()}}enter(t){this.stack.push(t)}exit(){this.stack.pop()}nodeFor(t){return this.nodes.get(t)}appendChild(t,e){let n=this.stack.current,i=new am(e);if(this.refs.set(e,i),n){let e=this.nodeFor(n);e.refs.add(i),t.parent=e}else this.roots.add(i)}captureRefs(t){let e=[];return t.forEach(n=>{let i=n.get();i?e.push(this.captureNode(`render-node:${n.id}`,i)):t.delete(n)}),e}captureNode(t,e){let n=this.nodeFor(e),{type:i,name:r,args:s,instance:o,refs:a}=n,l=this.captureTemplate(n),u=this.captureBounds(n),c=this.captureRefs(a);return{id:t,type:i,name:r,args:$m(s),instance:o,template:l,bounds:u,children:c}}captureTemplate({template:t}){return t||null}captureBounds(t){let e=t.bounds;return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}constructor(){this.stack=new an,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function um(t){return cm(t)?"":String(t)}function cm(t){return null==t||"function"!=typeof t.toString}function hm(t){return null!==t&&"object"==typeof t}function dm(t){return hm(t)&&"function"==typeof t.toHTML}function pm(t){return"string"==typeof t}Bg.add(39,t=>t.pushChildScope()),Bg.add(40,t=>t.popScope()),Bg.add(59,t=>t.pushDynamicScope()),Bg.add(60,t=>t.popDynamicScope()),Bg.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),Bg.add(29,(t,{op1:e})=>{t.stack.push(bn(t.constants.getValue(e)))}),Bg.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(Ug(e))}),Bg.add(31,t=>{let e,n=t.stack,i=n.pop();e=void 0===i?mn:null===i?yn:!0===i?_n:!1===i?vn:gn(i),n.push(e)}),Bg.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),Bg.add(34,(t,{op1:e})=>{t.stack.pop(e)}),Bg.add(35,(t,{op1:e})=>{t.load(e)}),Bg.add(36,(t,{op1:e})=>{t.fetch(e)}),Bg.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),Bg.add(69,(t,{op1:e})=>{t.enter(e)}),Bg.add(70,t=>{t.exit()}),Bg.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),Bg.add(62,t=>{t.stack.push(t.scope())}),Bg.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),Bg.add(64,t=>{let{stack:e}=t,n=e.pop(),i=e.pop(),r=e.pop(),s=e.pop();if(null===r||null===n)return t.lowlevel.pushFrame(),void t.pushScope(i??t.scope());let o=i;{let t=r.parameters,e=t.length;if(e>0){o=o.child();for(let n=0;n{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i&&t.lowlevel.goto(e):(i&&t.lowlevel.goto(e),t.updateWith(new fm(n)))}),Bg.add(66,(t,{op1:e})=>{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i||t.lowlevel.goto(e):(i||t.lowlevel.goto(e),t.updateWith(new fm(n)))}),Bg.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),Bg.add(68,t=>{let e=t.stack.peek();kn(e)||t.updateWith(new fm(e))}),Bg.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(xn(()=>yt(Rn(n))))});class fm{constructor(t){this.ref=t,this.last=Rn(t)}evaluate(t){let{last:e,ref:n}=this;e!==Rn(n)&&t.throw()}}class gm{constructor(t,e){this.ref=t,this.filter=e,this.last=e(Rn(t))}evaluate(t){let{last:e,ref:n,filter:i}=this;e!==i(Rn(n))&&t.throw()}}class mm{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:i}=this;!t.alwaysRevalidate&&Jt(e,i)&&(Se(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=Zt(this.tag),Se(t)}constructor(){this.tag=se,this.lastRevision=1}}class ym{constructor(t){this.debugLabel=t}evaluate(){_e(this.debugLabel)}}class _m{constructor(t){this.target=t}evaluate(){let t=ve();this.target.didModify(t)}}Bg.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),Bg.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),Bg.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),Bg.add(49,t=>{let e=Rn(t.stack.pop());t.tree().openElement(e)}),Bg.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop(),r=Rn(e),s=Rn(n),o=Rn(i);kn(e)||t.updateWith(new fm(e)),void 0===s||kn(n)||t.updateWith(new fm(n));let a=t.tree().pushRemoteElement(r,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let i=Nm(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),Mt(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),Bg.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),Bg.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),Bg.add(55,t=>{let e=t.tree().closeElement();null!==e&&e.forEach(e=>{t.env.scheduleInstallModifier(e);const n=e.manager.getDestroyable(e.state);null!==n&&t.associateDestroyable(n)})}),Bg.add(57,(t,{op1:e})=>{if(!t.env.isInteractive)return;let n=t.getOwner(),i=t.stack.pop(),r=t.constants.getValue(e),{manager:s}=r,{constructing:o}=t.tree(),a=i.capture(),l=s.create(n,o,r.state,a),u={manager:s,state:l,definition:r};t.fetchValue(6).addModifier(t,u,a);let c=s.getTag(l);return null!==c?(Se(c),t.updateWith(new vm(c,u))):void 0}),Bg.add(108,t=>{if(!t.env.isInteractive)return;let{stack:e}=t,n=e.pop(),i=e.pop().capture(),{positional:r,named:s}=i,{constructing:o}=t.tree(),a=t.getOwner(),l=xn(()=>{let t,e,l=Rn(n);if(!on(l))return;if(Xg(l,2)){let{definition:n,owner:o,positional:a,named:u}=Zg(l);e=n,t=o,void 0!==a&&(i.positional=a.concat(r)),void 0!==u&&(i.named=Object.assign({},...u,s))}else e=l,t=a;let u=mi(e);if(null===u)throw new Error("BUG: modifier manager expected");let c={resolvedName:null,manager:u,state:e},h=u.create(t,o,c.state,i);return{manager:u,state:h,definition:c}}),u=Rn(l),c=null;return void 0!==u&&(t.fetchValue(6).addModifier(t,u,i),c=u.manager.getTag(u.state),null!==c&&Se(c)),!kn(n)||c?t.updateWith(new bm(c,u,l)):void 0});class vm{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=Zt(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:i}=this;Se(n),Jt(n,i)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=Zt(n))}}class bm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=Zt(t??ce)}evaluate(t){let{tag:e,lastUpdated:n,instance:i,instanceRef:r}=this,s=Rn(r);if(s!==i){if(void 0!==i){let t=i.manager.getDestroyable(i.state);null!==t&&At(t)}if(void 0!==s){let{manager:n,state:i}=s,r=n.getDestroyable(i);null!==r&&It(this,r),e=n.getTag(i),null!==e&&(this.lastUpdated=Zt(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||Jt(e,n)||(t.env.scheduleUpdateModifier(i),this.lastUpdated=Zt(e));null!==e&&Se(e)}}Bg.add(51,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.tree().setStaticAttribute(r,s,o)}),Bg.add(52,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=Rn(o),l=i?t.constants.getValue(i):null,u=t.tree().setDynamicAttribute(r,a,s,l);kn(o)||t.updateWith(new wm(o,u,t.env))});class wm{constructor(t,e,n){let i=!1;this.updateRef=xn(()=>{let r=Rn(t);i?e.update(r,n):i=!0}),Rn(this.updateRef)}evaluate(){Rn(this.updateRef)}}Bg.add(78,(t,{op1:e})=>{let n=t.constants.getValue(e),{manager:i,capabilities:r}=n,s={definition:n,manager:i,capabilities:r,state:null,handle:null,table:null,lookup:null};t.stack.push(s)}),Bg.add(80,(t,{op1:e})=>{let n,i=t.stack,r=Rn(i.pop()),s=t.constants,o=t.getOwner();if(s.getValue(e),t.loadValue(7,null),"string"==typeof r){let e=function(t,e,n,i){let r=t?.lookupComponent?.(n,i)??null;return e.resolvedComponent(r,n)}(t.context.resolver,s,r,o);n=e}else n=Kg(r)?r:s.component(r,o);i.push(n)}),Bg.add(81,t=>{let e,n=t.stack,i=Rn(n.pop()),r=t.constants;e=Kg(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),Bg.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();Kg(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),Bg.add(82,(t,{op1:e,op2:n,op3:i})=>{let r=t.stack,s=t.constants.getArray(e),o=i>>4,a=8&i,l=7&i?t.constants.getArray(n):Ze;t.args.setup(r,s,l,o,!!a),r.push(t.args)}),Bg.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),Bg.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),Bg.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Xg(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:u}=Zg(s);if(a)s=n;else if("string"==typeof n){let i=t.context.resolver?.lookupComponent?.(n,o)??null;s=e.resolvedComponent(i,n)}else s=e.component(n,o);void 0!==u&&r.named.merge(un({},...u)),void 0!==l&&(r.realloc(l.length),r.positional.prepend(l));let{manager:c}=s;i.definition=s,i.manager=c,i.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!ni(0,i.capabilities,$n.prepareArgs))return void n.push(r);let l=r.blocks.values,u=r.blocks.names,c=o.prepareArgs(a,r);if(c){r.clear();for(let r=0;r{let n=t.fetchValue(4),{definition:i,manager:r,capabilities:s}=n;if(!ni(0,s,$n.createInstance))return;let o=null;ni(0,s,$n.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;ni(0,s,$n.createArgs)&&(l=t.stack.peek());let u=null;ni(0,s,$n.createCaller)&&(u=t.getSelf());let c=r.create(t.getOwner(),i.state,l,t.env,o,u,!!a);n.state=c,ni(0,s,$n.updateHook)&&t.updateWith(new km(c,r,o))}),Bg.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),Bg.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),Bg.add(89,t=>{t.loadValue(6,new xm)}),Bg.add(53,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=i?t.constants.getValue(i):null;t.fetchValue(6).setAttribute(r,o,s,a)}),Bg.add(105,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.fetchValue(6).setStaticAttribute(r,s,o)});class xm{setAttribute(t,e,n,i){let r={value:e,namespace:i,trusting:n};"class"===t&&this.classes.push(e),this.attributes[t]=r}setStaticAttribute(t,e,n){let i={value:e,namespace:n};"class"===t&&this.classes.push(e),this.attributes[t]=i}addModifier(t,e,n){if(this.modifiers.push(e),void 0!==t.env.debugRenderTree){const{manager:i,definition:r,state:s}=e;if(null===s||"object"!=typeof s&&"function"!=typeof s)return;let{element:o,constructing:a}=t.tree(),l=r.resolvedName??i.getDebugName(r.state),u=i.getDebugInstance(s),c=new nm(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:u}),t.env.debugRenderTree.didRender(s,c),t.associateDestroyable(s),t.updateWith(new Rm(s)),t.updateWith(new Pm(s,c)),Mt(s,()=>{t.env.debugRenderTree?.willDestroy(s)})}}flush(t){let e,n=this.attributes;for(let i in this.attributes){if("type"===i){e=n[i];continue}let r=this.attributes[i];"class"===i?Em(t,"class",Sm(this.classes),r.namespace,r.trusting):Em(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&Em(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=rn(),this.classes=[],this.modifiers=[]}}function Sm(t){return 0===t.length?"":1===t.length?t[0]:function(t){return t.every(t=>"string"==typeof t)}(t)?t.join(" "):(e=t,xn(()=>{let t=[];for(const n of e){let e=um("string"==typeof n?n:Rn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function Em(t,e,n,i,r=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,i);else{let s=t.tree().setDynamicAttribute(e,Rn(n),r,i);kn(n)||t.updateWith(new wm(n,s,t.env))}}function Cm(t,e,n,i,r){let s=n.table.symbols.indexOf(t),o=i.get(e);-1!==s&&r.scope().bindBlock(s+1,o),n.lookup&&(n.lookup[t]=o)}Bg.add(99,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=t.fetchValue(6);r.didCreateElement(i,t.tree().constructing,s)}),Bg.add(90,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e),{definition:r,state:s}=i,{manager:o}=r,a=o.getSelf(s);if(void 0!==t.env.debugRenderTree){let i,r,o=t.fetchValue(e),{definition:l,manager:u}=o;if(t.stack.peek()===t.args)i=t.args.capture();else{let e=t.constants.getArray(n);t.args.setup(t.stack,e,[],0,!0),i=t.args.capture()}let c=l.compilable;if(null===c){ni(0,o.capabilities,$n.dynamicLayout);let e=t.context.resolver;c=null===e?null:u.getDynamicLayout(s,e),r=null!==c?c.moduleName:"__default__.hbs"}else r=c.moduleName;if(t.associateDestroyable(o),sm(u))u.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),Mt(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new Rm(n))});else{let e=function(t,e=t.manager){return t.resolvedName??t.debugName??e.getDebugName(t.state)}(l,u);t.env.debugRenderTree.create(o,{type:"component",name:e,args:i,template:r,instance:Rn(a)}),Mt(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new Rm(o))}}t.stack.push(a)}),Bg.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),Bg.add(92,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,definition:r}=n,{stack:s}=t,{compilable:o}=r;if(null===o){let{capabilities:e}=n,r=t.context.resolver;o=null===r?null:i.getDynamicLayout(n.state,r),null===o&&(o=ni(0,e,$n.wrapped)?jg(t.constants.defaultTemplate).asWrappedLayout():jg(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),Bg.add(75,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),{manager:r,capabilities:s}=n,o={definition:n,manager:r,capabilities:s,state:null,handle:i.handle,table:i.symbolTable,lookup:null};t.loadValue(e,o)}),Bg.add(95,(t,{op1:e})=>{let{stack:n}=t,i=n.pop(),r=n.pop(),s=t.fetchValue(e);s.handle=i,s.table=r}),Bg.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);ni(0,s,$n.hasSubOwner)?(n=r.getOwner(o),t.loadValue(7,null)):(n=t.fetchValue(7),null===n?n=t.getOwner():t.loadValue(7,null)),t.pushRootScope(i.symbols.length+1,n)}),Bg.add(17,(t,{op1:e})=>{let n=t.fetchValue(e),i=t.scope(),r=t.stack.peek(),s=r.named.atNames;for(let o=s.length-1;o>=0;o--){let t=s[o],e=n.table.symbols.indexOf(t),a=r.named.get(t,!0);-1!==e&&i.bindSymbol(e+1,a),n.lookup&&(n.lookup[t]=a)}}),Bg.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of tn(i.names))Cm(i.symbolNames[r],i.names[r],n,i,t)}),Bg.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),Bg.add(100,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,state:r,capabilities:s}=n,o=t.tree().popBlock();void 0!==t.env.debugRenderTree&&(sm(i)?i.getDebugCustomRenderTree(n.definition.state,r,Hm).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new Pm(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new Pm(n,o)))),ni(0,s,$n.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new Tm(n,o)))}),Bg.add(98,t=>{t.commitCacheGroup()});class km{constructor(t,e,n){this.component=t,this.manager=e,this.dynamicScope=n}evaluate(t){let{component:e,manager:n,dynamicScope:i}=this;n.update(e,i)}}class Tm{constructor(t,e){this.component=t,this.bounds=e}evaluate(t){let{component:e,bounds:n}=this,{manager:i,state:r}=e;i.didUpdateLayout(r,n),t.env.didUpdate(e)}}class Rm{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class Pm{constructor(t,e){this.bucket=t,this.bounds=e}evaluate(t){t.env.debugRenderTree?.didRender(this.bucket,this.bounds)}}class Im{constructor(){this.stack=null,this.positional=new Om,this.named=new Am,this.blocks=new zm}empty(t){let e=t.registers[3]+1;return this.named.empty(t,e),this.positional.empty(t,e),this.blocks.empty(t,e),this}setup(t,e,n,i,r){this.stack=t;let s=this.named,o=e.length,a=t.registers[3]-o+1;s.setup(t,a,o,e,r);let l=a-i;this.positional.setup(t,l,i);let u=this.blocks,c=n.length,h=l-3*c;u.setup(t,h,c,n)}get base(){return this.blocks.base}get length(){return this.positional.length+this.named.length+3*this.blocks.length}at(t){return this.positional.at(t)}realloc(t){let{stack:e}=this;if(t>0&&null!==e){let{positional:n,named:i}=this,r=n.base+t;for(let t=n.length+i.length-1;t>=0;t--)e.copy(t+n.base,t+r);n.base+=t,i.base+=t,e.registers[3]+=t}}capture(){let t=0===this.positional.length?Wm:this.positional.capture();return{named:0===this.named.length?Vm:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const Mm=Ye();class Om{constructor(){this.base=0,this.length=0,this.stack=null,this._references=null}empty(t,e){this.stack=t,this.base=e,this.length=0,this._references=Mm}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?Mm:null}at(t){let{base:e,length:n,stack:i}=this;return t<0||t>=n?mn:i.get(t,e)}capture(){return this.references}prepend(t){let e=t.length;if(e>0){let{base:n,length:i,stack:r}=this;this.base=n-=e,this.length=i+e;for(let s=0;s0){let{names:n,length:i,stack:r}=this,s=n.slice();for(const o of e)-1===s.indexOf(o)&&(i=s.push(o),r.push(t[o]));this.length=i,this._references=null,this._names=s,this._atNames=null}}get references(){let t=this._references;if(!t){let{base:e,length:n,stack:i}=this;t=this._references=i.slice(e,e+n)}return t}toSyntheticName(t){return t.slice(1)}toAtName(t){return`@${t}`}}function Lm(t){return`&${t}`}const Fm=Ye();class zm{constructor(){this.internalValues=null,this._symbolNames=null,this.internalTag=null,this.names=Ze,this.length=0,this.base=0}empty(t,e){this.stack=t,this.names=Ze,this.base=e,this.length=0,this._symbolNames=null,this.internalTag=se,this.internalValues=Fm}setup(t,e,n,i){this.stack=t,this.names=i,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=se,this.internalValues=Fm):(this.internalTag=null,this.internalValues=null)}get values(){let t=this.internalValues;if(!t){let{base:e,length:n,stack:i}=this;t=this.internalValues=i.slice(e,e+3*n)}return t}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);if(-1===e)return null;let{base:n,stack:i}=this,r=i.get(3*e,n),s=i.get(3*e+1,n),o=i.get(3*e+2,n);return null===o?null:[o,s,r]}capture(){return new Dm(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(Lm)),t}}class Dm{constructor(t,e){this.names=t,this.values=e,this.length=t.length}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);return-1===e?null:[this.values[3*e+2],this.values[3*e+1],this.values[3*e]]}}function Nm(t,e){return{named:t,positional:e}}function jm(t){let e=rn();for(const[n,i]of Object.entries(t))e[n]=Rn(i);return e}function Um(t){return t.map(Rn)}const Bm=Symbol("ARGUMENT_ERROR");function qm(t){return null!==t&&"object"==typeof t&&t[Bm]}function Gm(t){return{[Bm]:!0,error:t}}function $m(t){return{named:function(t){let e=rn();for(const[i,r]of Object.entries(t))try{e[i]=Rn(r)}catch(n){e[i]=Gm(n)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return Rn(t)}catch(e){return Gm(e)}}))};var e}const Vm=Object.freeze(Object.create(null)),Wm=Mm,Hm=Nm(Vm,Wm);function Km(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Xm(t){let e,n=vi(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Ym(t){return t===mn}Bg.add(77,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=i.pop(),o=t.getOwner();t.context.resolver,t.loadValue(8,function(t,e,n,i){let r,s;return xn(()=>{let o=Rn(e);return o===r||(s=Xg(o,t)?i?Jg(t,o,n,i):i:0===t&&"string"==typeof o&&o||on(o)?Jg(t,o,n,i):null,r=o),s})}(e,r,o,s))}),Bg.add(107,t=>{let e,n=t.stack,i=n.pop(),r=n.pop().capture(),s=t.getOwner(),o=xn(()=>{void 0!==e&&At(e);let t=Rn(i);if(Xg(t,1)){let{definition:n,owner:i,positional:s,named:a}=Zg(t),l=Xm(n);void 0!==a&&(r.named=un({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),It(o,e)}else if(on(t)){let n=Xm(t);e=n(r,s),Lt(e)&&It(o,e)}else e=mn}),a=xn(()=>(Rn(o),Rn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),Bg.add(16,(t,{op1:e})=>{let n=t.stack,i=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Lt(i)&&t.associateDestroyable(i),t.loadValue(8,i)}),Bg.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),Bg.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),Bg.add(20,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),r=t.stack.pop();t.scope().bindBlock(e,[n,i,r])}),Bg.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),Bg.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(In(i,n))}),Bg.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),Bg.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Ym(n)){let[t,i,r]=n;e.push(r),e.push(i),e.push(t)}else e.push(null),e.push(null),e.push(null)}),Bg.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Ym(n)?e.push(_n):e.push(vn)}),Bg.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?_n:vn)}),Bg.add(27,(t,{op1:e})=>{let n=new Array(e);for(let r=e;r>0;r--)n[r-1]=t.stack.pop();var i;t.stack.push((i=n,xn(()=>{const t=[];for(const e of i){const n=Rn(e);null!=n&&t.push(Km(n))}return t.length>0?t.join(""):null})))}),Bg.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop();t.stack.push(xn(()=>yt(Rn(e))?Rn(n):Rn(i)))}),Bg.add(110,t=>{let e=t.stack.pop();t.stack.push(xn(()=>!yt(Rn(e))))}),Bg.add(111,t=>{let e=t.dynamicScope(),n=t.stack,i=n.pop();n.push(xn(()=>{let t=String(Rn(i));return Rn(e.get(t))}))}),Bg.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,xn(()=>{console.log(...Um(e))}))});class Zm{constructor(t,e,n){this.node=t,this.reference=e,this.lastValue=n}evaluate(){let t,e=Rn(this.reference),{lastValue:n}=this;e!==n&&(t=cm(e)?"":pm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Jm(t){return function(t){return pm(t)||cm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Xg(t,0)||xi(t)?0:Xg(t,1)||Si(t)?1:dm(t)?4:function(t){return hm(t)&&11===t.nodeType}(t)?5:function(t){return hm(t)&&"number"==typeof t.nodeType}(t)?6:2}function Qm(t){return on(t)?Xg(t,0)||xi(t)?0:1:2}function ty(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}Bg.add(76,t=>{let e=t.stack.peek();t.stack.push(Jm(Rn(e))),kn(e)||t.updateWith(new gm(e,Jm))}),Bg.add(106,t=>{let e=t.stack.peek();t.stack.push(Qm(Rn(e))),kn(e)||t.updateWith(new gm(e,Qm))}),Bg.add(43,t=>{let e=Rn(t.stack.pop()),n=cm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),Bg.add(44,t=>{let e=Rn(t.stack.pop()).toHTML(),n=cm(e)?"":e;t.tree().appendDynamicHTML(n)}),Bg.add(47,t=>{let e=t.stack.pop(),n=Rn(e),i=cm(n)?"":String(n),r=t.tree().appendDynamicText(i);kn(e)||t.updateWith(new Zm(r,e,i))}),Bg.add(45,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicFragment(e)}),Bg.add(46,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicNode(e)});let ey=ty;class ny{#f;constructor(t,e){this.scope=t,this.#f=e}get(t){let e,{scope:n}=this,i=this.#f,r=t.split("."),[s,...o]=t.split(".");return"this"===s?e=n.getSelf():i.locals[s]?e=n.getSymbol(i.locals[s]):(e=this.scope.getSelf(),o=r),o.reduce((t,e)=>In(t,e),e)}}Bg.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new ny(t.scope(),n);ey(Rn(t.getSelf()),t=>Rn(i.get(t)))}),Bg.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=Rn(i.pop()),o=jn(r,null===s?"@identity":String(s)),a=Rn(o);t.updateWith(new gm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),Bg.add(73,t=>{t.exitList()}),Bg.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const iy={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!1,wrapped:!1,willDestroy:!1,hasSubOwner:!1};class ry{getCapabilities(){return iy}getDebugName({name:t}){return t}getSelf(){return yn}getDestroyable(){return null}}const sy=new ry;class oy{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function ay(t,e){return new oy(t,e)}bi(sy,oy.prototype);const ly={foreignObject:1,desc:1,title:1},uy=Object.create(null);class cy{constructor(t){this.document=t,this.setupUselessElement()}setupUselessElement(){this.uselessElement=this.document.createElement("div")}createElement(t,e){let n,i,r,s;if(e?(n=e.namespaceURI===zg||"svg"===t,r=e.namespaceURI===Fg||"math"===t,i=!!ly[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(uy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?Fg:zg,this.document.createElementNS(s,t)}insertBefore(t,e,n){t.insertBefore(e,n)}insertHTMLBefore(t,e,n){if(""===n){const n=this.createComment("");return t.insertBefore(n,e),new nm(t,n,n)}const i=e?e.previousSibling:t.lastChild;let r;if(null===e)t.insertAdjacentHTML("beforeend",n),r=t.lastChild;else if(e instanceof HTMLElement)e.insertAdjacentHTML("beforebegin",n),r=e.previousSibling;else{const{uselessElement:i}=this;t.insertBefore(i,e),i.insertAdjacentHTML("beforebegin",n),r=i.previousSibling,t.removeChild(i)}const s=i?i.nextSibling:t.firstChild;return new nm(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function hy(t,e,n){if(!t)return e;if(!function(t,e){const n=t.createElementNS(e,"svg");try{n.insertAdjacentHTML("beforeend","")}catch{}finally{return 1!==n.childNodes.length||n.firstChild.namespaceURI!==zg}}(t,n))return e;const i=t.createElement("div");return class extends e{insertHTMLBefore(t,e,r){return""===r||t.namespaceURI!==n?super.insertHTMLBefore(t,e,r):function(t,e,n,i){let r;if("FOREIGNOBJECT"===t.tagName.toUpperCase()){const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild.firstChild}else{const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild}return function(t,e,n){const i=t.firstChild;let r=i,s=i;for(;s;){const t=s.nextSibling;e.insertBefore(s,n),r=s,s=t}return new nm(e,i,r)}(r,t,i)}(t,i,r,e)}}}function dy(t,e){return t&&function(t){const e=t.createElement("div");return e.appendChild(t.createTextNode("first")),e.insertAdjacentHTML("beforeend","second"),2!==e.childNodes.length}(t)?class extends e{constructor(t){super(t),this.uselessComment=t.createComment("")}insertHTMLBefore(t,e,n){if(""===n)return super.insertHTMLBefore(t,e,n);let i=!1;const r=e?e.previousSibling:t.lastChild;r&&r instanceof Text&&(i=!0,t.insertBefore(this.uselessComment,e));const s=super.insertHTMLBefore(t,e,n);return i&&t.removeChild(this.uselessComment),s}}:e}const py="undefined"==typeof document?null:Dg(document);let fy=class extends cy{createElementNS(t,e){return this.document.createElementNS(t,e)}setAttribute(t,e,n,i=null){i?t.setAttributeNS(i,e,n):t.setAttribute(e,n)}};fy=dy(py,fy),fy=hy(py,fy,zg);const gy=fy;["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","main","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].forEach(t=>uy[t]=1);const my=/[\t\n\v\f\r \xa0\u{1680}\u{180e}\u{2000}-\u{200a}\u{2028}\u{2029}\u{202f}\u{205f}\u{3000}\u{feff}]/u,yy="undefined"==typeof document?null:Dg(document);class _y extends cy{constructor(t){super(t),this.document=t,this.namespace=null}setAttribute(t,e,n){t.setAttribute(e,n)}removeAttribute(t,e){t.removeAttribute(e)}insertAfter(t,e,n){this.insertBefore(t,e,n.nextSibling)}}let vy=_y;vy=dy(yy,vy),vy=hy(yy,vy,zg);const by=vy;function wy(t,e){let n,i;if(e in t)i=e,n="prop";else{let r=e.toLowerCase();r in t?(n="prop",i=r):(n="attr",i=e)}return"prop"!==n||"style"!==i.toLowerCase()&&!function(t,e){let n=xy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const xy={INPUT:{form:!0,autocorrect:!0,list:!0},SELECT:{form:!0},OPTION:{form:!0},TEXTAREA:{form:!0},LABEL:{form:!0},FIELDSET:{form:!0},LEGEND:{form:!0},OBJECT:{form:!0},OUTPUT:{form:!0},BUTTON:{form:!0}},Sy=Symbol("TRANSACTION");class Ey{didCreate(t){this.createdComponents.push(t)}didUpdate(t){this.updatedComponents.push(t)}scheduleInstallModifier(t){this.scheduledInstallModifiers.push(t)}scheduleUpdateModifier(t){this.scheduledUpdateModifiers.push(t)}commit(){let{createdComponents:t,updatedComponents:e}=this;for(const{manager:r,state:s}of t)r.didCreate(s);for(const{manager:r,state:s}of e)r.didUpdate(s);let{scheduledInstallModifiers:n,scheduledUpdateModifiers:i}=this;for(const{manager:r,state:s,definition:o}of n){let t=r.getTag(s);if(null!==t){let e=Me(()=>r.install(s));ne(t,e)}else r.install(s)}for(const{manager:r,state:s,definition:o}of i){let t=r.getTag(s);if(null!==t){let e=Me(()=>r.update(s));ne(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class Cy{static{Ry=Sy}constructor(t,e){this.delegate=e,this[Ry]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new lm:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?qm:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new gy(t.document),this.updateOperations=new _y(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[Sy],this.debugRenderTree?.begin(),this[Sy]=new Ey}get transaction(){return this[Sy]}didCreate(t){this.transaction.didCreate(t)}didUpdate(t){this.transaction.didUpdate(t)}scheduleInstallModifier(t){this.isInteractive&&this.transaction.scheduleInstallModifier(t)}scheduleUpdateModifier(t){this.isInteractive&&this.transaction.scheduleUpdateModifier(t)}commit(){let t=this.transaction;this[Sy]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function ky(t,e,n,i){return{env:new Cy(t,e),program:new Lg(n.constants,n.heap),resolver:i}}function Ty(t,e){if(t[Sy])e();else{t.begin();try{e()}finally{t.commit()}}}var Ry;function Py(t){return yi(t,{})}const Iy=Py(({positional:t})=>xn(()=>Um(t),null)),My=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),Oy=Py(({positional:t})=>xn(()=>Um(t).map(My).join(""),null)),Ay=Py(({positional:t})=>{let e=t[0];return xn(()=>(...n)=>{let[i,...r]=Um(t);if(!En(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];Pn(e,t)}},null)}),Ly=Py(({positional:t})=>{let e=t[0]??mn,n=t[1]??mn;return xn(()=>{let t=Rn(e);if(sn(t))return bt(t,String(Rn(n)))},t=>{let i=Rn(e);if(sn(i))return wt(i,String(Rn(n)),t)})}),Fy=Py(({named:t})=>{let e=xn(()=>jm(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function zy(t){return Pe(t.argsCache)}class Dy{constructor(t,e=()=>Hm){let n=Re(()=>e(t));this.argsCache=n}get named(){return zy(this).named||Vm}get positional(){return zy(this).positional||Wm}}class Ny{constructor(t,e){this.tag=re(),this.listener=null,this.element=t,this.args=e,Mt(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;By(t,n,i,r)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let i=Rn(e.positional[0]);e.positional[1];let r,s,o,a=Rn(e.positional[1]);{let{once:t,passive:n,capture:i}=e.named;t&&(r=Rn(t)),n&&(s=Rn(n)),i&&(o=Rn(i))}let l,u=!1;if(u=null===n||i!==n.eventName||a!==n.userProvidedCallback||r!==n.once||s!==n.passive||o!==n.capture,u&&(void 0===r&&void 0===s&&void 0===o||(l={once:r,passive:s,capture:o})),u){let e=a;this.listener={eventName:i,callback:e,userProvidedCallback:a,once:r,passive:s,capture:o,options:l},n&&By(t,n.eventName,n.callback,n.options),function(t,e,n,i){jy++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let jy=0,Uy=0;function By(t,e,n,i){Uy++,t.removeEventListener(e,n,i)}const qy=gi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:jy,removes:Uy}}create(t,e,n,i){return new Ny(e,i)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class Gy{constructor(t,e,n,i){this.stack=t,this.externs=n,this.currentOpSize=0,this.context=e,this.registers=i}fetchRegister(t){return this.registers[t]}loadRegister(t,e){this.registers[t]=e}setPc(t){this.registers[0]=t}pushFrame(){this.stack.push(this.registers[1]),this.stack.push(this.registers[2]),this.registers[2]=this.registers[3]-1}popFrame(){this.registers[3]=this.registers[2]-1,this.registers[1]=this.stack.get(0),this.registers[2]=this.stack.get(1)}pushSmallFrame(){this.stack.push(this.registers[1])}popSmallFrame(){this.registers[1]=this.stack.pop()}goto(t){this.setPc(this.target(t))}target(t){return this.registers[0]+t-this.currentOpSize}call(t){this.registers[1]=this.registers[0],this.setPc(this.context.program.heap.getaddr(t))}returnTo(t){this.registers[1]=this.target(t)}return(){this.setPc(this.registers[1])}nextStatement(){let{registers:t,context:e}=this,n=t[0];if(-1===n)return null;let i=e.program.opcode(n),r=this.currentOpSize=i.size;return this.registers[0]+=r,i}evaluateOuter(t,e){this.evaluateInner(t,e)}evaluateInner(t,e){t.isMachine?this.evaluateMachine(t,e):this.evaluateSyscall(t,e)}evaluateMachine(t,e){switch(t.type){case 0:return void this.pushFrame();case 1:return void this.popFrame();case 3:return void this.call(t.op1);case 2:return void e.call(this.stack.pop());case 4:return void this.goto(t.op1);case 5:return void e.return();case 6:return void this.returnTo(t.op1)}}evaluateSyscall(t,e){Bg.evaluate(e,t,t.type)}}const $y=["javascript:","vbscript:"],Vy=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Wy=["EMBED"],Hy=["href","src","background","action"],Ky=["src"];function Xy(t,e){return-1!==t.indexOf(e)}function Yy(t,e){return(null===t||Xy(Vy,t))&&Xy(Hy,e)}function Zy(t,e){return null!==t&&Xy(Wy,t)&&Xy(Ky,e)}function Jy(t,e){return Yy(t,e)||Zy(t,e)}let Qy;function t_(t,e,n){if(null==n)return n;if(dm(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=um(n);if(Yy(i,e)){let t=(s=r,Qy||(Qy=function(){const t=URL;if("object"==typeof t&&null!==t&&"function"==typeof t.parse){let e=t;return t=>{let n=null;return"string"==typeof t&&(n=e.parse(t).protocol),null===n?":":n}}if("function"==typeof t)return e=>{try{return new t(e).protocol}catch{return":"}};throw new Error('@glimmer/runtime needs a valid "globalThis.URL"')}()),Qy(s));if(Xy($y,t))return`unsafe:${r}`}var s;return Zy(i,e)?`unsafe:${r}`:r}function e_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===zg)return n_(i,e,s);const{type:o,normalized:a}=wy(t,e);return"attr"===o?n_(i,a,s):function(t,e,n){return Jy(t,e)?new o_(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new l_(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new u_(e,n):new s_(e,n)}(i,a,s)}function n_(t,e,n){return Jy(t,e)?new a_(n):new r_(n)}class i_{constructor(t){this.attribute=t}}class r_ extends i_{set(t,e,n){const i=c_(e);if(null!==i){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,i,n)}}update(t,e){const n=c_(t),{element:i,name:r}=this.attribute;null===n?i.removeAttribute(r):i.setAttribute(r,n)}}class s_ extends i_{constructor(t,e){super(e),this.normalizedName=t}set(t,e,n){null!=e&&(this.value=e,t.__setProperty(this.normalizedName,e))}update(t,e){const{element:n}=this.attribute;this.value!==t&&(n[this.normalizedName]=this.value=t,null==t&&this.removeAttribute())}removeAttribute(){const{element:t,namespace:e}=this.attribute;e?t.removeAttributeNS(e,this.normalizedName):t.removeAttribute(this.normalizedName)}}class o_ extends s_{set(t,e,n){const{element:i,name:r}=this.attribute,s=t_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=t_(n,i,t);super.update(r,e)}}class a_ extends r_{set(t,e,n){const{element:i,name:r}=this.attribute,s=t_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=t_(n,i,t);super.update(r,e)}}class l_ extends s_{set(t,e){t.__setProperty("value",um(e))}update(t){const e=this.attribute.element,n=e.value,i=um(t);n!==i&&(e.value=i)}}class u_ extends s_{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function c_(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class h_{constructor(t){this.node=t}firstNode(){return this.node}}class d_{constructor(t){this.node=t}lastNode(){return this.node}}class p_{static forInitialRender(t,e){return new this(t,e.element,e.nextSibling).initialize()}static resume(t,e){let n=new this(t,e.parentElement(),e.reset(t)).initialize();return n.pushBlock(e),n}constructor(t,e,n){this.constructing=null,this.operations=null,this.cursors=new an,this.modifierStack=new an,this.blockStack=new an,this.pushElement(e,n),this.env=t,this.dom=t.getAppendOperations(),this.updateOperations=t.getDOM()}initialize(){return this.pushAppendingBlock(),this}debugBlocks(){return this.blockStack.toArray()}get element(){return this.cursors.current.element}get nextSibling(){return this.cursors.current.nextSibling}get hasBlocks(){return this.blockStack.size>0}block(){return this.blockStack.current}popElement(){this.cursors.pop(),this.cursors.current}pushAppendingBlock(){return this.pushBlock(new f_(this.element))}pushResettableBlock(){return this.pushBlock(new m_(this.element))}pushBlockList(t){return this.pushBlock(new y_(this.element,t))}pushBlock(t,e=!1){let n=this.blockStack.current;return null!==n&&(e||n.didAppendBounds(t)),this.__openBlock(),this.blockStack.push(t),t}popBlock(){return this.block().finalize(this),this.__closeBlock(),this.blockStack.pop()}__openBlock(){}__closeBlock(){}openElement(t){let e=this.__openElement(t);return this.constructing=e,e}__openElement(t){return this.dom.createElement(t,this.element)}flushElement(t){let e=this.element,n=this.constructing;this.__flushElement(e,n),this.constructing=null,this.operations=null,this.pushModifiers(t),this.pushElement(n,null),this.didOpenElement(n)}__flushElement(t,e){this.dom.insertBefore(t,e,this.nextSibling)}closeElement(){return this.willCloseElement(),this.popElement(),this.popModifiers()}pushRemoteElement(t,e,n){return this.__pushRemoteElement(t,e,n)}__pushRemoteElement(t,e,n){if(this.pushElement(t,n),void 0===n)for(;t.lastChild;)t.removeChild(t.lastChild);let i=new g_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new em(t,e))}pushModifiers(t){this.modifierStack.push(t)}popModifiers(){return this.modifierStack.pop()}didAppendBounds(t){return this.block().didAppendBounds(t),t}didAppendNode(t){return this.block().didAppendNode(t),t}didOpenElement(t){return this.block().openElement(t),t}willCloseElement(){this.block().closeElement()}appendText(t){return this.didAppendNode(this.__appendText(t))}__appendText(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createTextNode(t);return e.insertBefore(n,r,i),r}__appendNode(t){return this.dom.insertBefore(this.element,t,this.nextSibling),t}__appendFragment(t){let e=t.firstChild;if(e){let n=new nm(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new nm(this.element,t,t)}}__appendHTML(t){return this.dom.insertHTMLBefore(this.element,this.nextSibling,t)}appendDynamicHTML(t){let e=this.trustedContent(t);this.didAppendBounds(e)}appendDynamicText(t){let e=this.untrustedContent(t);return this.didAppendNode(e),e}appendDynamicFragment(t){let e=this.__appendFragment(t);this.didAppendBounds(e)}appendDynamicNode(t){let e=this.__appendNode(t),n=new nm(this.element,e,e);this.didAppendBounds(n)}trustedContent(t){return this.__appendHTML(t)}untrustedContent(t){return this.__appendText(t)}appendComment(t){return this.didAppendNode(this.__appendComment(t))}__appendComment(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createComment(t);return e.insertBefore(n,r,i),r}__setAttribute(t,e,n){this.dom.setAttribute(this.constructing,t,e,n)}__setProperty(t,e){this.constructing[t]=e}setStaticAttribute(t,e,n){this.__setAttribute(t,e,n)}setDynamicAttribute(t,e,n,i){let r=e_(this.constructing,t,i);return r.set(this,e,this.env),r}}class f_{constructor(t){this.parent=t,this.first=null,this.last=null,this.nesting=0}parentElement(){return this.parent}firstNode(){return this.first.firstNode()}lastNode(){return this.last.lastNode()}openElement(t){this.didAppendNode(t),this.nesting++}closeElement(){this.nesting--}didAppendNode(t){0===this.nesting&&(this.first||(this.first=new h_(t)),this.last=new d_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class g_ extends f_{constructor(t){super(t),Mt(this,()=>{this.parentElement()===this.firstNode().parentNode&&rm(this)})}}class m_ extends f_{constructor(t){super(t)}reset(){At(this);let t=rm(this);return this.first=null,this.last=null,this.nesting=0,t}}class y_{constructor(t,e){this.parent=t,this.boundList=e,this.parent=t,this.boundList=e}parentElement(){return this.parent}firstNode(){return this.boundList[0].firstNode()}lastNode(){let t=this.boundList;return t[t.length-1].lastNode()}openElement(t){}closeElement(){}didAppendNode(t){}didAppendBounds(t){}finalize(t){this.boundList.length}}function __(t,e){return p_.forInitialRender(t,e)}class v_{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new an,this.env=t,this.dom=t.getDOM(),this.alwaysRevalidate=e}execute(t,e){this._execute(t,e)}_execute(t,e){let{frameStack:n}=this;for(this.try(t,e);!n.isEmpty();){let t=this.frame.nextStatement();void 0!==t?t.evaluate(this):n.pop()}}get frame(){return this.frameStack.current}goto(t){this.frame.goto(t)}try(t,e){this.frameStack.push(new E_(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class b_{constructor(t,e,n,i){this.state=t,this.context=e,this.children=i,this.bounds=n}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}evaluate(t){t.try(this.children,null)}}class w_ extends b_{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Pt(t);Tt(e,At)}(this);let i=p_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});It(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class x_ extends w_{constructor(t,e,n,i,r,s){super(t,e,n,[]),this.key=i,this.memo=r,this.value=s,this.retained=!1,this.index=-1}shouldRemove(){return!this.retained}reset(){this.retained=!1}}class S_ extends b_{constructor(t,e,n,i,r){super(t,e,n,i),this.iterableRef=r,this.type="list-block",this.opcodeMap=new Map,this.marker=null,this.lastIterator=Rn(r)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=Rn(this.iterableRef);if(this.lastIterator!==e){let{bounds:n}=this,{dom:i}=t,r=this.marker=i.createComment("");i.insertAfter(n.parentElement(),r,n.lastNode()),this.sync(e),this.parentElement().removeChild(r),this.marker=null,this.lastIterator=e}super.evaluate(t)}sync(t){let{opcodeMap:e,children:n}=this,i=0,r=0;for(this.children=this.bounds.boundList=[];;){let s=t.next();if(null===s)break;let o=n[i],{key:a}=s;for(;void 0!==o&&o.retained;)o=n[++i];if(void 0!==o&&o.key===a)this.retainItem(o,s),i++;else if(e.has(a)){let t=e.get(a);if(t.index{let i=e.enterItem(t);i.index=s.length,s.push(i),n.set(a,i),It(this,i)})}moveItem(t,e,n){let i,r,{children:s}=this;Pn(t.memo,e.memo),Pn(t.value,e.value),t.retained=!0,void 0===n?im(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&im(t,r)),t.index=s.length,s.push(t)}deleteItem(t){At(t),rm(t),this.opcodeMap.delete(t.key)}}class E_{constructor(t,e){this.ops=t,this.exceptionHandler=e,this.current=0}goto(t){this.current=t}nextStatement(){return this.ops[this.current++]}handleException(){this.exceptionHandler&&this.exceptionHandler.handleException()}}class C_{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,It(this,i),Mt(this,()=>rm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new v_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class k_{static restore(t,e){const n=new this(t.slice(),[0,-1,t.length-1,0]);return n.registers[0]=e,n.registers[3]=t.length-1,n.registers[2]=-1,n}constructor(t=[],e){this.stack=t,this.registers=e}push(t){this.stack[++this.registers[3]]=t}dup(t=this.registers[3]){this.stack[++this.registers[3]]=this.stack[t]}copy(t,e){this.stack[e]=this.stack[t]}pop(t=1){let e=this.stack[this.registers[3]];return this.registers[3]-=t,e}peek(t=0){return this.stack[this.registers[3]-t]}get(t,e=this.registers[2]){return this.stack[e+t]}set(t,e,n=this.registers[2]){this.stack[n+e]=t}slice(t,e){return this.stack.slice(t,e)}capture(t){let e=this.registers[3]+1,n=e-t;return this.stack.slice(n,e)}reset(){this.stack.length=0}}class T_{constructor(t,e){this.drop={},this.scope=new an,this.dynamicScope=new an,this.updating=new an,this.cache=new an,this.list=new an,this.destroyable=new an,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class R_{#g;get stack(){return this.lowlevel.stack}get pc(){return this.lowlevel.fetchRegister(0)}#m;fetch(t){let e=this.fetchValue(t);this.stack.push(e)}load(t){let e=this.stack.pop();this.loadValue(t,e)}loadValue(t,e){this.#m[t]=e}fetchValue(t){return function(t){return t<=3}(t)?this.lowlevel.fetchRegister(t):this.#m[t]}call(t){null!==t&&this.lowlevel.call(t)}return(){this.lowlevel.return()}#y;constructor({scope:t,dynamicScope:e,stack:n,pc:i},r,s){this.#m=[null,null,null,null,null,null,null,null,null];let o=k_.restore(n,i);this.#y=s,this.context=r,this.#g=new T_(t,e),this.args=new Im,this.lowlevel=new Gy(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=tm.root(e.owner,e.scope??{self:mn,size:0});const i=function(t,e,n){return{pc:t,scope:e,dynamicScope:n,stack:[]}}(t.program.heap.getaddr(e.handle),n,e.dynamicScope);return new R_(i,t,e.tree)}compile(t){return Ng(t.compile(this.context))}get constants(){return this.context.program.constants}get program(){return this.context.program}get env(){return this.context.env}captureClosure(t,e=this.lowlevel.fetchRegister(0)){return{pc:e,scope:this.scope(),dynamicScope:this.dynamicScope(),stack:this.stack.capture(t)}}capture(t,e=this.lowlevel.fetchRegister(0)){return new P_(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new mm;e.push(n),e.push(new ym(t)),this.#g.cache.push(n),_e()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=ve();t.push(new _m(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new w_(e,this.context,n,[]);this.didEnter(i)}enterItem({key:t,value:e,memo:n}){let{stack:i}=this,r=Un(e),s=Un(n);i.push(r),i.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new x_(o,this.context,a,t,s,r);return this.didEnter(l),l}registerItem(t){this.listBlock().initializeChild(t)}enterList(t,e){let n=[],i=this.lowlevel.target(e),r=this.capture(0,i),s=this.tree().pushBlockList(n),o=new S_(r,this.context,s,n,t);this.#g.list.push(o),this.didEnter(o)}didEnter(t){this.associateDestroyable(t),this.#g.destroyable.push(t),this.updateWith(t),this.pushUpdating(t.children)}exit(){this.#g.destroyable.pop(),this.#y.popBlock(),this.popUpdating()}exitList(){this.exit(),this.#g.list.pop()}pushRootScope(t,e){let n=tm.sized(e,t);return this.#g.scope.push(n),n}pushChildScope(){this.#g.scope.push(this.scope().child())}pushScope(t){this.#g.scope.push(t)}popScope(){this.#g.scope.pop()}pushDynamicScope(){let t=this.dynamicScope().child();return this.#g.dynamicScope.push(t),t}bindDynamicScope(t){let e=this.dynamicScope();for(const n of Qe(t))e.set(n,this.stack.pop())}pushUpdating(t=[]){this.#g.updating.push(t)}popUpdating(){return this.#g.updating.pop()}updateWith(t){this.updating().push(t)}listBlock(){return this.#g.list.current}associateDestroyable(t){It(this.#g.destroyable.current,t)}updating(){return this.#g.updating.current}tree(){return this.#y}scope(){return this.#g.scope.current}dynamicScope(){return this.#g.dynamicScope.current}popDynamicScope(){this.#g.dynamicScope.pop()}getOwner(){return this.scope().owner}getSelf(){return this.scope().getSelf()}referenceForSymbol(t){return this.scope().getSymbol(t)}execute(t){return this._execute(t)}_execute(t){let e;t&&t(this);do{e=this.next()}while(!e.done);return e.value}next(){let t,{env:e}=this,n=this.lowlevel.nextStatement();return null!==n?(this.lowlevel.evaluateOuter(n,this),t={done:!1,value:null}):(this.stack.reset(),t={done:!0,value:new C_(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class P_{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new R_(this.state,this.context,t)}}class I_{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function M_(t,e,n,i,r,s=new Qg){let o=Ng(r.compile(t)),a=r.symbolTable.symbols.length,l=R_.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new I_(l)}function O_(t,e,n,i,r={},s=new Qg){return function(t,e,n,i,r){const s=Object.keys(r).map(t=>[t,r[t]]),o=["main","else","attrs"],a=s.map(([t])=>`@${t}`);let l=t.constants.component(i,n,void 0,"{ROOT}");t.lowlevel.pushFrame();for(let h=0;h<3*o.length;h++)t.stack.push(null);t.stack.push(null),s.forEach(([,e])=>{t.stack.push(e)}),t.args.setup(t.stack,a,o,0,!0);const u=l.compilable,c={handle:Ng(u.compile(e)),symbolTable:u.symbolTable};return t.stack.push(t.args),t.stack.push(c),t.stack.push(l),new I_(t)}(R_.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,i,function(t){const e=bn(t);return Object.keys(t).reduce((t,n)=>(t[n]=In(e,n),t),{})}(r))}class A_ extends em{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class L_ extends p_{constructor(t,e,n){if(super(t,e,n),this.unmatchedAttributes=null,this.blockDepth=0,n)throw new Error("Rehydration with nextSibling not supported");let i=this.currentCursor.element.firstChild;for(;null!==i&&!F_(i);)i=i.nextSibling;this.candidate=i;const r=D_(i);if(0!==r){const t=r-1,e=this.dom.createComment(`%+b:${t}%`);i.parentNode.insertBefore(e,this.candidate);let n=i.nextSibling;for(;null!==n&&(!z_(n)||D_(n)!==r);)n=n.nextSibling;const s=this.dom.createComment(`%-b:${t}%`);i.parentNode.insertBefore(s,n.nextSibling),this.candidate=e,this.startingBlockOffset=t}else this.startingBlockOffset=0}get currentCursor(){return this.cursors.current}get candidate(){return this.currentCursor?this.currentCursor.candidate:null}set candidate(t){this.currentCursor.candidate=t}disableRehydration(t){const e=this.currentCursor;e.candidate=null,e.nextSibling=t}enableRehydration(t){const e=this.currentCursor;e.candidate=t,e.nextSibling=null}pushElement(t,e=null){const n=new A_(t,e,this.blockDepth||0);null!==this.candidate&&(n.candidate=t.firstChild,this.candidate=t.nextSibling),this.cursors.push(n)}clearMismatch(t){let e=t;const n=this.currentCursor;if(null!==n){const t=n.openBlockDepth;if(t>=n.startingBlockDepth)for(;e&&!(z_(e)&&t>=N_(e,this.startingBlockOffset));)e=this.remove(e);else for(;null!==e;)e=this.remove(e);this.disableRehydration(e)}}__openBlock(){const{currentCursor:t}=this;if(null===t)return;const e=this.blockDepth;this.blockDepth++;const{candidate:n}=t;if(null===n)return;const{tagName:i}=t.element;F_(n)&&N_(n,this.startingBlockOffset)===e?(this.candidate=this.remove(n),t.openBlockDepth=e):"TITLE"!==i&&"SCRIPT"!==i&&"STYLE"!==i&&this.clearMismatch(n)}__closeBlock(){const{currentCursor:t}=this;if(null===t)return;const e=t.openBlockDepth;this.blockDepth--;const{candidate:n}=t;let i=!1;if(null!==n)if(i=!0,z_(n)&&N_(n,this.startingBlockOffset)===e){const e=this.remove(n);this.candidate=e,t.openBlockDepth--}else this.clearMismatch(n),i=!1;if(!i){const e=t.nextSibling;if(null!==e&&z_(e)&&N_(e,this.startingBlockOffset)===this.blockDepth){const n=this.remove(e);this.enableRehydration(n),t.openBlockDepth--}}}__appendNode(t){const{candidate:e}=this;return e||super.__appendNode(t)}__appendHTML(t){const e=this.markerBounds();if(e){const t=e.firstNode(),n=e.lastNode(),i=new nm(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&B_(r)&&(this.candidate=this.remove(r),null!==this.candidate&&this.clearMismatch(this.candidate)),i}return super.__appendHTML(t)}remove(t){const e=t.parentNode,n=t.nextSibling;return e.removeChild(t),n}markerBounds(){const t=this.candidate;if(t&&U_(t)){const e=t;let n=e.nextSibling;for(;!U_(n);)n=n.nextSibling;return new nm(this.element,e,n)}return null}__appendText(t){const{candidate:e}=this;return e?3===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):8===(n=e).nodeType&&"%|%"===n.nodeValue||B_(e)&&""===t?(this.candidate=this.remove(e),this.__appendText(t)):(this.clearMismatch(e),super.__appendText(t)):super.__appendText(t);var n}__appendComment(t){const e=this.candidate;return e&&8===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):(e&&this.clearMismatch(e),super.__appendComment(t))}__openElement(t){const e=this.candidate;if(e&&j_(e)&&function(t,e){return t.namespaceURI===zg?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(j_(e)&&"TBODY"===e.tagName)return this.pushElement(e,null),this.currentCursor.injectedOmittedNode=!0,this.__openElement(t);this.clearMismatch(e)}return super.__openElement(t)}__setAttribute(t,e,n){const i=this.unmatchedAttributes;if(i){const n=q_(i,t);if(n)return n.value!==e&&(n.value=e),void i.splice(i.indexOf(n),1)}return super.__setAttribute(t,e,n)}__setProperty(t,e){const n=this.unmatchedAttributes;if(n){const i=q_(n,t);if(i)return i.value!==e&&(i.value=e),void n.splice(n.indexOf(i),1)}return super.__setProperty(t,e)}__flushElement(t,e){const{unmatchedAttributes:n}=this;if(n){for(const t of n)this.constructing.removeAttribute(t.name);this.unmatchedAttributes=null}else super.__flushElement(t,e)}willCloseElement(){const{candidate:t,currentCursor:e}=this;null!==t&&this.clearMismatch(t),e&&e.injectedOmittedNode&&this.popElement(),super.willCloseElement()}getMarker(t,e){const n=t.querySelector(`script[glmr="${e}"]`);return n?Dg(n):null}__pushRemoteElement(t,e,n){const i=this.getMarker(t,e);if(!i||i.parentNode,void 0===n){for(;null!==t.firstChild&&t.firstChild!==i;)this.remove(t.firstChild);n=null}const r=new A_(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new g_(t);return this.pushBlock(s,!0)}didAppendBounds(t){if(super.didAppendBounds(t),this.candidate){const e=t.lastNode();this.candidate=e.nextSibling}return t}}function F_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function z_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function D_(t){return parseInt(t.nodeValue.slice(4),10)}function N_(t,e){return D_(t)-e}function j_(t){return 1===t.nodeType}function U_(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function B_(t){return 8===t.nodeType&&"% %"===t.nodeValue}function q_(t,e){for(const n of t)if(n.name===e)return n}function G_(t,e){return L_.forInitialRender(t,e)}const $_=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:nm,CurriedValue:Yg,CursorImpl:em,DOMChanges:by,DOMTreeConstruction:gy,DynamicAttribute:i_,DynamicScopeImpl:Qg,EMPTY_ARGS:Hm,EMPTY_NAMED:Vm,EMPTY_POSITIONAL:Wm,EnvironmentImpl:Cy,IDOMChanges:_y,LowLevelVM:Gy,NewTreeBuilder:p_,RehydrateTree:L_,RemoteBlock:g_,ResettableBlockImpl:m_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:tm,SimpleDynamicAttribute:r_,TEMPLATE_ONLY_COMPONENT_MANAGER:sy,TemplateOnlyComponent:oy,TemplateOnlyComponentManager:ry,UpdatingVM:v_,array:Iy,clear:rm,clientBuilder:__,concat:Oy,createCapturedArgs:Nm,curry:Jg,destroy:At,dynamicAttribute:e_,fn:Ay,get:Ly,hash:Fy,inTransaction:Ty,invokeHelper:function(t,e,n){const i=Xi(t),r=vi(e).getDelegateFor(i);let s,o=new Dy(t,n),a=r.createHelper(e,o);if(!si(r))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=Re(()=>r.getValue(a)),It(t,s),oi(r)&&It(s,r.getDestroyable(a)),s},isDestroyed:zt,isDestroying:Ft,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},isWhitespace:function(t){return my.test(t)},normalizeProperty:wy,on:qy,registerDestructor:Mt,rehydrationBuilder:G_,reifyArgs:function(t){return{named:jm(t.named),positional:Um(t.positional)}},reifyNamed:jm,reifyPositional:Um,renderComponent:O_,renderMain:M_,renderSync:function(t,e){let n;return Ty(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){ey=ty},runtimeOptions:ky,setDebuggerCallback:function(t){ey=t},templateOnlyComponent:ay},Symbol.toStringTag,{value:"Module"})),V_=qy,W_=Symbol("MUTABLE_CELL"),H_=Eg({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),K_=Eg({id:"Cc/BCoQJ",block:'[[[11,"input"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,4,[30,0,["type"]]],[16,"checked",[30,0,["checked"]]],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/input.hbs",scope:()=>[V_],isStrictMode:!0});function X_(){}class Y_{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,Zi(this,t)}get id(){return U(this)}get class(){return"ember-view"}validateArguments(){for(let t of Object.keys(this.args.named))this.isSupportedArgument(t)||this.onUnsupportedArgument(t)}named(t){let e=this.args.named[t];return e?Rn(e):void 0}positional(t){let e=this.args.positional[t];return e?Rn(e):void 0}listenerFor(t){return this.named(t)||X_}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${U(this)}>`}}const Z_=new WeakMap;function J_(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return Z_.set(n,t),bi(tv,n),Di(e,n),n}const Q_={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},tv=new class{getCapabilities(){return Q_}create(t,e,n,i,r,s){var o;let a=new(o=e,Z_.get(o))(t,n.capture(),Rn(s));return Oe(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return bn(t)}getDestroyable(t){return t}},ev=Object.freeze({});function nv(t){return function(t){return t.target}(t).value}function iv(t){return void 0===t?new rv(void 0):kn(t)?new rv(Rn(t)):Tn(t)?new sv(t):new ov(t)}class rv{static{Jc(this.prototype,"value",[ys])}#_=void eh(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class sv{constructor(t){this.reference=t}get(){return Rn(this.reference)}set(t){Pn(this.reference,t)}}class ov{local;upstream;lastUpstreamValue=ev;constructor(t){this.upstream=new sv(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new rv(t)),this.local.get()}set(t){this.local.set(t)}}class av extends Y_{validateArguments(){super.validateArguments()}_value=iv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=nv(t)}static{th(this.prototype,"valueDidChange",[cc])}change(t){this.valueDidChange(t)}input(t){this.valueDidChange(t)}keyUp(t){switch(t.key){case"Enter":this.listenerFor("enter")(t),this.listenerFor("insert-newline")(t);break;case"Escape":this.listenerFor("escape-press")(t)}}static{th(this.prototype,"keyUp",[cc])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(nv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let lv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,lv=n=>{let i=t[n];if(void 0===i){try{e.type=n,i=e.type===n}catch(r){i=!1}finally{e.type="text"}t[n]=i}return i}}else lv=t=>""!==t;class uv extends av{static toString(){return"Input"}get class(){return this.isCheckbox?"ember-checkbox ember-view":"ember-text-field ember-view"}get type(){let t=this.named("type");return null==t?"text":lv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=iv(this.args.named.checked);get checked(){return this.isCheckbox?this._checked.get():void 0}set checked(t){this._checked.set(t)}change(t){this.isCheckbox?this.checkedDidChange(t):super.change(t)}static{th(this.prototype,"change",[cc])}input(t){this.isCheckbox||super.input(t)}static{th(this.prototype,"input",[cc])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{th(this.prototype,"checkedDidChange",[cc])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const cv=J_(uv,K_),hv=Eg({id:"7Z3LFeO/",block:'[[[11,3],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[16,"role",[30,0,["role"]]],[16,"title",[30,0,["title"]]],[16,"rel",[30,0,["rel"]]],[16,"tabindex",[30,0,["tabindex"]]],[16,"target",[30,0,["target"]]],[17,1],[16,6,[30,0,["href"]]],[4,[32,0],["click",[30,0,["click"]]],null],[12],[18,2,null],[13]],["&attrs","&default"],["yield"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/link-to.hbs",scope:()=>[V_],isStrictMode:!0}),dv=[],pv={};function fv(t){return null==t}function gv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class mv extends Y_{static toString(){return"LinkTo"}static{Jc(this.prototype,"routing",[hf("-routing")])}#v=void eh(this,"routing");validateArguments(){super.validateArguments()}get class(){let t="ember-view";return this.isActive?(t+=this.classFor("active"),!1===this.willBeActive&&(t+=" ember-transitioning-out")):this.willBeActive&&(t+=" ember-transitioning-in"),this.isLoading&&(t+=this.classFor("loading")),this.isDisabled&&(t+=this.classFor("disabled")),t}get href(){if(this.isLoading)return"#";let{routing:t,route:e,models:n,query:i}=this;return Se(Ve(t,"currentState")),t.generateURL(e,n,i)}click(t){if(!dc(t))return;let e=t.currentTarget;if(""!==e.target&&"_self"!==e.target)return;if(this.preventDefault(t),this.isDisabled)return;if(this.isLoading)return;let{routing:n,route:i,models:r,query:s,replace:o}=this,a={transition:void 0};jc(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{th(this.prototype,"click",[cc])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=Re(()=>(Se(Ve(this.routing,"currentState")),Oe(()=>this.routing.currentRouteName)));get currentRoute(){return Pe(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:dv}get query(){return"query"in this.args.named?{...this.named("query")}:pv}get replace(){return!0===this.named("replace")}get isActive(){return this.isActiveForState(this.routing.currentState)}get willBeActive(){let t=this.routing.currentState,e=this.routing.targetState;return t===e?null:this.isActiveForState(e)}get isLoading(){return fv(this.route)||this.models.some(t=>fv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==jh(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||fv(e)?` ${t}`:e?` ${e}`:""}namespaceRoute(t){let{engineMountPoint:e}=this;return void 0===e?t:"application"===t?e:`${e}.${t}`}isActiveForState(t){if(!function(t){return!fv(t)}(t))return!1;if(this.isLoading)return!1;let e=this.named("current-when");if("boolean"==typeof e)return e;if("string"==typeof e){let{models:n,routing:i}=this;return e.split(" ").some(e=>i.isActiveForRoute(n,void 0,this.namespaceRoute(e),t))}{let{route:e,models:n,query:i,routing:r}=this;return r.isActiveForRoute(n,i,e,t)}}preventDefault(t){t.preventDefault()}isSupportedArgument(t){return-1!==["route","model","models","query","replace","disabled","current-when","activeClass","loadingClass","disabledClass"].indexOf(t)||super.isSupportedArgument(t)}}let{prototype:yv}=mv,_v=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||_v(Object.getPrototypeOf(t),e):null;{let t=yv.onUnsupportedArgument;Object.defineProperty(yv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=_v(yv,"models").get;Object.defineProperty(yv,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&gv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=_v(yv,"query").get;Object.defineProperty(yv,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return gv(t)?t.values??pv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(gv(t)&&null!==t.values)return t.values}return pv}}})}{let t=yv.onUnsupportedArgument;Object.defineProperty(yv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const vv=J_(mv,hv),bv=Eg({id:"KVdeMchh",block:'[[[11,"textarea"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/textarea.hbs",scope:()=>[V_],isStrictMode:!0});class wv extends av{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{th(this.prototype,"change",[cc])}input(t){super.input(t)}static{th(this.prototype,"input",[cc])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const xv=J_(wv,bv);function Sv(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function Ev(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?In(t,e[0]):Mn(t,e)}function Cv(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function kv(t,e,n,i){let[r,s,o]=n;if("id"===s){let e=us(t,r);null==e&&(e=t.elementId);let n=gn(e);return void i.setAttribute("id",n,!0,null)}let a=r.indexOf(".")>-1?Ev(e,r.split(".")):In(e,r);i.setAttribute(s,a,!1,null)}function Tv(t,e){let n;return xn(()=>{let i=Rn(t);return!0===i?n||(n=sf(e)):i||0===i?String(i):null})}function Rv(){}class Pv{classRef=null;rootRef;argsRevision;constructor(t,e,n,i,r,s){this.component=t,this.args=e,this.argsTag=n,this.finalizer=i,this.hasWrappedElement=r,this.isInteractive=s,this.classRef=null,this.argsRevision=null===e?0:Zt(n),this.rootRef=bn(t),Mt(this,()=>this.willDestroy(),!0),Mt(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){be(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),we();let e=vc(t);e&&(xc(e),Sc(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=Rv}}function Iv(t){let e=Object.create(null),n=Object.create(null);for(let i in t){let r=t[i],s=Rn(r);Tn(r)?e[i]=new Ov(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const Mv=Symbol("REF");class Ov{value;[W_];[Mv];constructor(t,e){this[W_]=!0,this[Mv]=t,this.value=e}update(t){Pn(this[Mv],t)}}const Av=ut("ARGS"),Lv=ut("HAS_BLOCK"),Fv=Symbol("DIRTY_TAG"),zv=Symbol("IS_DISPATCHING_ATTRS"),Dv=Symbol("BOUNDS"),Nv=gn("ember-view");class jv{templateFor(t){let e,{layout:n,layoutName:i}=t,r=Yi(t);if(void 0===n){if(void 0===i)return null;e=r.lookup(`template:${i}`)}else{if("function"!=typeof n)return null;e=n}return Sv(e(r)).asWrappedLayout()}getDynamicLayout(t){return this.templateFor(t.component)}getTagName(t){let{component:e,hasWrappedElement:n}=t;return n?e&&e.tagName||"div":null}getCapabilities(){return qv}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),i=Rn(t);return{positional:i.positional,named:{...n,...i.named}}}const{positionalParams:n}=t.class??t;if(null==n||0===e.positional.length)return null;let i;if("string"==typeof n){let t=e.positional.capture();i={[n]:xn(()=>Um(t))},Object.assign(i,e.named.capture())}else{if(!(Array.isArray(n)&&n.length>0))return null;{const t=Math.min(n.length,e.positional.length);i={},Object.assign(i,e.named.capture());for(let r=0;r{s.setAttribute("class",gn(t),!1,null)}),l&&l.length&&l.forEach(t=>{!function(t,e,n){let i=e.split(":"),[r,s,o]=i;if(""===r)n.setAttribute("class",gn(s),!0,null);else{let e,i=r.indexOf(".")>-1,a=i?r.split("."):[],l=i?Ev(t,a):In(t,r);e=void 0===s?Tv(l,i?a[a.length-1]:r):function(t,e,n){return xn(()=>Rn(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(i,t,s)}),s.setAttribute("class",Nv,!1,null),"ariaRole"in t&&s.setAttribute("role",In(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(be(),t.trigger("willInsertElement"),we())}didRenderLayout(t,e){t.component[Dv]=e,t.finalize()}didCreate({component:t,isInteractive:e}){e&&(t._transitionTo("inDOM"),t.trigger("didInsertElement"),t.trigger("didRender"))}update(t){let{component:e,args:n,argsTag:i,argsRevision:r,isInteractive:s}=t;if(t.finalizer=Bc("render.component",Bv,e),be(),null!==n&&!Jt(i,r)){_e();let r=Iv(n);i=t.argsTag=ve(),t.argsRevision=Zt(i),e[zv]=!0,e.setProperties(r),e[zv]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),we(),Se(i),Se(e[Fv])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function Uv(t){return t.instrumentDetails({initialRender:!0})}function Bv(t){return t.instrumentDetails({initialRender:!1})}const qv={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!0,hasSubOwner:!1},Gv=new jv;function $v(t){return t===Gv}let Vv=new WeakMap;const Wv=Object.freeze([]);class Hv extends(sh.extend(zl,oh,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:Wv,classNameBindings:Wv})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[zv]=!1,this[Fv]=ie(),this[Dv]=null;const e=this._dispatcher;if(e){let t=Vv.get(e);t||(t=new WeakSet,Vv.set(e,t));let n=Object.getPrototypeOf(this);t.has(n)||(e.lazyEvents.forEach((t,n)=>{null!==t&&"function"==typeof this[t]&&e.setupHandlerForBrowserEvent(n)}),t.add(n))}this.elementId||""===this.tagName||(this.elementId=U(this))}__dispatcher;get _dispatcher(){if(void 0===this.__dispatcher){let t=Yi(this);if(t.lookup("-environment:main").isInteractive){let e=t.lookup("event_dispatcher:main");this.__dispatcher=e}else this.__dispatcher=null}return this.__dispatcher}on(t,e,n){return this._dispatcher?.setupHandlerForEmberEvent(t),super.on(t,e,n)}_rerender(){ee(this[Fv]),this._superRerender()}[Gr](t,e){if(this[zv])return;let n=this[Av],i=void 0!==n?n[t]:void 0;void 0!==i&&Tn(i)&&Pn(i,2===arguments.length?e:us(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=vc(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=wy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return Cc(this)}static{th(this.prototype,"childViews",[ur({configurable:!1,enumerable:!1})])}appendChild(t){kc(this,t)}_transitionTo(t){let e=this._currentState,n=this._currentState=this._states[t];this._state=t,e&&e.exit&&e.exit(this),n.enter&&n.enter(this)}nearestOfType(t){let e=this.parentView;for(;e;){if(t.detect(e.constructor))return e;e=e.parentView}}nearestWithProperty(t){let e=this.parentView;for(;e;){if(t in e)return e;e=e.parentView}}rerender(){return this._currentState.rerender(this)}get element(){return this.renderer.getElement(this)}static{th(this.prototype,"element",[ur({configurable:!1,enumerable:!1})])}appendTo(t){let n;return n=e&&"string"==typeof t?document.querySelector(t):t,this.renderer.appendTo(this,n),this}append(){return this.appendTo(document.body)}willInsertElement(){return this}didInsertElement(){return this}willClearRender(){return this}destroy(){return super.destroy(),this._currentState.destroy(this),this}willDestroyElement(){return this}didDestroyElement(){return this}parentViewDidChange(){return this}handleEvent(t,e){return this._currentState.handleEvent(this,t,e)}static isComponentFactory=!0;static toString(){return"@ember/component"}}Hv.reopenClass({positionalParams:[]}),bi(Gv,Hv);const Kv=Symbol("RECOMPUTE_TAG"),Xv=Symbol("IS_CLASSIC_HELPER");class Yv extends Fc{static isHelperFactory=!0;static[Xv]=!0;static helper=eb;init(t){super.init(t),this[Kv]=ie()}recompute(){ea(()=>ee(this[Kv]))}}class Zv{capabilities=ri(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};Zi(e,t),this.ownerInjection=e}createHelper(t,e){var n;return{instance:null!=(n=t)&&"class"in n?t.create():t.create(this.ownerInjection),args:e}}getDestroyable({instance:t}){return t}getValue({instance:t,args:e}){let{positional:n,named:i}=e,r=t.compute(n,i);return Se(t[Kv]),r}getDebugName(t){return B((t.class||t).prototype)}}Li(t=>new Zv(t),Yv);const Jv=vi(Yv);class Qv{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const tb=new class{capabilities=ri(0,{hasValue:!0});createHelper(t,e){return()=>t.compute.call(null,e.positional,e.named)}getValue(t){return t()}getDebugName(t){return B(t.compute)}};function eb(t){return new Qv(t)}function nb(t){return{object:`${t.name}:main`}}Li(()=>tb,Qv.prototype);const ib={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},rb=ti(ib),sb=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:Bc("render.outlet",nb,e)};if(void 0!==i.debugRenderTree){let t=Rn(s),e=t?.render?.owner,n=Rn(o),i=n?.render?.owner;if(e&&e!==i){let{mountPoint:t}=i;t&&(a.engine={mountPoint:t,instance:i})}}return a}getDebugName({name:t}){return`{{outlet}} for ${t}`}getDebugCustomRenderTree(t,e){let n=[];return n.push({bucket:e,type:"outlet",name:"main",args:Hm,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Hm,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return ib}getSelf(){return mn}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},ob=Eg({id:"Hacwyo/Q",block:'[[[8,[30,1],null,[["@controller","@model"],[[30,2],[30,3]]],null]],["@Component","@controller","@model"],[]]',moduleName:"/home/runner/work/ember.js/ember.js/packages/@ember/-internals/glimmer/lib/component-managers/outlet.ts",isStrictMode:!0});class ab{handle=-1;resolvedName=null;manager=sb;capabilities=rb;compilable;constructor(t,e){this.state=e,this.compilable=Sv(ob(t)).asLayout()}}class lb extends jv{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=Bc("render.component",Uv,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new Pv(s,null,se,o,a,i);return Se(s[Fv]),l}}const ub={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!1,createArgs:!1,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!1,hasSubOwner:!1};class cb{handle=-1;resolvedName="-top-level";state;manager;capabilities=ti(ub);compilable=null;constructor(t){this.manager=new lb(t);let e=el(t);this.state=e}}function hb(t){return yi(t,{})}class db{constructor(t){this.inner=t}}const pb=hb(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return Se(er(t)),Bi(t)&&(t=Il(t)),new db(t)})});class fb{position=0;constructor(t){this.length=t}isEmpty(){return!1}memoFor(t){return t}next(){let{length:t,position:e}=this;if(e>=t)return null;let n=this.valueFor(e),i=this.memoFor(e);return this.position++,{value:n,memo:i}}}class gb extends fb{static from(t){return t.length>0?new this(t):null}static fromForEachable(t){let e=[];return t.forEach(t=>e.push(t)),this.from(e)}constructor(t){super(t.length),this.array=t}valueFor(t){return this.array[t]}}class mb extends fb{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return Ji(this.array,t)}}class yb extends fb{static fromIndexable(t){let e=Object.keys(t);if(0===e.length)return null;{let n=[];for(let i of e){let e;e=t[i],xe()&&(Se(Ve(t,i)),Array.isArray(e)&&Se(Ve(e,"[]"))),n.push(e)}return new this(e,n)}}static fromForEachable(t){let e=[],n=[],i=0,r=!1;return t.forEach(function(t,s){r=r||arguments.length>=2,r&&e.push(s),n.push(t),i++}),0===i?null:r?new this(e,n):new gb(n)}constructor(t,e){super(e.length),this.keys=t,this.values=e}valueFor(t){return this.values[t]}memoFor(t){return this.keys[t]}}class _b{static from(t){let e=t[Symbol.iterator](),n=e.next(),{done:i}=n;return i?null:new this(e,n)}position=0;constructor(t,e){this.iterable=t,this.result=e}isEmpty(){return!1}next(){let{iterable:t,result:e,position:n}=this;if(e.done)return null;let i=this.valueFor(e,n),r=this.memoFor(e,n);return this.position++,this.result=t.next(),{value:i,memo:r}}}class vb extends _b{valueFor(t){return t.value}memoFor(t,e){return e}}class bb extends _b{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function wb(t){return null!=t&&"function"==typeof t.forEach}function xb(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var Sb;Sb={scheduleRevalidate(){Qo.ensureInstance()},toBool:function(t){return Bi(t)?(Se(tr(t,"content")),Boolean(us(t,"isTruthy"))):Ch(t)?(Se(tr(t,"[]")),0!==t.length):null!==(e=t)&&"object"==typeof e&&"function"==typeof e.toHTML?Boolean(t.toString()):Boolean(t);var e},toIterator:function(t){return t instanceof db?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||$i(t)?yb.fromIndexable(t):xb(t)?bb.from(t):wb(t)?yb.fromForEachable(t):yb.fromIndexable(t):null}(t.inner):function(t){return O(t)?Array.isArray(t)?gb.from(t):$i(t)?mb.from(t):xb(t)?vb.from(t):wb(t)?gb.fromForEachable(t):null:null}(t)},getProp:cs,setProp:ws,getPath:us,setPath:bs,scheduleDestroy(t,e){ia("actions",null,e,t)},scheduleDestroyed(t){ia("destroy",null,t)}},Et=Sb.scheduleRevalidate,ft=Sb.scheduleDestroy,gt=Sb.scheduleDestroyed,mt=Sb.toIterator,yt=Sb.toBool,_t=Sb.getProp,vt=Sb.setProp,bt=Sb.getPath,wt=Sb.setPath;class Eb{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const Cb=hb(({positional:t,named:e})=>{const n=t[0];let i=e.type,r=e.loc,s=e.original;return Rn(i),Rn(r),Rn(s),xn(()=>Rn(n))});let kb;kb=t=>t.positional[0];const Tb=hb(kb),Rb=hb(({positional:t})=>xn(()=>{let e=t[0],n=t[1],i=Rn(e).split("."),r=i[i.length-1],s=Rn(n);return!0===s?sf(r):s||0===s?String(s):""})),Pb=hb(({positional:t},e)=>{let n=Rn(t[0]);return bn(e.factoryFor(n)?.class)}),Ib=hb(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return O(t)&&Se(tr(t,"[]")),t})}),Mb=hb(({positional:t})=>Cn(t[0])),Ob=hb(({positional:t})=>Sn(t[0])),Ab=hb(({positional:t,named:e})=>wn(Rn(t[0]))),Lb=hb(()=>bn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),Fb={dynamicLayout:!0,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!0},zb=new class{getDynamicLayout(t){return Sv(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return Fb}getOwner(t){return t.engine}create(t,{name:e},n,i){let r=t.buildChildEngineInstance(e);r.boot();let s,o,a,l,u=r.factoryFor("controller:application")||jd(r,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=u.create(),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l};else{let t=Rn(l);s=u.create({model:t}),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l}}return i.debugRenderTree&&It(r,s),a}getDebugName({name:t}){return t}getDebugCustomRenderTree(t,e,n,i){return[{bucket:e.engine,instance:e.engine,type:"engine",name:t.name,args:n},{bucket:e.controller,instance:e.controller,type:"route-template",name:"application",args:n,template:i}]}getSelf({self:t}){return t}getDestroyable(t){return t.engine}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}update(t){let{controller:e,modelRef:n}=t;void 0!==n&&e.set("model",Rn(n))}};class Db{handle=-1;state;manager=zb;compilable=null;capabilities=ti(Fb);constructor(t){this.resolvedName=t,this.state={name:t}}}const Nb=hb((t,e)=>{let n,i,r,s=t.positional[0];return n=Nm(t.named,Wm),xn(()=>{let t=Rn(s);return"string"==typeof t?(i===t||(i=t,r=Jg(0,new Db(t),e,n,!0)),r):(r=null,i=null,null)})}),jb={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},Ub=ti(jb),Bb=new class{create(t,e,n){let i=n.named.get("controller");return{self:i,controller:Rn(i)}}getSelf({self:t}){return t}getDebugName({name:t}){return`route-template (${t})`}getDebugCustomRenderTree({name:t,templateName:e},n,i){return[{bucket:n,type:"route-template",name:t,args:i,instance:n.controller,template:e}]}getCapabilities(){return jb}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class qb{handle=-1;resolvedName;state;manager=Bb;capabilities=Ub;compilable;constructor(t,e){let n=Sv(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Gb(t,e,n){return Jg(0,new qb(e,n),t,null,!0)}const $b=hb((t,e,n)=>{let i=xn(()=>{let t=Rn(n.get("outletState"));return t?.outlets?.main}),r=null,s=null;return xn(()=>{let t=Rn(i),n=function(t,e){if(void 0===e)return null;let n=e.render;if(void 0===n)return null;let i=n.template;return null==i?null:{ref:t,name:n.name,template:i,controller:n.controller}}(i,t);if(!function(t,e){return null!==t&&null!==e&&t.template===e.template&&t.controller===e.controller}(n,r))if(r=n,null!==n){let o,a=t?.render?.owner??e,l=rn(),u=n.template;o=xi(u)?u:Gb(a,n.name,u),l.Component=bn(o),l.controller=bn(n.controller);let c=Mn(i,["render","model"]),h=Rn(c);l.model=xn(()=>(r===n&&(h=Rn(c)),h));let d=Nm(l,Wm);s=Jg(0,new ab(e,n),a,d,!0)}else s=null;return s})});function Vb(t){return{object:`component:${t}`}}const Wb={mut:Mb,readonly:Ob,unbound:Ab,"-hash":Fy,"-each-in":pb,"-normalize-class":Rb,"-resolve":Pb,"-track-array":Ib,"-mount":Nb,"-outlet":$b,"-in-el-null":Tb},Hb={...Wb,array:Iy,concat:Oy,fn:Ay,get:Ly,hash:Fy,"unique-id":Lb};Hb["-disallow-dynamic-resolution"]=Cb;const Kb={},Xb={...Kb,on:qy};class Yb{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Hb[t];if(void 0!==n)return n;let i=e.factoryFor(`helper:${t}`);if(void 0===i)return null;let r=i.class;return void 0===r?null:"function"==typeof r&&!0===r[Xv]?(yi(Jv,i),i):r}lookupBuiltInHelper(t){return Wb[t]??null}lookupModifier(t,e){let n=Xb[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Kb[t]??null}lookupComponent(t,e){let n=function(t,e){let n=function(t,e){let n=`component:${t}`;return e.factoryFor(n)||null}(e,t);if(null!=(i=n)&&"function"==typeof i.create&&n.class){let t=Ni(n.class);if(void 0!==t)return{component:n,layout:t}}var i;return null===n?null:{component:n,layout:null}}(e,t);if(null===n)return null;let i,r=null;i=null===n.component?r=n.layout(e):n.component;let s=this.componentDefinitionCache.get(i);if(void 0!==s)return s;null===r&&null!==n.layout&&(r=n.layout(e));let o=Bc("render.getComponentDefinition",Vb,t),a=null;if(null===n.component)a={state:ay(void 0,t),manager:sy,template:r};else{let t=n.component,e=t.class,i=wi(e);a={state:$v(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Zb="-top-level";class Jb{static extend(t){return class extends Jb{static create(e){return e?super.create(Object.assign({},t,e)):super.create(t)}}}static reopenClass(t){Object.assign(this,t)}static create(t){let{environment:e,application:n,template:i}=t,r=Yi(t),s=i(r);return new Jb(e,r,s,n)}ref;state;constructor(t,e,n,i){this._environment=t,this.owner=e,this.template=n,this.namespace=i;let r=ie(),s={outlets:{main:void 0},render:{owner:e,name:Zb,controller:void 0,model:void 0,template:n}},o=this.ref=xn(()=>(Se(r),s),t=>{ee(r),s.outlets.main=t});this.state={ref:o,name:Zb,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,ia("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){Pn(this.ref,t)}destroy(){}}class Qb{constructor(t,e){this.view=t,this.outletState=e}child(){return new Qb(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const tw=()=>{};class ew{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=O_(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();It(this,this.#b),this.#w=()=>{if(!Ft(r)&&!zt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){At(this)}get destroyed(){return zt(this)}get result(){return this.#b}}class nw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Jb?U(t):gc(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=Sv(i).asLayout(),l=M_(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),u=this.result=l.sync();It(n,u),this.render=()=>{if(!Ft(u)&&!zt(u))return u.rerender({alwaysRevalidate:!1})}}}isFor(t){return this.root===t}destroy(){let{result:t,env:e}=this;this.destroyed=!0,this.root=null,this.result=void 0,this.render=void 0,void 0!==t&&Ty(e,()=>At(t))}}const iw=[];function rw(t){let e=iw.indexOf(t);iw.splice(e,1)}let sw=null,ow=0;Qo.on("begin",function(){for(let t of iw)t.rerender()}),Qo.on("end",function(){for(let t of iw)if(!t.isValid()){if(ow>g._RERENDER_LOOP_LIMIT)throw ow=0,t.destroy(),new Error("infinite rendering invalidation detected");return ow++,Qo.join(null,tw)}ow=0,function(){if(null!==sw){let t=sw.resolve;sw=null,Qo.join(null,t)}}()});class aw{static create(t,e){const n=new aw(t,e);return It(e,n),n}#x;#S=-1;#E=!1;#C=!1;#k=[];#T=[];constructor(t,e){this.#x=t,Mt(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#k,inRenderTransaction:this.#E,isInteractive:this.isInteractive}}get roots(){return this.#k}get owner(){return this.#x.owner}get builder(){return this.#x.builder}get context(){return this.#x.context}get env(){return this.context.env}get isInteractive(){return this.#x.context.env.isInteractive}renderRoot(t,e){let n=this.#k;return n.push(t),It(this,t),1===n.length&&function(t){iw.push(t)}(e),this.#R(e),t}#R(t){if(this.#E)return;this.#E=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#S=Zt(ce)),this.#E=!1}}renderRoots(t){let e,n=this.#k,i=this.#T;do{e=n.length,Ty(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=Zt(ce)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#k.length&&rw(t)}scheduleRevalidate(t){Qo.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#C||0===this.#k.length||Jt(ce,this.#S)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#k;for(let n of e)At(n);this.#T.length=0,this.#k=[],e.length&&rw(t)}}class lw{static strict(t,n,i){return new lw(t,{hasDOM:e,...i},n,new Yb,__)}state;constructor(t,e,n,i,r){let s={constants:new Mg,heap:new Ag},o=ky({document:n},new Eb(t,e.isInteractive),s,i),a=new bg(s,t=>new Og(t),o);this.state=aw.create({owner:t,context:a,builder:r},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){At(this)}render(t,e){const n=new ew(this.state,t,{args:e.args,into:(i=e.into,"element"in i?i:{element:i,nextSibling:null})});var i;return this.state.renderRoot(n,this)}rerender(){this.state.scheduleRevalidate(this)}}class uw extends lw{static strict(t,n,i){return new lw(t,{hasDOM:e,...i},n,new Yb,__)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=Yi(t),i=n.lookup("service:-document"),r=n.lookup("-environment:main"),s=n.lookup(ll`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=__,o=new Yb){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new ab((i=t).owner,i.state);var i;let{name:r,template:s}=t.state,o=rn();o.Component=bn(Gb(t.owner,r,s)),o.controller=mn,o.model=mn;let a=Nm(o,Wm);this._appendDefinition(t,Jg(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new cb(t);this._appendDefinition(t,Jg(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=bn(e),r=new Qb(null,mn),s=new nw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(zt(this))return;let e=this.state.roots,n=e.length;for(;n--;){let i=e[n];"classic"===i.type&&i.isFor(t)&&(i.destroy(),e.splice(n,1))}}remove(t){t._transitionTo("destroying"),this.cleanupRootFor(t),this.state.isInteractive&&t.trigger("didDestroyElement")}get _roots(){return this.state.debug.roots}get _inRenderTransaction(){return this.state.debug.inRenderTransaction}get _isInteractive(){return this.state.debug.isInteractive}get _context(){return this.state.context}register(t){let e=gc(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[gc(t)]}getElement(t){if(this._isInteractive)return vc(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[Dv];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const cw=Eg({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[$b],isStrictMode:!0});class hw extends Uh{rootElement=null;init(t){super.init(t),this.application._watchInstance(this),this.register("-application-instance:main",this,{instantiate:!1})}_bootSync(t){return this._booted||(t=new dw(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&bs(this.router,"location",t.location),this.application.runInstanceInitializers(this),t.isInteractive&&this.setupEventDispatcher(),this._booted=!0),this}setupRegistry(t){this.constructor.setupRegistry(this.__registry__,t)}_router;get router(){if(!this._router){let t=this.lookup("router:main");this._router=t}return this._router}didCreateRootView(t){t.appendTo(this.rootElement)}startRouting(){this.router.startRouting()}setupRouter(){this.router.setupRouter()}handleURL(t){return this.setupRouter(),this.router.handleURL(t)}setupEventDispatcher(){let t=this.lookup("event_dispatcher:main"),e=us(this.application,"customEvents"),n=us(this,"customEvents"),i=Object.assign({},e,n);return t.setup(i,this.rootElement),t}getURL(){return this.router.url}visit(t){this.setupRouter();let e=this.__container__.lookup("-environment:main"),n=this.router,i=()=>e.options.shouldRender?(null===sw&&(sw=$u.defer(),Yo()||Qo.schedule("actions",null,tw)),sw.promise).then(()=>this):this,r=t=>{if(t.error&&t.error instanceof Error)throw t.error;if("TransitionAborted"===t.name&&n._routerMicrolib.activeTransition)return n._routerMicrolib.activeTransition.then(i,r);throw"TransitionAborted"===t.name?new Error(t.message):t},s=us(n,"location");return s.setURL(t),n.handleURL(s.getURL()).then(i,r)}willDestroy(){super.willDestroy(),this.application._unwatchInstance(this)}static setupRegistry(t,e={}){let n=e instanceof dw?e:new dw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class dw{isInteractive;_renderMode;isBrowser;location=null;shouldRender;document;rootElement;constructor(t={}){this.isInteractive=Boolean(e),this._renderMode=t._renderMode,void 0!==t.isBrowser?this.isBrowser=Boolean(t.isBrowser):this.isBrowser=Boolean(e),this.isBrowser||(this.isInteractive=!1,this.location="none"),void 0!==t.shouldRender?this.shouldRender=Boolean(t.shouldRender):this.shouldRender=!0,this.shouldRender||(this.isInteractive=!1),t.document?this.document=t.document:this.document="undefined"!=typeof document?document:null,t.rootElement&&(this.rootElement=t.rootElement),void 0!==t.location&&(this.location=t.location),void 0!==t.isInteractive&&(this.isInteractive=Boolean(t.isInteractive))}toEnvironment(){return{...l,hasDOM:this.isBrowser,isInteractive:this.isInteractive,_renderMode:this._renderMode,options:this}}}class pw extends ac{static NAMESPACES=Ws;static NAMESPACES_BY_ID=Hs;static processAll=Qs;static byName=Zs;init(t){super.init(t),Ks(this)}toString(){let t=us(this,"name")||us(this,"modulePrefix");if(t)return t;Ys();let e=Bs(this);return void 0===e&&(e=U(this),Us(this,e)),e}nameClasses(){Js(this)}destroy(){return Xs(this),super.destroy()}}pw.prototype.isNamespace=!0;const fw=Object.freeze(Object.defineProperty({__proto__:null,default:pw},Symbol.toStringTag,{value:"Module"}));var gw=function(){function t(){this._vertices=new mw}return t.prototype.add=function(t,e,n,i){if(!t)throw new Error("argument `key` is required");var r=this._vertices,s=r.add(t);if(s.val=e,n)if("string"==typeof n)r.addEdge(s,r.add(n));else for(var o=0;o0){var i="cycle detected: "+e;throw this.each(this.path,function(t){i+=" <- "+t}),new Error(i)}}},t.prototype.reset=function(){this.stack.length=0,this.path.length=0,this.result.length=0;for(var t=0,e=this.length;t=0){var a=this[o];if(a.flag)continue;if(a.flag=!0,r.push(o),e===a.key)break;i.push(~o),this.pushIncoming(a)}else r.pop(),s.push(~o)}},t.prototype.pushIncoming=function(t){for(var e=this.stack,n=t.length-1;n>=0;n--){var i=t[n];this[i].flag||e.push(i)}},t.prototype.each=function(t,e){for(var n=0,i=t.length;n{for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.test(e)&&"class"===uh(t[e])&&n.push(sf(e.replace(i,"")))}),n}}class vw extends ac{componentFor(t,e){let n=`component:${t}`;return e.factoryFor(n)}layoutFor(t,e,n){let i=`template:components/${t}`;return e.lookup(i,n)}}const bw=new WeakMap;class ww extends p_{__openBlock(){let{tagName:t}=this.element;if("TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=this.serializeBlockDepth++;this.__appendComment(`%+b:${t}%`)}super.__openBlock()}__closeBlock(){let{tagName:t}=this.element;if(super.__closeBlock(),"TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=--this.serializeBlockDepth;this.__appendComment(`%-b:${t}%`)}}__appendHTML(t){let{tagName:e}=this.element;if("TITLE"===e||"SCRIPT"===e||"STYLE"===e)return super.__appendHTML(t);let n=this.__appendComment("%glmr%");if("TABLE"===e){let e=t.indexOf("<");e>-1&&"tr"===t.slice(e+1,e+3)&&(t=`${t}`)}""===t?this.__appendComment("% %"):super.__appendHTML(t);let i=this.__appendComment("%glmr%");return new nm(this.element,n,i)}__appendText(t){let{tagName:e}=this.element,n=function(t){let{element:e,nextSibling:n}=t;return null===n?e.lastChild:n.previousSibling}(this);return"TITLE"===e||"SCRIPT"===e||"STYLE"===e?super.__appendText(t):""===t?this.__appendComment("% %"):(n&&3===n.nodeType&&this.__appendComment("%|%"),super.__appendText(t))}closeElement(){return bw.has(this.element)&&(bw.delete(this.element),super.closeElement()),super.closeElement()}openElement(t){return"tr"===t&&"TBODY"!==this.element.tagName&&"THEAD"!==this.element.tagName&&"TFOOT"!==this.element.tagName&&(this.openElement("tbody"),bw.set(this.constructing,!0),this.flushElement(null)),super.openElement(t)}pushRemoteElement(t,e,n=null){let{dom:i}=this,r=i.createElement("script");return r.setAttribute("glmr",e),i.insertBefore(t,r,n),super.pushRemoteElement(t,e,n)}constructor(...t){super(...t),this.serializeBlockDepth=0}}function xw(t,e){return ww.forInitialRender(t,e)}function Sw(t){t.register("service:-dom-builder",{create(t){switch(Yi(t).lookup("-environment:main")._renderMode){case"serialize":return xw.bind(null);case"rehydrate":return G_.bind(null);default:return __.bind(null)}}}),t.register(ll`template:-root`,H_),t.register("renderer:-dom",uw)}class Ew extends(pw.extend(Cl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=kw("initializers");static instanceInitializer=kw("instanceInitializers");static buildRegistry(t){let e=new sl({resolver:Cw(t)});return e.set=bs,e.register("application:main",t,{instantiate:!1}),function(t){t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.register("controller:basic",zh,{instantiate:!1}),t.register("service:-routing",yf),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",_w),t.register("component-lookup:main",vw)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Jb),t.register("template:-outlet",cw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",cv),t.register("component:link-to",vv),t.register("component:textarea",xv)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),Uh.create({...t,base:this})}buildRegistry(){return this.__registry__=this.constructor.buildRegistry(this)}initializer(t){this.constructor.initializer(t)}instanceInitializer(t){this.constructor.instanceInitializer(t)}runInitializers(){this._runInitializer("initializers",(t,e)=>{e.initialize(this)})}runInstanceInitializers(t){this._runInitializer("instanceInitializers",(e,n)=>{n.initialize(t)})}_runInitializer(t,e){let n,i=us(this.constructor,t),r=function(t){let e=[];for(let n in t)e.push(n);return e}(i),s=new gw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function Cw(t){let e={namespace:t};return t.Resolver.create(e)}function kw(t){return function(e){let n=this.superclass;if(void 0!==n[t]&&n[t]===this[t]){let e={[t]:Object.create(this[t])};this.reopenClass(e)}this[t][e.name]=e}}const Tw=Ba,Rw=Zi;class Pw extends Ew{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",Op),t.register("-view-registry:main",{create:()=>Ga(null)}),t.register("route:basic",Zd),t.register("event_dispatcher:main",Oc),t.register("location:hash",$p),t.register("location:history",Hp),t.register("location:none",Kp),t.register(ll`-bucket-cache:main`,{create:()=>new rp}),t.register("service:router",mf)}(e),Sw(e),e}static initializer=kw("initializers");static instanceInitializer=kw("instanceInitializers");init(t){super.init(t),this.rootElement??="body",this._document??=null,this.eventDispatcher??=null,this.customEvents??=null,this.autoboot??=!0,this._document??=e?window.document:null,this._globalsMode??=!0,this._readinessDeferrals=1,this._booted=!1,this._applicationInstances=new Set,this.autoboot=this._globalsMode=Boolean(this.autoboot),this._globalsMode&&this._prepareForGlobalsMode(),this.autoboot&&this.waitForDOMReady()}buildInstance(t={}){return hw.create({...t,base:this,application:this})}_watchInstance(t){this._applicationInstances.add(t)}_unwatchInstance(t){return this._applicationInstances.delete(t)}Router;_prepareForGlobalsMode(){this.Router=(this.Router||Op).extend(),this._buildDeprecatedInstance()}__deprecatedInstance__;__container__;_buildDeprecatedInstance(){let t=this.buildInstance();this.__deprecatedInstance__=t,this.__container__=t.__container__}waitForDOMReady(){const t=this._document;if(null===t||"loading"!==t.readyState)ia("actions",this,this.domReady);else{let e=()=>{t.removeEventListener("DOMContentLoaded",e),ta(this,this.domReady)};t.addEventListener("DOMContentLoaded",e)}}domReady(){this.isDestroying||this.isDestroyed||this._bootSync()}deferReadiness(){this._readinessDeferrals++}advanceReadiness(){this._readinessDeferrals--,0===this._readinessDeferrals&&ra(this,this.didBecomeReady)}_bootPromise=null;boot(){if(this._bootPromise)return this._bootPromise;try{this._bootSync()}catch(t){}return this._bootPromise}_bootResolver=null;_bootSync(){if(this._booted||this.isDestroying||this.isDestroyed)return;let t=this._bootResolver=Vu.defer();this._bootPromise=t.promise;try{this.runInitializers(),Ha("application",this),this.advanceReadiness()}catch(Gz){throw t.reject(Gz),Gz}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,ea(this,function(){ta(t,"destroy"),this._buildDeprecatedInstance(),ia("actions",this,"_bootSync")})}didBecomeReady(){if(!this.isDestroying&&!this.isDestroyed)try{if(this.autoboot){let t;t=this._globalsMode?this.__deprecatedInstance__:this.buildInstance(),t._bootSync(),this.ready(),t.startRouting()}this._bootResolver.resolve(this),this._booted=!0}catch(Gz){throw this._bootResolver.reject(Gz),Gz}}ready(){return this}willDestroy(){super.willDestroy(),Wa.application===this&&(Wa.application=void 0),this._applicationInstances.size&&(this._applicationInstances.forEach(t=>t.destroy()),this._applicationInstances.clear())}visit(t,e){return this.boot().then(()=>{let n=this.buildInstance();return n.boot(e).then(()=>n.visit(t)).catch(t=>{throw ta(n,"destroy"),t})})}}const Iw=Object.freeze(Object.defineProperty({__proto__:null,_loaded:Wa,default:Pw,getOwner:Tw,onLoad:function(t,e){let n=Va[t];($a[t]??=[]).push(e),n&&e(n)},runLoadHooks:Ha,setOwner:Rw},Symbol.toStringTag,{value:"Module"})),Mw=Object.assign({},{});function Ow(){return Aw.global}const Aw={packages:{},global:{}};let Lw="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(Lw){let t={config:function(t){return Aw.packages[t]},getGlobalConfig:Ow,setConfig(t,e){Aw.packages[t]=e},setGlobalConfig(t,e){Aw.global[t]=e}};for(let e of Lw)e(t)}const Fw={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},zw=Object.freeze(Object.defineProperty({__proto__:null,default:Fw,enterTestMode:function(){Fw.locationType="none",Fw.APP.rootElement="#ember-testing",Fw.APP.autoboot=!1;const t=Ow()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var Dw;Dw={throwOnUnhandled:!1,workflow:[]},self.deprecationWorkflow=self.deprecationWorkflow||{},self.deprecationWorkflow.deprecationLog={messages:new Set},self.deprecationWorkflow.flushDeprecations=t=>function({handler:t="silence",config:e={}}={}){let n=self.deprecationWorkflow.deprecationLog.messages,i=e.workflow??[],r=n.values().filter(t=>!i.some(e=>e.matchId===t)).map(e=>({handler:t,matchId:e})),s={...e,workflow:[...i,...r]};return`import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow';\n\nsetupDeprecationWorkflow(${JSON.stringify(s,void 0,2)});`}({config:Dw,...t});const Nw=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let jw;!function(){const t="TEST_WAITERS",e="undefined"!=typeof Symbol?Symbol.for(t):t,n=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;throw new Error("unable to locate global object")}();let i=n[e];void 0===i&&(i=n[e]=new Map)}(),jw=Op;var Uw=jw;class Bw extends Uw{location=Fw.locationType;rootURL=Fw.rootURL}Bw.map(function(){this.route("place",{path:"/place/:place_id"})});const qw=Object.freeze(Object.defineProperty({__proto__:null,default:Bw},Symbol.toStringTag,{value:"Module"})),Gw=Object.freeze(Object.defineProperty({__proto__:null,default:class extends df{async getNearbyPois(t,e,n=50){const i=`\n[out:json][timeout:25];\n(\n nwr["amenity"](around:${n},${t},${e});\n nwr["shop"](around:${n},${t},${e});\n nwr["tourism"](around:${n},${t},${e});\n nwr["leisure"](around:${n},${t},${e});\n nwr["historic"](around:${n},${t},${e});\n);\nout center;\n `.trim(),r=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(i)}`,s=await fetch(r);if(!s.ok)throw new Error("Overpass request failed");return(await s.json()).elements}async getPoiById(t){const e=`\n[out:json][timeout:25];\n(\n node(${t});\n way(${t});\n relation(${t});\n);\nout center;\n `.trim(),n=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(e)}`,i=await fetch(n);if(!i.ok)throw new Error("Overpass request failed");return(await i.json()).elements[0]}}},Symbol.toStringTag,{value:"Module"}));function $w(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Vw,Ww={exports:{}},Hw=(Vw||(Vw=1,Ww.exports=function(){var t={548:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Access=void 0;class n{constructor(){this.reset()}get scopes(){return Object.keys(this.scopeModeMap).map(t=>({name:t,mode:this.scopeModeMap[t]}))}get scopeParameter(){return this.scopes.map(t=>`${this._scopeNameForParameter(t)}:${t.mode}`).join(" ")}claim(t,e){if("string"!=typeof t||-1!==t.indexOf("/")||0===t.length)throw new Error("Scope should be a non-empty string without forward slashes");if("string"!=typeof e||!e.match(/^rw?$/))throw new Error("Mode should be either 'r' or 'rw'");this._adjustRootPaths(t),this.scopeModeMap[t]=e}get(t){return this.scopeModeMap[t]}remove(t){const e={};for(const n in this.scopeModeMap)e[n]=this.scopeModeMap[n];this.reset(),delete e[t];for(const n in e)this.claim(n,e[n])}checkPermission(t,e){const n=this.get(t);return n&&("r"===e||"rw"===n)}checkPathPermission(t,e){if(this.checkPermission("*",e))return!0;const n=this._getModuleName(t);return!!this.checkPermission(n,e)}reset(){this.rootPaths=[],this.scopeModeMap={}}_getModuleName(t){if("/"!==t[0])throw new Error("Path should start with a slash");const e=t.replace(/^\/public/,"").match(/^\/([^/]*)\//);return e?e[1]:"*"}_adjustRootPaths(t){"*"in this.scopeModeMap||"*"===t?this.rootPaths=["/"]:t in this.scopeModeMap||(this.rootPaths.push("/"+t+"/"),this.rootPaths.push("/public/"+t+"/"))}_scopeNameForParameter(t){if("*"===t.name&&this.storageType){if("2012.04"===this.storageType)return"";if(this.storageType.match(/remotestorage-0[01]/))return"root"}return t.name}setStorageType(t){this.storageType=t}static _rs_init(){}}e.Access=n,e.default=n},275:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Authorize=void 0;const s=r(n(334)),o=n(746),a=r(n(503)),l=n(368);let u;function c(t){const e=t||h.getLocation().href,n={};for(const[s,o]of new URL(e).searchParams)n[s]=o;const i=e.indexOf("#");if(-1===i)return n;const r=e.substring(i+1);return r.includes("=")?r.split("&").reduce(function(t,e){const n=e.split("=");if("state"===n[0]&&n[1].match(/rsDiscovery/)){let e=decodeURIComponent(n[1]);const i=e.substr(e.indexOf("rsDiscovery=")).split("&")[0].split("=")[1];t.rsDiscovery=JSON.parse(atob(i)),e=e.replace(new RegExp("&?rsDiscovery="+i),""),e.length>0&&(t.state=e)}else t[decodeURIComponent(n[0])]=decodeURIComponent(n[1]);return t},n):n}class h{static authorize(t,e){if((0,s.default)("[Authorize] authURL = ",e.authURL,"scope = ",e.scope,"redirectUri = ",e.redirectUri,"clientId = ",e.clientId,"response_type =",e.response_type),!e.scope)throw new Error("Cannot authorize due to undefined or empty scope; did you forget to access.claim()?");if(!(0,o.localStorageAvailable)()&&"remotestorage"===t.backend){e.redirectUri+=e.redirectUri.indexOf("#")>0?"&":"#";const n={userAddress:t.remote.userAddress,href:t.remote.href,storageApi:t.remote.storageApi,properties:t.remote.properties};e.redirectUri+="rsDiscovery="+(0,o.toBase64)(JSON.stringify(n))}const n=function(t){const e=new URL(t.redirectUri);t.state||(t.state=e.hash?e.hash.substring(1):""),t.response_type||(t.response_type="token");const n=new URL(t.authURL);n.searchParams.set("redirect_uri",t.redirectUri.replace(/#.*$/,"")),n.searchParams.set("scope",t.scope),n.searchParams.set("client_id",t.clientId);for(const i of["state","response_type","code_challenge","code_challenge_method","token_access_type"]){const e=t[i];e&&n.searchParams.set(i,e)}return n.href}(e);o.globalContext.cordova?h.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):h.setLocation(n)}static refreshAccessToken(t,e,n){return i(this,void 0,void 0,function*(){var t,i,r;yield e.configure({token:null,tokenType:null});const o=new URLSearchParams({grant_type:"refresh_token",client_id:e.clientId,refresh_token:n}),u=yield(0,l.requestWithTimeout)("POST",e.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString(),responseType:"json"});if(200!==(null==u?void 0:u.status))throw yield e.configure({refreshToken:null}),new a.default("refresh token rejected:"+JSON.stringify(u.response));{(0,s.default)(`[Authorize] access token good for ${null===(t=null==u?void 0:u.response)||void 0===t?void 0:t.expires_in} seconds`);const n={token:null===(i=null==u?void 0:u.response)||void 0===i?void 0:i.access_token,tokenType:null===(r=null==u?void 0:u.response)||void 0===r?void 0:r.token_type};if(!n.token)throw new Error(`no access_token in "successful" refresh: ${u.response}`);yield e.configure(n)}})}static setLocation(t){if("string"==typeof t)document.location.href=t;else{if("object"!=typeof t)throw"Invalid location "+t;document.location=t}}static _rs_supported(){return"undefined"!=typeof document}static _rs_cleanup(t){t.removeEventListener("features-loaded",u)}}e.Authorize=h,h.IMPLIED_FAKE_TOKEN=!1,h.getLocation=function(){return document.location},h.openWindow=function(t,e,n){return new Promise((i,r)=>{const s=open(t,"_blank",n);function o(){r("Authorization was canceled")}s&&!s.closed?(s.addEventListener("loadstart",function(t){if(0!==t.url.indexOf(e))return;s.removeEventListener("exit",o),s.close();const n=c(t.url);n?i(n):r("Authorization error")}),s.addEventListener("exit",o)):r("Authorization popup was blocked")})},h._rs_init=function(t){const e=c();let n;e&&(n=h.getLocation(),n.hash=""),u=function(){let r=!1;if(e){if(e.error)throw"access_denied"===e.error?new a.default("Authorization failed: access denied",{code:"access_denied"}):new a.default(`Authorization failed: ${e.error}`);e.rsDiscovery&&t.remote.configure(e.rsDiscovery),e.access_token&&(t.remote.configure({token:e.access_token}),r=!0),e.remotestorage&&(t.connect(e.remotestorage),r=!0),e.state&&(n=h.getLocation(),h.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){i(this,void 0,void 0,function*(){var i,r,o,a;const u=sessionStorage.getItem("remotestorage:codeVerifier");if(!u)return void(0,s.default)("[Authorize] Ignoring OAuth code parameter, because no PKCE code verifier found in sessionStorage");n=h.getLocation();let c=n.origin;"/"!==n.pathname&&(c+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:c,code_verifier:u}),p=yield(0,l.requestWithTimeout)("POST",t.remote.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),responseType:"json"});if(200===p.status){(0,s.default)(`[Authorize] access token good for ${null===(i=null==p?void 0:p.response)||void 0===i?void 0:i.expires_in} seconds`);const e={token:null===(r=null==p?void 0:p.response)||void 0===r?void 0:r.access_token,refreshToken:null===(o=null==p?void 0:p.response)||void 0===o?void 0:o.refresh_token,tokenType:null===(a=null==p?void 0:p.response)||void 0===a?void 0:a.token_type};e.token?t.remote.configure(e):t._emit("error",new Error(`no access_token in "successful" response: ${p.response}`)),sessionStorage.removeItem("remotestorage:codeVerifier")}else t._emit("error",new Error(`${p.statusText}: ${p.response}`))})}(e.code),r=!0),r||t.remote.stopWaitingForToken()}else t.remote.stopWaitingForToken()},t.on("features-loaded",u)},e.default=h},424:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClient=void 0;const s=r(n(439)),o=r(n(613)),a=r(n(491)),l=r(n(93)),u=r(n(28)),c=n(746);class h{constructor(t,e){if(this.schemas={configurable:!0,get(){return h.Types.inScope(this.moduleName)}},"/"!==e[e.length-1])throw"Not a folder: "+e;"/"===e&&(this.makePath=t=>("/"===t[0]?"":"/")+t),this.storage=t,this.base=e,this.moduleName=function(t){const e=t.split("/");return t.length>2?e[1]:"root"}(this.base),this.addEvents(["change"]),this.on=this.on.bind(this),t.onChange(this.base,this._fireChange.bind(this))}scope(t){return new h(this.storage,this.makePath(t))}getListing(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,c.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(t=>404===t.statusCode?{}:t.body)})}getAll(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,c.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(n=>{if(404===n.statusCode)return{};if("object"==typeof n.body){const i=Object.keys(n.body);if(0===i.length)return{};const r=i.map(i=>this.storage.get(this.makePath(t+i),e).then(t=>{if("string"==typeof t.body)try{t.body=JSON.parse(t.body)}catch(t){}"object"==typeof t.body&&(n.body[i]=t.body)}));return Promise.all(r).then(()=>n.body)}})})}getFile(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getFile must be a string"):this.storage.get(this.makePath(t),e).then(t=>({data:t.body,contentType:t.contentType,revision:t.revision}))})}storeFile(t,e,n){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'contentType' of baseClient.storeFile must be a string"):"string"!=typeof e?Promise.reject("Argument 'path' of baseClient.storeFile must be a string"):"string"!=typeof n&&"object"!=typeof n?Promise.reject("Argument 'body' of baseClient.storeFile must be a string, ArrayBuffer, or ArrayBufferView"):(this.storage.access.checkPathPermission(this.makePath(e),"rw")||console.warn("WARNING: Editing a document to which only read access ('r') was claimed"),this.storage.put(this.makePath(e),n,t).then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode)))})}getObject(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getObject must be a string"):this.storage.get(this.makePath(t),e).then(e=>{if("object"==typeof e.body)return e.body;if("string"==typeof e.body)try{return JSON.parse(e.body)}catch(e){throw new Error("Not valid JSON: "+this.makePath(t))}else if(void 0!==e.body&&200===e.statusCode)return Promise.reject("Not an object: "+this.makePath(t))})})}storeObject(t,e,n){return i(this,void 0,void 0,function*(){if("string"!=typeof t)return Promise.reject("Argument 'typeAlias' of baseClient.storeObject must be a string");if("string"!=typeof e)return Promise.reject("Argument 'path' of baseClient.storeObject must be a string");if("object"!=typeof n)return Promise.reject("Argument 'object' of baseClient.storeObject must be an object");this._attachType(n,t);try{const t=this.validate(n);if(!t.valid)return Promise.reject(t)}catch(t){return Promise.reject(t)}return this.storage.put(this.makePath(e),JSON.stringify(n),"application/json; charset=UTF-8").then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode))})}remove(t){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.remove must be a string"):(this.storage.access.checkPathPermission(this.makePath(t),"rw")||console.warn("WARNING: Removing a document to which only read access ('r') was claimed"),this.storage.delete(this.makePath(t),this.storage.connected))})}getItemURL(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.getItemURL must be a string";return this.storage.connected?(t=(0,c.cleanPath)(this.makePath(t)),this.storage.remote.href+t):void 0}cache(t,e="ALL"){if("string"!=typeof t)throw"Argument 'path' of baseClient.cache must be a string";if("string"!=typeof e)throw"Argument 'strategy' of baseClient.cache must be a string or undefined";if("FLUSH"!==e&&"SEEN"!==e&&"ALL"!==e)throw'Argument \'strategy\' of baseclient.cache must be one of ["FLUSH", "SEEN", "ALL"]';return this.storage.caching.set(this.makePath(t),e),this}declareType(t,e,n){let i;if(n&&"string"==typeof e)i=e;else if(n||"string"==typeof e){if(!n&&"string"==typeof e)throw new Error("declareType() requires a JSON Schema object to be passed, in order to validate object types/formats")}else n=e,i=this._defaultTypeURI(t);h.Types.declare(this.moduleName,t,i,n)}validate(t){const e=h.Types.getSchema(t["@context"]);if(e)return s.default.validateResult(t,e);throw new a.default(t["@context"])}_defaultTypeURI(t){return"http://remotestorage.io/spec/modules/"+encodeURIComponent(this.moduleName)+"/"+encodeURIComponent(t)}_attachType(t,e){t["@context"]=h.Types.resolveAlias(this.moduleName+"/"+e)||this._defaultTypeURI(e)}makePath(t){return this.base+(t||"")}_fireChange(t){u.default.changeEvents[t.origin]&&(["new","old","lastCommon"].forEach(function(e){if((!t[e+"ContentType"]||/^application\/(.*)json(.*)/.exec(t[e+"ContentType"]))&&"string"==typeof t[e+"Value"])try{t[e+"Value"]=JSON.parse(t[e+"Value"])}catch(t){}}),this._emit("change",t))}static _rs_init(){}}e.BaseClient=h,h.Types=o.default,(0,c.applyMixins)(h,[l.default]),e.default=h},285:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Caching=void 0;const r=n(746),s=i(n(334));class o{constructor(t){this.pendingActivations=[],this._access=t.access,this.reset()}set(t,e){if("string"!=typeof t)throw new Error("path should be a string");if(!(0,r.isFolder)(t))throw new Error("path should be a folder");if(!this._access.checkPathPermission(t,"r"))throw new Error('No access to path "'+t+'". You must claim access to it first.');if(void 0===e||!e.match(/^(FLUSH|SEEN|ALL)$/))throw new Error("strategy should be 'FLUSH', 'SEEN', or 'ALL'");this._rootPaths[t]=e,"ALL"===e&&(this.activateHandler?this.activateHandler(t):this.pendingActivations.push(t))}enable(t){this.set(t,"ALL")}disable(t){this.set(t,"FLUSH")}onActivate(t){(0,s.default)("[Caching] Setting activate handler",t,this.pendingActivations),this.activateHandler=t;for(let e=0;e{this.emitChange(t.data)})}get(t,e,n){return i(this,void 0,void 0,function*(){return"number"==typeof e?this.getNodes((0,u.pathsFromRoot)(t)).then(i=>{const r=c(i[t]);return h(i,e)?n(t):r?{statusCode:200,body:r.body||r.itemsMap,contentType:r.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=c(e[t]);if(n){if((0,u.isFolder)(t))for(const t in n.itemsMap)n.itemsMap.hasOwnProperty(t)&&!1===n.itemsMap[t]&&delete n.itemsMap[t];return{statusCode:200,body:n.body||n.itemsMap,contentType:n.contentType}}return{statusCode:404}})})}put(t,e,n){return i(this,void 0,void 0,function*(){const i=(0,u.pathsFromRoot)(t);return this._updateNodes(i,function(t,i){try{for(let r=0,s=t.length;r0)break}else console.error("Cannot delete non-existing node "+r)}return n})})}flush(t){return this._getAllDescendentPaths(t).then(t=>this.getNodes(t)).then(t=>{for(const e in t){const n=t[e];n&&n.common&&n.local&&this.emitChange({path:n.path,origin:"local",oldValue:!1===n.local.body?void 0:n.local.body,newValue:!1===n.common.body?void 0:n.common.body}),t[e]=void 0}return this.setNodes(t)})}emitChange(t){a.default.changeEvents[t.origin]&&this._emit("change",t)}fireInitial(){a.default.changeEvents.local&&this.forAllNodes(t=>{if((0,u.isDocument)(t.path)){const e=c(t);e&&this.emitChange({path:t.path,origin:"local",oldValue:void 0,oldContentType:void 0,newValue:e.body,newContentType:e.contentType})}}).then(()=>{this._emit("local-events-done")})}onDiff(t){this.diffHandler=t}_updateNodes(t,e){return new Promise((n,i)=>{this._doUpdateNodes(t,e,{resolve:n,reject:i})})}_doUpdateNodes(t,e,n){return i(this,void 0,void 0,function*(){if(this._updateNodesRunning)return void this._updateNodesQueued.push({paths:t,cb:e,promise:n});this._updateNodesRunning=!0;try{let i=yield this.getNodes(t);const r=(0,u.deepClone)(i),s=[];i=e(t,i);for(const t in i){const e=i[t];(0,u.equal)(e,r[t])?delete i[t]:(0,u.isDocument)(t)&&((0,u.equal)(e.local.body,e.local.previousBody)&&e.local.contentType===e.local.previousContentType||s.push({path:t,origin:"window",oldValue:e.local.previousBody,newValue:!1===e.local.body?void 0:e.local.body,oldContentType:e.local.previousContentType,newContentType:e.local.contentType}),void 0===e.local.body?i[t]=void 0:(delete e.local.previousBody,delete e.local.previousContentType))}yield this.setNodes(i),this._emitChangeEvents(s),n.resolve({statusCode:200})}catch(t){n.reject(t)}this._updateNodesRunning=!1;const i=this._updateNodesQueued.shift();i&&(yield this._doUpdateNodes(i.paths,i.cb,i.promise))})}_emitChangeEvents(t){for(let e=0,n=t.length;e{const n=[t],i=c(e[t]),r=Object.keys(i.itemsMap).map(e=>this._getAllDescendentPaths(t+e).then(t=>{for(let e=0,i=t.length;en)}):Promise.resolve([t])}_getInternals(){return{getLatest:c,makeNode:d,isOutdated:h}}}(0,u.applyMixins)(f,[o.default]),t.exports=f},28:function(t){t.exports={cache:!0,changeEvents:{local:!0,window:!1,remote:!0,conflict:!0},cordovaRedirectUri:void 0,logging:!1,modules:[],backgroundSyncInterval:6e4,disableFeatures:[],discoveryTimeout:5e3,isBackground:!1,requestTimeout:3e4,syncInterval:1e4}},373:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(199)),s=i(n(28)),o=i(n(334)),a=n(746);let l;const u="remotestorage:discover";let c={};const h=function(t){return new Promise((e,n)=>{if(t in c)return e(c[t]);const i=new r.default({tls_only:!1,uri_fallback:!0,request_timeout:s.default.discoveryTimeout});return setTimeout(()=>n(new Error("timed out")),s.default.discoveryTimeout),i.lookup(t,function(i,r){if(i)return n(i);if("object"!=typeof r.idx.links.remotestorage||"number"!=typeof r.idx.links.remotestorage.length||r.idx.links.remotestorage.length<=0)return(0,o.default)("[Discover] WebFinger record for "+t+" does not have remotestorage defined in the links section ",JSON.stringify(r.json)),n("WebFinger record for "+t+" does not have remotestorage defined in the links section.");const s=r.idx.links.remotestorage[0],a=s.properties["http://tools.ietf.org/html/rfc6749#section-4.2"]||s.properties["auth-endpoint"],h=s.properties["http://remotestorage.io/spec/version"]||s.type;return c[t]={href:s.href,storageApi:h,authURL:a,properties:s.properties},l&&localStorage.setItem(u,JSON.stringify({cache:c})),e(c[t])})})};(h.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),h.DiscoveryError.prototype.constructor=h.DiscoveryError,h._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(u));t&&(c=t.cache)}},h._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},h._rs_cleanup=function(){l&&localStorage.removeItem(u)},t.exports=h},706:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(424)),a=r(n(941)),l=r(n(982)),u=r(n(503)),c=n(746),h=n(368),d=n(684),p=r(n(275));let f;const g="remotestorage:dropbox",m="https://api.dropboxapi.com/2/files/list_folder",y="https://api.dropboxapi.com/2/files/list_folder/continue",_="/remotestorage";function v(t){return(_+"/"+t).replace(/\/+$/,"").replace(/\/+/g,"/")}const b=/[\u007f-\uffff]/g;function w(t){return JSON.stringify(t).replace(b,function(t){return"\\u"+("000"+t.charCodeAt(0).toString(16)).slice(-4)})}function x(t,e){return new RegExp("^"+e.join("\\/")+"(\\/|$)").test(t.error_summary)}function S(t){return t instanceof ArrayBuffer||(0,h.isArrayBufferView)(t)}class E extends d.RemoteBase{constructor(t){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this._initialFetchDone=!1,this.addEvents(["connected","not-connected"]),this.clientId=t.apiKeys.dropbox.appKey,this.TOKEN_URL="https://api.dropboxapi.com/oauth2/token",this._revCache=new a.default("rev"),this._fetchDeltaCursor=null,this._fetchDeltaPromise=null,this._itemRefs={},f=(0,c.localStorageAvailable)(),f){const t=(0,c.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,c.getJSONFromLocalStorage)(`${g}:shares`)||{}}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}connect(){return i(this,void 0,void 0,function*(){try{if(this.rs.setBackend("dropbox"),this.token)T(this.rs);else{const{codeVerifier:t,codeChallenge:e,state:n}=yield(0,c.generateCodeVerifier)();sessionStorage.setItem("remotestorage:codeVerifier",t),sessionStorage.setItem("remotestorage:state",n),this.rs.authorize({authURL:"https://www.dropbox.com/oauth2/authorize",scope:"account_info.read files.content.read files.content.write files.metadata.read files.metadata.write",clientId:this.clientId,response_type:"code",state:n,code_challenge:e,code_challenge_method:"S256",token_access_type:"offline"})}}catch(t){throw this.rs._emit("error",t),this.rs.setBackend(void 0),t}})}configure(t){return i(this,void 0,void 0,function*(){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token),void 0!==t.refreshToken&&(this.refreshToken=t.refreshToken),void 0!==t.tokenType&&(this.tokenType=t.tokenType);const e=()=>{f&&localStorage.setItem(g,JSON.stringify({userAddress:this.userAddress,token:this.token,refreshToken:this.refreshToken,tokenType:this.tokenType}))};if(this.refreshToken||this.token)if(this.connected=!0,this.userAddress)this._emit("connected"),e();else try{const t=yield this.info();this.userAddress=t.email,this._emit("connected"),e()}catch(t){this.connected=!1,this.rs._emit("error",new Error("Could not fetch user info.")),e.apply(this)}else(()=>{this.connected=!1,f&&localStorage.removeItem(g),this.rs.setBackend(void 0)})()})}_getFolder(t){const e=this._revCache,n=n=>{let r;if(200!==n.status&&409!==n.status)return Promise.reject("Unexpected response status: "+n.status);try{r=JSON.parse(n.responseText)}catch(t){return Promise.reject(t)}if(409===n.status)return x(r,["path","not_found"])?Promise.resolve({}):Promise.reject(new Error("API returned an error: "+r.error_summary));const s=r.entries.reduce((n,i)=>{try{const r="folder"===i[".tag"],s=i.path_display.split("/").slice(-1)[0]+(r?"/":"");if(r)n[s]={ETag:e.get(t+s)};else{const e=new Date(i.server_modified);n[s]={ETag:i.rev,"Content-Length":i.size,"Last-Modified":e.toUTCString()},this._revCache.set(t+s,i.rev)}}catch(e){console.error(`[Dropbox] folder “${t}” has entry ${JSON.stringify(i)}:`,e)}return n},{});return r.has_more?i(r.cursor).then(function(t){return Object.assign(s,t)}):Promise.resolve(s)},i=t=>{const e={body:{cursor:t}};return this._request("POST",y,e).then(n)};return this._request("POST",m,{body:{path:v(t)}}).then(n).then(function(n){return Promise.resolve({statusCode:200,body:n,contentType:"application/json; charset=UTF-8",revision:e.get(t)})})}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n=this._revCache.get(t);if(null===n)return Promise.resolve({statusCode:404});if(e&&e.ifNoneMatch){if(!this._initialFetchDone)return this.fetchDelta().then(()=>this.get(t,e));if(n&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304})}if("/"===t.slice(-1))return this._getFolder(t);const i={headers:{"Dropbox-API-Arg":w({path:v(t)})},responseType:"arraybuffer"};return e&&e.ifNoneMatch&&(i.headers["If-None-Match"]=e.ifNoneMatch),this._request("GET","https://content.dropboxapi.com/2/files/download",i).then(e=>{const n=e.status;let i,r,s,o;return 200!==n&&409!==n?Promise.resolve({statusCode:n}):(i=e.getResponseHeader("Dropbox-API-Result"),(0,c.getTextFromArrayBuffer)(e.response,"UTF-8").then(a=>{r=a,409===n&&(i=r);try{i=JSON.parse(i)}catch(t){return Promise.reject(t)}if(409===n)return x(i,["path","not_found"])?{statusCode:404}:Promise.reject(new Error('API error while downloading file ("'+t+'"): '+i.error_summary));if(s=e.getResponseHeader("Content-Type"),o=i.rev,this._revCache.set(t,o),this._shareIfNeeded(t),(0,c.shouldBeTreatedAsBinary)(a,s))r=e.response;else try{r=JSON.parse(r),s="application/json; charset=UTF-8"}catch(t){}return{statusCode:n,body:r,contentType:s,revision:o}}))})}put(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const r=this._revCache.get(t);if(i&&i.ifMatch&&r&&r!==i.ifMatch)return{statusCode:412,revision:r};if(i&&"*"===i.ifNoneMatch&&r&&"rev"!==r)return{statusCode:412,revision:r};if(!n.match(/charset=/)&&S(e)&&(n+="; charset=binary"),e.length>157286400)throw new Error("Cannot upload file larger than 150MB");const s={body:e,contentType:n,path:t};if(i&&(i.ifMatch||"*"===i.ifNoneMatch)){const e=yield this._getMetadata(t);if(i&&"*"===i.ifNoneMatch&&e)return{statusCode:412,revision:e.rev};if(i&&i.ifMatch&&e&&e.rev!==i.ifMatch)return{statusCode:412,revision:e.rev}}const o=yield this._uploadSimple(s);return this._shareIfNeeded(t),o})}delete(t){return i(this,arguments,void 0,function*(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const n=this._revCache.get(t);if((null==e?void 0:e.ifMatch)&&n&&e.ifMatch!==n)return{statusCode:412,revision:n};if(null==e?void 0:e.ifMatch){const n=yield this._getMetadata(t);if((null==e?void 0:e.ifMatch)&&n&&n.rev!==e.ifMatch)return{statusCode:412,revision:n.rev}}return this._deleteSimple(t)})}_shareIfNeeded(t){if(t.match(/^\/public\/.*[^/]$/)&&void 0===this._itemRefs[t])return this.share(t)}share(t){const e={body:{path:v(t)}};return this._request("POST","https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings",e).then(e=>{if(200!==e.status&&409!==e.status)return Promise.reject(new Error("Invalid response status:"+e.status));let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid response body: "+e.responseText))}return 409===e.status?x(n,["shared_link_already_exists"])?this._getSharedLink(t):Promise.reject(new Error("API error: "+n.error_summary)):Promise.resolve(n.url)}).then(e=>(this._itemRefs[t]=e,f&&localStorage.setItem(g+":shares",JSON.stringify(this._itemRefs)),Promise.resolve(e)),e=>(e.message='Sharing Dropbox file or folder ("'+t+'") failed: '+e.message,Promise.reject(e)))}info(){return this._request("POST","https://api.dropboxapi.com/2/users/get_current_account",{}).then(function(t){let e;try{const n=JSON.parse(t.responseText);e=null==n?void 0:n.email}catch(e){return Promise.reject(new Error("Could not query current account info: Invalid API response: "+t.responseText))}return Promise.resolve({email:e})})}_request(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i=1){if(this.isForbiddenRequestMethod(t,e))throw`Don't use ${t} on directories!`;if(!this.token)throw new u.default("No access token");n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,"object"!=typeof n.body||S(n.body)||(n.body=JSON.stringify(n.body),n.headers["Content-Type"]="application/json; charset=UTF-8"),this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)});try{const r=yield(0,h.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!0}),401===(null==r?void 0:r.status)&&this.refreshToken?i>=3?(console.error(`Abandoned after ${i} attempts: ${t} ${e}`),r):(this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!0}),this._request(t,e,n,i+1)):[503,429].includes(null==r?void 0:r.status)?(this.online&&(this.online=!1,this.rs._emit("network-offline")),i>=3?(console.warn(`Abandoned after ${i} attempts: ${t} ${e}`),r):(yield new Promise(t=>setTimeout(t,(0,h.retryAfterMs)(r))),this._request(t,e,n,i+1))):r}catch(n){throw this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!1}),n}})}fetchDelta(...t){if(this._fetchDeltaPromise)return this._fetchDeltaPromise;const e=t=>i(this,void 0,void 0,function*(){let n,i;"string"==typeof t?(n=y,i={cursor:t}):(n=m,i={path:_,recursive:!0,include_deleted:!0});try{const r=yield this._request("POST",n,{body:i});if(401===r.status)throw new u.default;if(200!==r.status&&409!==r.status)throw new Error("Invalid response status: "+r.status);let s;try{s=JSON.parse(r.responseText)}catch(t){throw new Error("Invalid response body: "+r.responseText)}if(409===r.status){if(!x(s,["path","not_found"]))throw new Error("API returned an error: "+s.error_summary);s={cursor:null,entries:[],has_more:!1}}if(t||this._revCache.deactivatePropagation(),s.entries.forEach(t=>{const e=t.path_display.slice(14);"deleted"===t[".tag"]?(this._revCache.delete(e),this._revCache.delete(e+"/")):"file"===t[".tag"]&&this._revCache.set(e,t.rev)}),this._fetchDeltaCursor=s.cursor,s.has_more)return e(s.cursor);this._revCache.activatePropagation(),this._initialFetchDone=!0}catch(t){if("timeout"===t)return;throw t}});return this._fetchDeltaPromise=e(this._fetchDeltaCursor).catch(t=>("object"==typeof t&&"message"in t?t.message="Dropbox: fetchDelta: "+t.message:t=`Dropbox: fetchDelta: ${t}`,this.rs._emit("error",t),this._fetchDeltaPromise=null,Promise.reject(t))).then(()=>(this._fetchDeltaPromise=null,Promise.resolve(t))),this._fetchDeltaPromise}_getMetadata(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/get_metadata",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status:"+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?x(e,["path","not_found"])?Promise.resolve():Promise.reject(new Error("API error: "+e.error_summary)):Promise.resolve(e)}).then(void 0,e=>(e.message='Could not load metadata for file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_uploadSimple(t){const e={path:v(t.path),mode:{".tag":"overwrite",update:void 0},mute:!0};return t.ifMatch&&(e.mode={".tag":"update",update:t.ifMatch}),this._request("POST","https://content.dropboxapi.com/2/files/upload",{body:t.body,headers:{"Content-Type":"application/octet-stream","Dropbox-API-Arg":w(e)}}).then(e=>{if(200!==e.status&&409!==e.status)return Promise.resolve({statusCode:e.status});let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid API result: "+e.responseText))}return 409===e.status?x(n,["path","conflict"])?this._getMetadata(t.path).then(function(t){return Promise.resolve({statusCode:412,revision:t.rev})}):(this.rs._emit("error",new Error(n.error_summary)),Promise.resolve({statusCode:e.status})):(this._revCache.set(t.path,n.rev),Promise.resolve({statusCode:e.status,revision:n.rev}))})}_deleteSimple(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/delete",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.resolve({statusCode:t.status});let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}if(409===t.status){if(x(e,["path_lookup","not_found"]))return Promise.resolve({statusCode:404});this.rs._emit("error",new Error(e.error_summary))}return Promise.resolve({statusCode:t.status})}).then(e=>(200!==e.statusCode&&404!==e.statusCode||(this._revCache.delete(t),delete this._itemRefs[t]),Promise.resolve(e)),e=>(e.message='Could not delete Dropbox file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_getSharedLink(t){return i(this,void 0,void 0,function*(){const e={body:{path:v(t),direct_only:!0}};return this._request("POST","https://api.dropbox.com/2/sharing/list_shared_links",e).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status: "+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?Promise.reject(new Error("API error: "+(null==e?void 0:e.error_summary)||0)):e.links.length?Promise.resolve(e.links[0].url):Promise.reject(new Error("No links returned"))},e=>(e.message='Could not get link to a shared file or folder ("'+t+'"): '+e.message,Promise.reject(e)))})}static _rs_init(t){f=(0,c.localStorageAvailable)(),t.apiKeys.dropbox&&(t.dropbox=new E(t)),"dropbox"===t.backend&&T(t)}static _rs_supported(){return!0}static _rs_cleanup(t){!function(t){(function(t){t._origRemote&&(t.remote=t._origRemote,delete t._origRemote)})(t),function(t){t._dropboxOrigSync&&(t.sync.sync=t._dropboxOrigSync,delete t._dropboxOrigSync)}(t),function(t){t._origBaseClientGetItemURL&&(o.default.prototype.getItemURL=t._origBaseClientGetItemURL,delete t._origBaseClientGetItemURL)}(t),k(t)}(t),f&&localStorage.removeItem(g),t.setBackend(void 0)}}function C(t,...e){t._dropboxOrigSync||(t._dropboxOrigSync=t.sync.sync.bind(t.sync),t.sync.sync=function(){return this.dropbox.fetchDelta(t,...e).then(t._dropboxOrigSync,function(e){t._emit("error",new l.default(e)),t._emit("sync-done")})}.bind(t))}function k(t){t._dropboxOrigSyncCycle&&(t.syncCycle=t._dropboxOrigSyncCycle,delete t._dropboxOrigSyncCycle)}function T(t){!function(t){t._origRemote||(t._origRemote=t.remote,t.remote=t.dropbox)}(t),t.sync?C(t):function(t,...e){t._dropboxOrigSyncCycle||(t._dropboxOrigSyncCycle=t.syncCycle,t.syncCycle=()=>{if(!t.sync)throw new Error("expected sync to be initialized by now");C(t),t._dropboxOrigSyncCycle(t,...e),k(t)})}(t),function(t){t._origBaseClientGetItemURL||(t._origBaseClientGetItemURL=o.default.prototype.getItemURL,o.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Dropbox yet")})}(t)}(0,c.applyMixins)(E,[s.default]),t.exports=E},451:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=n(746),o=i(n(334));class a{constructor(){this.addEvents(["background","foreground"]),this.mode="undefined"!=typeof window?"browser":"node","browser"===this.mode&&(this.setBrowserPrefixedNames(),document.addEventListener(this.visibilityChangeEvent,this.setVisibility.bind(this),!1),this.setVisibility())}setBrowserPrefixedNames(){"browser"===this.mode&&(void 0!==document.hidden?(this.hiddenProperty="hidden",this.visibilityChangeEvent="visibilitychange"):void 0!==document.mozHidden?(this.hiddenProperty="mozHidden",this.visibilityChangeEvent="mozvisibilitychange"):void 0!==document.msHidden?(this.hiddenProperty="msHidden",this.visibilityChangeEvent="msvisibilitychange"):void 0!==document.webkitHidden&&(this.hiddenProperty="webkitHidden",this.visibilityChangeEvent="webkitvisibilitychange"))}setVisibility(){document[this.hiddenProperty]?((0,o.default)("[Env] Going into background mode"),this.goBackground()):((0,o.default)("[Env] Going into foreground mode"),this.goForeground())}isBrowser(){return"browser"===this.mode}isNode(){return"node"===this.mode}goBackground(){this._emit("background")}goForeground(){this._emit("foreground")}static _rs_init(){}static _rs_cleanup(){}}(0,s.applyMixins)(a,[r.default]),t.exports=a},93:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EventHandling=void 0;const r=i(n(334));class s{addEvents(t){t.forEach(t=>this._addEvent(t))}addEventListener(t,e){if("string"!=typeof t)throw new Error("Argument eventName should be a string");if("function"!=typeof e)throw new Error("Argument handler should be a function");(0,r.default)("[EventHandling] Adding event listener",t),this._validateEvent(t),this._handlers[t].push(e)}on(t,e){return this.addEventListener(t,e)}removeEventListener(t,e){this._validateEvent(t);const n=this._handlers[t].length;for(let i=0;i{t(...e)})}_validateEvent(t){if(!(t in this._handlers))throw new Error("Unknown event: "+t)}_delegateEvent(t,e){e.on(t,e=>{this._emit(t,e)})}_addEvent(t){void 0===this._handlers&&(this._handlers={}),this._handlers[t]=[]}}e.EventHandling=s,e.default=s},545:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(28)),s=i(n(451)),o=i(n(334)),a=n(746),l=i(n(370)),u=i(n(548)),c=i(n(275)),h=i(n(373)),d=i(n(424)),p=i(n(801)),f=i(n(706)),g=i(n(600)),m=i(n(313)),y=i(n(285)),_=i(n(567)),v=i(n(794)),b=i(n(365)),w={features:[],featuresDone:0,readyFired:!1,loadFeatures(){this.features=[],this.featuresDone=0,this.readyFired=!1,this.featureModules={WireClient:g.default,Dropbox:f.default,GoogleDrive:p.default,Access:u.default,Discover:h.default,Authorize:c.default,BaseClient:d.default,Env:s.default},r.default.cache&&(0,a.extend)(this.featureModules,{Caching:y.default,IndexedDB:_.default,LocalStorage:v.default,InMemoryStorage:b.default,Sync:m.default}),r.default.disableFeatures.forEach(t=>{this.featureModules[t]&&delete this.featureModules[t]}),this._allLoaded=!1;for(const t in this.featureModules)this.loadFeature(t)},hasFeature(t){for(let e=this.features.length-1;e>=0;e--)if(this.features[e].name===t)return this.features[e].supported;return!1},loadFeature(t){const e=this.featureModules[t],n=!e._rs_supported||e._rs_supported();(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initializing ...`),"object"==typeof n?n.then(()=>{this.featureSupported(t,!0),this.initFeature(t)},()=>{this.featureSupported(t,!1)}):"boolean"==typeof n?(this.featureSupported(t,n),n&&this.initFeature(t)):this.featureSupported(t,!1)},initFeature(t){const e=this.featureModules[t];let n;try{n=e._rs_init(this)}catch(e){return void this.featureFailed(t,e)}"object"==typeof n&&"function"==typeof n.then?n.then(()=>{this.featureInitialized(t)},e=>{this.featureFailed(t,e)}):this.featureInitialized(t)},featureFailed(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialization failed (${e})`),this.featureDone()},featureSupported(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}]${e?"":"not "} supported`),e||this.featureDone()},featureInitialized(t){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialized`),this.features.push({name:t,init:this.featureModules[t]._rs_init,supported:!0,cleanup:this.featureModules[t]._rs_cleanup}),this.featureDone()},featureDone(){this.featuresDone++,this.featuresDone===Object.keys(this.featureModules).length&&setTimeout(this.featuresLoaded.bind(this),0)},_setCachingModule(){["IndexedDB","LocalStorage","InMemoryStorage"].some(t=>{if(this.features.some(e=>e.name===t))return this.features.local=this.featureModules[t],!0})},_fireReady(){try{this.readyFired||(this._emit("ready"),this.readyFired=!0)}catch(t){console.error("'ready' failed: ",t,t.stack),this._emit("error",t)}},featuresLoaded(){(0,o.default)("[RemoteStorage] All features loaded"),this._setCachingModule(),this.local=r.default.cache&&this.features.local&&new this.features.local,this.local&&this.remote?(this._setGPD(l.default,this),this._bindChange(this.local)):this.remote&&this._setGPD(this.remote,this.remote),this.remote&&(this.remote.on("connected",()=>{this._fireReady(),this._emit("connected")}),this.remote.on("not-connected",()=>{this._fireReady(),this._emit("not-connected")}),this.remote.connected&&(this._fireReady(),this._emit("connected")),this.hasFeature("Authorize")||this.remote.stopWaitingForToken()),this._collectCleanupFunctions();try{this._allLoaded=!0,this._emit("features-loaded")}catch(t){(0,a.logError)(t),this._emit("error",t)}this._processPending()},_collectCleanupFunctions(){this._cleanups=[];for(let t=0;t=n-this.maxAge?e.v:void 0}set(t,e){this._items[t]={v:e,t:(new Date).getTime()}}}class _ extends l.RemoteBase{constructor(t,e){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this.addEvents(["connected","not-connected"]),this.clientId=e,this._fileIdCache=new y(300),d=(0,o.localStorageAvailable)(),d){const t=(0,o.getJSONFromLocalStorage)(c);t&&this.configure(t)}}configure(t){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token);const e=function(){d&&localStorage.setItem(c,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(c)};this.token?(this.connected=!0,this.userAddress?(this._emit("connected"),e.apply(this)):this.info().then(t=>{this.userAddress=t.user.emailAddress,this._emit("connected"),e.apply(this)}).catch(()=>{n.apply(this),this.rs._emit("error",new Error("Could not fetch user info."))})):n.apply(this)}connect(){this.rs.setBackend("googledrive"),this.rs.authorize({authURL:"https://accounts.google.com/o/oauth2/auth",scope:"https://www.googleapis.com/auth/drive",clientId:this.clientId})}get(t,e={}){return(0,o.isFolder)(t)?this._getFolder(m(t)):this._getFile(m(t),e)}put(t,e,n,i={}){const r=m(t);function s(t){if(t.status>=200&&t.status<300){const e=JSON.parse(t.responseText),n=this.stripQuotes(e.etag);return Promise.resolve({statusCode:200,contentType:e.mimeType,revision:n})}return 412===t.status?Promise.resolve({statusCode:412,revision:"conflict"}):Promise.reject("PUT failed with status "+t.status+" ("+t.responseText+")")}return this._getFileId(r).then(t=>t?i&&"*"===i.ifNoneMatch?s({status:412}):this._updateFile(t,r,e,n,i).then(s):this._createFile(r,e,n).then(s))}delete(t,e={}){const n=m(t);return this._getFileId(n).then(t=>t?this._getMeta(t).then(n=>{let i;return"object"==typeof n&&"string"==typeof n.etag&&(i=this.stripQuotes(n.etag)),e&&e.ifMatch&&e.ifMatch!==i?{statusCode:412,revision:i}:this._request("DELETE",u+"/drive/v2/files/"+t,{}).then(t=>200===t.status||204===t.status?{statusCode:200}:Promise.reject("Delete failed: "+t.status+" ("+t.responseText+")"))}):Promise.resolve({statusCode:200}))}info(){const t=u+"/drive/v2/about?fields=user";return this._request("GET",t,{}).then(function(t){try{const e=JSON.parse(t.responseText);return Promise.resolve(e)}catch(t){return Promise.reject(t)}})}_updateFile(t,e,n,i,r){const s={mimeType:i},o={"Content-Type":"application/json; charset=UTF-8"};return r&&r.ifMatch&&(o["If-Match"]=this.addQuotes(r.ifMatch)),this._request("PUT",u+"/upload/drive/v2/files/"+t+"?uploadType=resumable",{body:JSON.stringify(s),headers:o}).then(t=>412===t.status?t:this._request("PUT",t.getResponseHeader("Location"),{body:i.match(/^application\/json/)?JSON.stringify(n):n}))}_createFile(t,e,n){return this._getParentId(t).then(i=>{const r={title:p(g(t)),mimeType:n,parents:[{kind:"drive#fileLink",id:i}]};return this._request("POST",u+"/upload/drive/v2/files?uploadType=resumable",{body:JSON.stringify(r),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>this._request("POST",t.getResponseHeader("Location"),{body:n.match(/^application\/json/)?JSON.stringify(e):e}))})}_getFile(t,e){return this._getFileId(t).then(t=>this._getMeta(t).then(t=>{let n;if("object"==typeof t&&"string"==typeof t.etag&&(n=this.stripQuotes(t.etag)),e&&e.ifNoneMatch&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304});if(!t.downloadUrl){if(!t.exportLinks||!t.exportLinks["text/html"])return Promise.resolve({statusCode:200,body:"",contentType:t.mimeType,revision:n});t.mimeType+=";export=text/html",t.downloadUrl=t.exportLinks["text/html"]}return this._request("GET",t.downloadUrl,{responseType:"arraybuffer"}).then(e=>(0,o.getTextFromArrayBuffer)(e.response,"UTF-8").then(function(i){let r=i;if(t.mimeType.match(/^application\/json/))try{r=JSON.parse(r)}catch(t){}else(0,o.shouldBeTreatedAsBinary)(i,t.mimeType)&&(r=e.response);return{statusCode:200,body:r,contentType:t.mimeType,revision:n}}))}))}_getFolder(t){return this._getFileId(t).then(e=>{let n,i,r;if(!e)return Promise.resolve({statusCode:404});const s="'"+e+"' in parents";return this._request("GET",u+"/drive/v2/files?q="+encodeURIComponent(s)+"&fields="+encodeURIComponent("items(downloadUrl,etag,fileSize,id,mimeType,title,labels)")+"&maxResults=1000&trashed=false",{}).then(e=>{var s;if(200!==e.status)return Promise.reject("request failed or something: "+e.status);try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject("non-JSON response from GoogleDrive")}r={};for(const a of n.items)(null===(s=a.labels)||void 0===s?void 0:s.trashed)||(i=this.stripQuotes(a.etag),a.mimeType===h?(this._fileIdCache.set(t+(0,o.cleanPath)(a.title)+"/",a.id),r[a.title+"/"]={ETag:i}):(this._fileIdCache.set(t+(0,o.cleanPath)(a.title),a.id),r[a.title]={ETag:i,"Content-Type":a.mimeType,"Content-Length":a.fileSize}));return Promise.resolve({statusCode:200,body:r,contentType:"application/json; charset=UTF-8",revision:void 0})})})}_getParentId(t){const e=f(t);return this._getFileId(e).then(t=>t?Promise.resolve(t):this._createFolder(e))}_createFolder(t){return this._getParentId(t).then(e=>this._request("POST",u+"/drive/v2/files",{body:JSON.stringify({title:p(g(t)),mimeType:h,parents:[{id:e}]}),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>{const e=JSON.parse(t.responseText);return Promise.resolve(e.id)}))}_getFileId(t){let e;return"/"===t?Promise.resolve("root"):(e=this._fileIdCache.get(t))?Promise.resolve(e):this._getFolder(f(t)).then(()=>(e=this._fileIdCache.get(t),e?Promise.resolve(e):"/"===t.substr(-1)?this._createFolder(t).then(()=>this._getFileId(t)):Promise.resolve()))}_getMeta(t){return this._request("GET",u+"/drive/v2/files/"+t,{}).then(function(e){return 200===e.status?Promise.resolve(JSON.parse(e.responseText)):Promise.reject("request (getting metadata for "+t+") failed with status: "+e.status)})}_request(t,e,n){return this.isForbiddenRequestMethod(t,e)?Promise.reject(`Don't use ${t} on directories!`):(n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,this.rs._emit("wire-busy",{method:t,isFolder:(0,o.isFolder)(e)}),(0,a.requestWithTimeout)(t,e,n).then(n=>n&&401===n.status?void this.connect():(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!0}),Promise.resolve(n)),n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!1}),Promise.reject(n))))}static _rs_init(t){const e=t.apiKeys.googledrive;var n;e&&(t.googledrive=new _(t,e.clientId),"googledrive"===t.backend&&(t._origRemote=t.remote,t.remote=t.googledrive,(n=t)._origBaseClientGetItemURL||(n._origBaseClientGetItemURL=r.default.prototype.getItemURL,r.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Google Drive yet")})))}static _rs_supported(){return!0}static _rs_cleanup(t){var e;t.setBackend(void 0),t._origRemote&&(t.remote=t._origRemote,delete t._origRemote),(e=t)._origBaseClientGetItemURL&&(r.default.prototype.getItemURL=e._origBaseClientGetItemURL,delete e._origBaseClientGetItemURL)}}(0,o.applyMixins)(_,[s.default]),t.exports=_},567:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(496)),a=r(n(334)),l=n(746),u="remotestorage";let c;class h extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||c,this.db?(this.getsRunning=0,this.putsRunning=0,this.changesQueued={},this.changesRunning={},this.commitSlownessWarning=null):(0,a.default)("[IndexedDB] Failed to open DB")}getNodes(t){return i(this,void 0,void 0,function*(){const e=[],n={};for(let i=0,r=t.length;i0?this.getNodesFromDb(e).then(function(t){for(const e in n)t[e]=n[e];return t}):n})}setNodes(t){return i(this,void 0,void 0,function*(){for(const e in t)this.changesQueued[e]=t[e]||!1;this.maybeFlush()})}maybeFlush(){0===this.putsRunning?this.flushChangesQueued():this.commitSlownessWarning||(this.commitSlownessWarning=n.g.setInterval(function(){console.warn("WARNING: waited more than 10 seconds for previous commit to finish")},1e4))}flushChangesQueued(){this.commitSlownessWarning&&(clearInterval(this.commitSlownessWarning),this.commitSlownessWarning=null),Object.keys(this.changesQueued).length>0&&(this.changesRunning=this.changesQueued,this.changesQueued={},this.setNodesInDb(this.changesRunning).then(this.flushChangesQueued.bind(this)))}getNodesFromDb(t){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readonly"),r=i.objectStore("nodes"),s={};this.getsRunning++,t.map(t=>{r.get(t).onsuccess=e=>{s[t]=e.target.result}}),i.oncomplete=()=>{e(s),this.getsRunning--},i.onerror=i.onabort=()=>{n("get transaction error/abort"),this.getsRunning--}})}setNodesInDb(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readwrite"),r=i.objectStore("nodes"),s=(new Date).getTime();this.putsRunning++,(0,a.default)("[IndexedDB] Starting puts",t,this.putsRunning);for(const o in t){const e=t[o];if("object"==typeof e)try{r.put(e)}catch(t){throw(0,a.default)("[IndexedDB] Error while putting",e,t),t}else try{r.delete(o)}catch(t){throw(0,a.default)("[IndexedDB] Error while removing",r,e,t),t}}i.oncomplete=()=>{this.putsRunning--,(0,a.default)("[IndexedDB] Finished puts",t,this.putsRunning,(new Date).getTime()-s+"ms"),e()},i.onerror=()=>{this.putsRunning--,n("transaction error")},i.onabort=()=>{n("transaction abort"),this.putsRunning--}})})}reset(t){const e=this.db.name;this.db.close(),h.clean(e,()=>{h.open(e,(n,i)=>{n?(0,a.default)(`[IndexedDB] Error while resetting database ${e}:`,n):this.db=i,"function"==typeof t&&t(self)})})}forAllNodes(t){return i(this,void 0,void 0,function*(){return new Promise(e=>{this.db.transaction(["nodes"],"readonly").objectStore("nodes").openCursor().onsuccess=n=>{const i=n.target.result;i?(t(i.value),i.continue()):e()}})})}closeDB(){0===this.putsRunning?this.db.close():setTimeout(this.closeDB.bind(this),100)}static open(t,e){const n=setTimeout(function(){e("timeout trying to open db")},1e4);try{const i=indexedDB.open(t,2);i.onerror=function(){(0,a.default)("[IndexedDB] Opening DB failed",i),clearTimeout(n),e(i.error)},i.onupgradeneeded=function(t){const e=i.result;(0,a.default)("[IndexedDB] Upgrade: from ",t.oldVersion," to ",t.newVersion),1!==t.oldVersion&&((0,a.default)("[IndexedDB] Creating object store: nodes"),e.createObjectStore("nodes",{keyPath:"path"})),(0,a.default)("[IndexedDB] Creating object store: changes"),e.createObjectStore("changes",{keyPath:"path"})},i.onsuccess=function(){clearTimeout(n);const r=i.result;if(!r.objectStoreNames.contains("nodes")||!r.objectStoreNames.contains("changes"))return(0,a.default)("[IndexedDB] Missing object store. Resetting the database."),void h.clean(t,function(){h.open(t,e)});e(null,i.result)}}catch(i){(0,a.default)("[IndexedDB] Failed to open database: "+i),(0,a.default)("[IndexedDB] Resetting database and trying again."),clearTimeout(n),h.clean(t,function(){h.open(t,e)})}}static clean(t,e){const n=indexedDB.deleteDatabase(t);n.onsuccess=function(){(0,a.default)(`[IndexedDB] Deleted database "${t}"`),e()},n.onerror=n.onabort=function(e){console.error('Failed to remove database "'+t+'"',e)}}static _rs_init(t){return new Promise((e,n)=>{h.open(u,function(i,r){i?n(i):(c=r,r.onerror=()=>{t._emit("error",i)},e())})})}static _rs_supported(){return new Promise((t,e)=>{const n=(0,l.getGlobalContext)();let i=!1;if("undefined"!=typeof navigator&&navigator.userAgent.match(/Android (2|3|4\.[0-3])/)&&(navigator.userAgent.match(/Chrome|Firefox/)||(i=!0)),"indexedDB"in n&&!i)try{const n=indexedDB.open("rs-check");n.onerror=function(){e()},n.onsuccess=function(){n.result.close(),indexedDB.deleteDatabase("rs-check"),t()}}catch(t){e()}else e()})}static _rs_cleanup(t){return new Promise(e=>{t.local instanceof h&&t.local.closeDB(),h.clean(u,e)})}diffHandler(){}}(0,l.applyMixins)(h,[s.default]),t.exports=h},365:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=i(n(496)),o=n(746);class a extends s.default{constructor(){super(),this._storage={},this.addEvents(["change","local-events-done"])}getNodes(t){const e={};for(let n=0,i=t.length;n=2e3&&t<=36e5}var k;!function(t){t.GOOGLE="googledrive",t.DROPBOX="dropbox"}(k||(k={}));class T{constructor(t){if(this._pending=[],this._cleanups=[],this._pathHandlers={change:{}},this.apiKeys={},this._init=b.default.loadFeatures,this.features=b.default.features,this.loadFeature=b.default.loadFeature,this.featureSupported=b.default.featureSupported,this.featureDone=b.default.featureDone,this.featuresDone=b.default.featuresDone,this.featuresLoaded=b.default.featuresLoaded,this.featureInitialized=b.default.featureInitialized,this.featureFailed=b.default.featureFailed,this.hasFeature=b.default.hasFeature,this._setCachingModule=b.default._setCachingModule,this._collectCleanupFunctions=b.default._collectCleanupFunctions,this._fireReady=b.default._fireReady,this.initFeature=b.default.initFeature,"object"==typeof t&&(0,u.extend)(a.default,t),this.addEvents(["ready","authing","connecting","connected","disconnected","not-connected","conflict","error","features-loaded","sync-interval-change","sync-started","sync-req-done","sync-done","wire-busy","wire-done","network-offline","network-online"]),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")}),S=(0,u.localStorageAvailable)(),S){this.apiKeys=(0,u.getJSONFromLocalStorage)("remotestorage:api-keys")||{};const t=localStorage.getItem("remotestorage:backend");"dropbox"===t||"googledrive"===t?this.setBackend(t):this.setBackend("remotestorage")}const e=this.on;this.on=function(t,n){if(this._allLoaded)switch(t){case"features-loaded":setTimeout(n,0);break;case"ready":this.remote&&setTimeout(n,0);break;case"connected":this.remote&&this.remote.connected&&setTimeout(n,0);break;case"not-connected":this.remote&&!this.remote.connected&&setTimeout(n,0)}return e.call(this,t,n)},this._init(),this.fireInitial=function(){this.local&&setTimeout(this.local.fireInitial.bind(this.local),0)}.bind(this),this.on("ready",this.fireInitial.bind(this)),this.loadModules()}get connected(){return this.remote.connected}loadModules(){a.default.modules.forEach(this.addModule.bind(this))}authorize(t){if(this.access.setStorageType(this.remote.storageApi),void 0===t.scope&&(t.scope=this.access.scopeParameter),x.cordova)t.redirectUri=a.default.cordovaRedirectUri;else{const e=h.default.getLocation();let n=e.origin;"/"!==e.pathname&&(n+=e.pathname),t.redirectUri=n}void 0===t.clientId&&(t.clientId=t.redirectUri.match(/^(https?:\/\/[^/]+)/)[0]),h.default.authorize(this,t)}impliedauth(t,e){t=t||this.remote.storageApi,e=e||String(document.location),(0,l.default)("ImpliedAuth proceeding due to absent authURL; storageApi = "+t+" redirectUri = "+e),this.remote.configure({token:h.default.IMPLIED_FAKE_TOKEN}),document.location.href=e}connect(t,e){if(this.setBackend("remotestorage"),t.indexOf("@")<0&&!t.match(/^(https?:\/\/)?[^\s\/$\.?#]+\.[^\s]*$/))this._emit("error",new T.DiscoveryError("Not a valid user address or URL."));else{if(t.indexOf("@")<0&&!t.match(/^https?:\/\//)&&(t=`https://${t}`),x.cordova){if("string"!=typeof a.default.cordovaRedirectUri)return void this._emit("error",new T.DiscoveryError("Please supply a custom HTTPS redirect URI for your Cordova app"));if(!x.cordova.InAppBrowser)return void this._emit("error",new T.DiscoveryError("Please include the InAppBrowser Cordova plugin to enable OAuth"))}this.remote.configure({userAddress:t}),this._emit("connecting"),(0,y.default)(t).then(n=>{if(this._emit("authing"),n.userAddress=t,this.remote.configure(n),!this.remote.connected)if(n.authURL)if(void 0===e)this.authorize({authURL:n.authURL});else{if("string"!=typeof e)throw new Error("Supplied bearer token must be a string");(0,l.default)("Skipping authorization sequence and connecting with known token"),this.remote.configure({token:e})}else this.impliedauth()},()=>{this._emit("error",new T.DiscoveryError("No storage information found for this user address."))})}}reconnect(){this.remote.configure({token:null}),"remotestorage"===this.backend?this.connect(this.remote.userAddress):this.remote.connect()}disconnect(){this.remote&&this.remote.configure({userAddress:null,href:null,storageApi:null,token:null,properties:null}),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")});const t=this._cleanups.length;let e=0;const n=()=>{e++,e>=t&&(this._init(),(0,l.default)('Cleanups done, emitting "disconnected" event'),this._emit("disconnected"))};t>0?this._cleanups.forEach(t=>{const e=t(this);"object"==typeof e&&"function"==typeof e.then?e.then(n):n()}):n()}setBackend(t){this.backend=t,S&&(void 0!==t?localStorage.setItem("remotestorage:backend",t):localStorage.removeItem("remotestorage:backend"))}onChange(t,e){this._pathHandlers.change[t]||(this._pathHandlers.change[t]=[]),this._pathHandlers.change[t].push(e)}enableLog(){a.default.logging=!0}disableLog(){a.default.logging=!1}log(...t){l.default.apply(T,t)}setApiKeys(t){const e=[k.GOOGLE,k.DROPBOX];if("object"!=typeof t||!Object.keys(t).every(t=>e.includes(t)))return console.error("setApiKeys() was called with invalid arguments"),!1;Object.keys(t).forEach(e=>{const n=t[e];if(n){switch(e){case k.DROPBOX:this.apiKeys[k.DROPBOX]={appKey:n},void 0!==this.dropbox&&this.dropbox.clientId===n||m.default._rs_init(this);break;case k.GOOGLE:this.apiKeys[k.GOOGLE]={clientId:n},void 0!==this.googledrive&&this.googledrive.clientId===n||g.default._rs_init(this)}return!0}delete this.apiKeys[e]}),S&&localStorage.setItem("remotestorage:api-keys",JSON.stringify(this.apiKeys))}setCordovaRedirectUri(t){if("string"!=typeof t||!t.match(/http(s)?:\/\//))throw new Error("Cordova redirect URI must be a URI string");a.default.cordovaRedirectUri=t}_setGPD(t,e){function n(t){return function(...n){return t.apply(e,n).then(E.bind(this))}}this.get=n(t.get),this.put=n(t.put),this.delete=n(t.delete)}_pendingGPD(t){return(...e)=>{const n=Array.prototype.slice.call(e);return new Promise((e,i)=>{this._pending.push({method:t,args:n,promise:{resolve:e,reject:i}})})}}_processPending(){this._pending.forEach(t=>{try{this[t.method](...t.args).then(t.promise.resolve,t.promise.reject)}catch(e){t.promise.reject(e)}}),this._pending=[]}_bindChange(t){t.on("change",this._dispatchEvent.bind(this,"change"))}_dispatchEvent(t,e){Object.keys(this._pathHandlers[t]).forEach(n=>{const i=n.length;e.path.substr(0,i)===n&&this._pathHandlers[t][n].forEach(t=>{const i={};for(const n in e)i[n]=e[n];i.relativePath=e.path.replace(new RegExp("^"+n),"");try{t(i)}catch(t){console.error("'change' handler failed: ",t,t.stack),this._emit("error",t)}})})}scope(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.scope must be a string";return this.access.checkPathPermission(t,"r")||console.warn("WARNING: Please use remoteStorage.access.claim() to ask for access permissions first: https://remotestorage.io/rs.js/docs/api/access/classes/Access.html#claim"),new d.default(this,t)}getSyncInterval(){return a.default.syncInterval}setSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.syncInterval;a.default.syncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getBackgroundSyncInterval(){return a.default.backgroundSyncInterval}setBackgroundSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.backgroundSyncInterval;a.default.backgroundSyncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getCurrentSyncInterval(){return a.default.isBackground?a.default.backgroundSyncInterval:a.default.syncInterval}getRequestTimeout(){return a.default.requestTimeout}setRequestTimeout(t){if("number"!=typeof t)throw t+" is not a valid request timeout";a.default.requestTimeout=t}setupSyncCycle(){this.sync&&!this.sync.stopped&&((0,l.default)("[Sync] Setting up sync cycle"),this.on("sync-done",()=>{(0,l.default)("[Sync] Sync done. Setting timer to",this.getCurrentSyncInterval()),this.sync&&!this.sync.stopped&&(this._syncTimer&&clearTimeout(this._syncTimer),this._syncTimer=setTimeout(this.sync.sync.bind(this.sync),this.getCurrentSyncInterval()))}),this.sync.sync())}startSync(){return a.default.cache?(this.sync.stopped=!1,this.syncStopped=!1,this.sync.sync()):(console.warn("Nothing to sync, because caching is disabled."),Promise.resolve())}stopSync(){clearTimeout(this._syncTimer),this._syncTimer=void 0,this.sync?((0,l.default)("[Sync] Stopping sync"),this.sync.stopped=!0):((0,l.default)("[Sync] Will instantiate sync stopped"),this.syncStopped=!0)}addModule(t){const e=t.name,n=t.builder;if(Object.defineProperty(this,e,{configurable:!0,get:function(){const t=this._loadModule(e,n);return Object.defineProperty(this,e,{value:t}),t}}),-1!==e.indexOf("-")){const t=e.replace(/\-[a-z]/g,function(t){return t[1].toUpperCase()});Object.defineProperty(this,t,{get:function(){return this[e]}})}}_loadModule(t,e){if(e)return e(new d.default(this,"/"+t+"/"),new d.default(this,"/public/"+t+"/")).exports;throw"Unknown module: "+t}}e.RemoteStorage=T,T.SyncError=_.default,T.Unauthorized=v.default,T.DiscoveryError=y.default.DiscoveryError,T.util=w,Object.defineProperty(T.prototype,"access",{configurable:!0,get:function(){const t=new c.default;return Object.defineProperty(this,"access",{value:t}),t}}),Object.defineProperty(T.prototype,"caching",{configurable:!0,get:function(){const t=new p.default(this);return Object.defineProperty(this,"caching",{value:t}),t}}),(0,u.applyMixins)(T,[f.EventHandling]),e.default=T},368:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isArrayBufferView=void 0,e.retryAfterMs=function(t){const e=1e3*parseInt(t.getResponseHeader("Retry-After"));return e>=1e3?e:Math.max(1500,Math.min(6e4,Math.round(o.default.syncInterval/(2.9+.2*Math.random()))))},e.requestWithTimeout=function(t,n,r){return i(this,void 0,void 0,function*(){return"function"==typeof fetch?function(t,e,n){return i(this,void 0,void 0,function*(){const i="function"==typeof AbortController?new AbortController:null;let r;const a=new Promise((t,e)=>{r=setTimeout(()=>{i&&i.abort(),e("timeout")},o.default.requestTimeout)});let l;const u={},c=fetch(e,{method:t,headers:n.headers,body:n.body,signal:i?i.signal:void 0}).then(t=>{switch((0,s.default)("[requests fetch]",t),t.headers.forEach((t,e)=>{u[e.toUpperCase()]=t}),l={readyState:4,status:t.status,statusText:t.statusText,response:void 0,getResponseHeader:t=>u[t.toUpperCase()]||null,responseType:n.responseType,responseURL:e},n.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json();case void 0:case"":case"text":return t.text();default:throw new Error("responseType 'document' is not currently supported using fetch")}}).then(t=>(l.response=t,n.responseType&&"text"!==n.responseType||(l.responseText=t),l)).finally(()=>{clearTimeout(r)});return Promise.race([c,a])})}(t,n,r):"function"==typeof XMLHttpRequest?function(t,n,r){return i(this,void 0,void 0,function*(){return new Promise((i,a)=>{(0,s.default)("[requests XHR]",t,n);let l=!1;const u=setTimeout(()=>{l=!0,a("timeout")},o.default.requestTimeout),c=new XMLHttpRequest;if(c.open(t,n,!0),r.responseType&&(c.responseType=r.responseType),r.headers)for(const t in r.headers)c.setRequestHeader(t,r.headers[t]);c.onload=()=>{l||(clearTimeout(u),i(c))},c.onerror=t=>{l||(clearTimeout(u),a(t))};let h=r.body;"object"==typeof h&&!(0,e.isArrayBufferView)(h)&&h instanceof ArrayBuffer&&(h=new Uint8Array(h)),c.send(h)})})}(t,n,r):Promise.reject("[Requests] You need to add a polyfill for fetch or XMLHttpRequest")})};const s=r(n(334)),o=r(n(28));if("function"==typeof(n.g||window).ArrayBufferView)e.isArrayBufferView=function(t){return t&&t instanceof(n.g||window).ArrayBufferView};else{const t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];e.isArrayBufferView=function(e){for(let n=0;n<8;n++)if(e instanceof t[n])return!0;return!1}}},941:function(t){t.exports=class{constructor(t){this._itemsRev={},this._storage={},this._canPropagate=!1,this.defaultValue=t,this.activatePropagation()}get(t){t=t.toLowerCase();let e=this._storage[t];return void 0===e&&(e=this.defaultValue,this._storage[t]=e),e}set(t,e){return t=t.toLowerCase(),this._storage[t]===e||(this._storage[t]=e,e||delete this._itemsRev[t],this._updateParentFolderItemRev(t,e),this._canPropagate&&this._propagate(t)),e}delete(t){return this.set(t,null)}deactivatePropagation(){return this._canPropagate=!1,!0}activatePropagation(){return this._canPropagate||(this._generateFolderRev("/"),this._canPropagate=!0),!0}_hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n0&&(n=this._generateHash(t))}return this.set(t,n),n}}},491:function(t){class e extends Error{constructor(t){super();const e=new Error("Schema not found: "+t);return e.name="SchemaNotFound",e}}t.exports=e},982:function(t){class e extends Error{constructor(t){super(),this.name="SyncError",this.message="Sync failed: ","string"==typeof t?this.message+=t:(this.message+=t.message,this.stack=t.stack,this.originalError=t)}}t.exports=e},313:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Sync=void 0;const s=r(n(28)),o=r(n(451)),a=r(n(93)),l=r(n(334)),u=r(n(275)),c=r(n(982)),h=r(n(503)),d=n(746);let p,f;function g(t,e,n){return{action:t,path:e,promise:n}}function m(t,e){return t.common.revision!==e&&(!t.remote||t.remote.revision!==e)}function y(t){return!!t.common&&!!t.common.revision}class _{constructor(t){this.numThreads=10,this._tasks={},this._running={},this._timeStarted={},this._finishedTasks=[],this.rs=t,this.rs.local.onDiff(t=>{this.addTask(t),this.doTasks()}),this.rs.caching.onActivate(t=>{this.addTask(t),this.doTasks()}),this.addEvents(["done","req-done"])}now(){return(new Date).getTime()}queueGetRequest(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{this.rs.remote.connected?this.rs.remote.online?(this.addTask(t,function(){this.rs.local.get(t).then(t=>e(t))}.bind(this)),this.doTasks()):n("cannot fulfill maxAge requirement - remote is not online"):n("cannot fulfill maxAge requirement - remote is not connected")})})}corruptServerItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t){const n=t[e];if("object"!=typeof n)return!0;if("string"!=typeof n.ETag)return!0;if((0,d.isFolder)(e)){if(-1!==e.substring(0,e.length-1).indexOf("/"))return!0}else if(-1!==e.indexOf("/"))return!0}return!1}corruptItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t)if("boolean"!=typeof t[e])return!0;return!1}corruptRevision(t){return"object"!=typeof t||Array.isArray(t)||t.revision&&"string"!=typeof t.revision||t.body&&"string"!=typeof t.body&&"object"!=typeof t.body||t.contentType&&"string"!=typeof t.contentType||t.contentLength&&"number"!=typeof t.contentLength||t.timestamp&&"number"!=typeof t.timestamp||t.itemsMap&&this.corruptItemsMap(t.itemsMap)}isCorrupt(t){return"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.path||this.corruptRevision(t.common)||t.local&&this.corruptRevision(t.local)||t.remote&&this.corruptRevision(t.remote)||t.push&&this.corruptRevision(t.push)}hasTasks(){return Object.keys(this._tasks).length>0}collectDiffTasks(){return i(this,void 0,void 0,function*(){let t=0;return this.rs.local.forAllNodes(e=>{t>100||(this.isCorrupt(e)?((0,l.default)("[Sync] WARNING: corrupt node in local cache",e),"object"==typeof e&&e.path&&(this.addTask(e.path),t++)):(this.needsFetch(e)&&this.rs.access.checkPathPermission(e.path,"r")||(0,d.isDocument)(e.path)&&this.needsPush(e)&&this.rs.access.checkPathPermission(e.path,"rw"))&&(this.addTask(e.path),t++))}).then(()=>t)})}inConflict(t){return!(!t.local||!t.remote||void 0===t.remote.body&&!t.remote.itemsMap)}needsRefresh(t){return!!t.common&&(!t.common.timestamp||this.now()-t.common.timestamp>s.default.syncInterval)}needsFetch(t){return!!this.inConflict(t)||!(!t.common||void 0!==t.common.itemsMap||void 0!==t.common.body)||!(!t.remote||void 0!==t.remote.itemsMap||void 0!==t.remote.body)}needsPush(t){return!this.inConflict(t)&&(!(!t.local||t.push)||void 0)}needsRemotePut(t){return t.local&&"string"==typeof t.local.body}needsRemoteDelete(t){return t.local&&!1===t.local.body}getParentPath(t){const e=t.match(/^(.*\/)([^\/]+\/?)$/);if(e)return e[1];throw new Error('Not a valid path: "'+t+'"')}deleteChildPathsFromTasks(){for(const t in this._tasks){const e=(0,d.pathsFromRoot)(t);for(let n=1;n{let e;if(this.needsRefresh(t)){try{e=this.getParentPath(t.path)}catch(t){}e&&this.rs.access.checkPathPermission(e,"r")?this.addTask(e):this.rs.access.checkPathPermission(t.path,"r")&&this.addTask(t.path)}}),this.deleteChildPathsFromTasks()})}flush(t){for(const e in t)"FLUSH"===this.rs.caching.checkPath(e)&&t[e]&&!t[e].local&&((0,l.default)("[Sync] Flushing",e),t[e]=void 0);return t}doTask(t){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(e=>{const n=e[t];return void 0===n||function(t){return!(!t.remote||!t.remote.revision||t.remote.itemsMap||t.remote.body)}(n)?g("get",t,this.rs.remote.get(t)):this.needsRemotePut(n)?(n.push=(0,d.deepClone)(n.local),n.push.timestamp=this.now(),this.rs.local.setNodes(this.flush(e)).then(()=>{let e;return e=y(n)?{ifMatch:n.common.revision}:{ifNoneMatch:"*"},g("put",t,this.rs.remote.put(t,n.push.body,n.push.contentType,e))})):this.needsRemoteDelete(n)?(n.push={body:!1,timestamp:this.now()},this.rs.local.setNodes(this.flush(e)).then(()=>y(n)?g("delete",t,this.rs.remote.delete(t,{ifMatch:n.common.revision})):g("get",t,this.rs.remote.get(t)))):y(n)?g("get",t,this.rs.remote.get(t,{ifNoneMatch:n.common.revision})):g("get",t,this.rs.remote.get(t))})})}autoMergeFolder(t){if(t.remote.itemsMap&&(t.common=t.remote,delete t.remote,t.common.itemsMap)){for(const e in t.common.itemsMap)t.local.itemsMap[e]||(t.local.itemsMap[e]=!1);for(const e in t.local.itemsMap)t.common.itemsMap[e]||this.addTask(t.path+e);(0,d.equal)(t.local.itemsMap,t.common.itemsMap)&&delete t.local}return t}autoMergeDocument(t){var e;return function(t){return(!t.remote||!t.remote.revision||t.remote.revision===t.common.revision)&&(void 0===t.common.body&&!1===t.remote.body||t.remote.body===t.common.body&&t.remote.contentType===t.common.contentType)}(t)?delete(t=function(t){return t.remote&&!1===t.remote.body&&t.local&&!1===t.local.body&&delete t.local,t}(t)).remote:void 0!==t.remote.body&&(!1===t.remote.body&&!1===(null===(e=t.local)||void 0===e?void 0:e.body)||((0,l.default)("[Sync] Emitting conflict event"),setTimeout(this.rs.local.emitChange.bind(this.rs.local),10,{origin:"conflict",path:t.path,oldValue:t.local.body,newValue:t.remote.body,lastCommonValue:t.common.body,oldContentType:t.local.contentType,newContentType:t.remote.contentType,lastCommonContentType:t.common.contentType})),!1===t.remote.body?t.common={}:t.common=t.remote,delete t.remote,delete t.local),t}autoMerge(t){if(t.remote){if(t.local)return(0,d.isFolder)(t.path)?this.autoMergeFolder(t):this.autoMergeDocument(t);if((0,d.isFolder)(t.path))void 0!==t.remote.itemsMap&&(t.common=t.remote,delete t.remote);else if(void 0!==t.remote.body){const e={origin:"remote",path:t.path,oldValue:!1===t.common.body?void 0:t.common.body,newValue:!1===t.remote.body?void 0:t.remote.body,oldContentType:t.common.contentType,newContentType:t.remote.contentType};if(void 0===e.oldValue&&void 0===e.newValue||this.rs.local.emitChange(e),!1===t.remote.body)return;t.common=t.remote,delete t.remote}return t}t.common.body&&this.rs.local.emitChange({origin:"remote",path:t.path,oldValue:t.common.body,newValue:void 0,oldContentType:t.common.contentType,newContentType:void 0})}updateCommonTimestamp(t,e){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(n=>(n[t]&&n[t].common&&n[t].common.revision===e&&(n[t].common.timestamp=this.now()),this.rs.local.setNodes(this.flush(n))))})}markChildren(t,e,n,r){return i(this,void 0,void 0,function*(){const i=[],s={},o={};for(const n in e)i.push(t+n),s[t+n]=e[n];for(const e in r)i.push(t+e);const a=yield this.rs.local.getNodes(i);let l,u;for(const e in a)if(u=a[e],s[e])u&&u.common?m(u,s[e].ETag)&&(n[e]=(0,d.deepClone)(u),n[e].remote={revision:s[e].ETag,timestamp:this.now()},n[e]=this.autoMerge(n[e])):(l=this.rs.caching.checkPath(e),"ALL"===l&&(n[e]={path:e,common:{timestamp:this.now()},remote:{revision:s[e].ETag,timestamp:this.now()}})),n[e]&&s[e]["Content-Type"]&&(n[e].remote.contentType=s[e]["Content-Type"]),n[e]&&s[e]["Content-Length"]&&(n[e].remote.contentLength=s[e]["Content-Length"]);else if(r[e.substring(t.length)]&&u&&u.common){if(u.common.itemsMap)for(const t in u.common.itemsMap)o[e+t]=!0;if(u.local&&u.local.itemsMap)for(const t in u.local.itemsMap)o[e+t]=!0;if(u.remote||(0,d.isFolder)(e))n[e]=void 0;else if(n[e]=this.autoMerge(u),void 0===n[e]){const i=this.getParentPath(e),r=n[i],s=e.substring(t.length);r&&r.local&&(delete r.local.itemsMap[s],(0,d.equal)(r.local.itemsMap,r.common.itemsMap)&&delete r.local)}}const c=yield this.markRemoteDeletions(Object.keys(o),n);c&&(yield this.rs.local.setNodes(this.flush(c)))})}markRemoteDeletions(t,e){return i(this,void 0,void 0,function*(){if(0===t.length)return e;const n=yield this.rs.local.getNodes(t),i={};function r(t,e){if(t&&t.itemsMap)for(const n in t.itemsMap)i[e+n]=!0}for(const t in n){const i=n[t];i&&((0,d.isFolder)(t)?(r(i.common,t),r(i.local,t)):i.common&&void 0!==i.common.body&&(e[t]=(0,d.deepClone)(i),e[t].remote={body:!1,timestamp:this.now()},e[t]=this.autoMerge(e[t])))}const s=yield this.markRemoteDeletions(Object.keys(i),e);s&&(yield this.rs.local.setNodes(this.flush(s)))})}completeFetch(t,e,n,r){return i(this,void 0,void 0,function*(){let i,s;const o=(0,d.pathsFromRoot)(t);(0,d.isFolder)(t)?i=[t]:(s=o[1],i=[t,s]);const a=yield this.rs.local.getNodes(i),l=a[s],u={};let c,h=a[t];function p(t){if(t&&t.itemsMap)for(c in t.itemsMap)e[c]||(u[c]=!0)}if("object"==typeof h&&h.path===t&&"object"==typeof h.common||(h={path:t,common:{}},a[t]=h),h.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(c in p(h.common),p(h.remote),h.remote.itemsMap={},e)h.remote.itemsMap[c]=!0;else h.remote.body=e,h.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(c=t.substring(s.length),!1!==e?l.local.itemsMap[c]=!0:l.local.itemsMap[c]&&delete l.local.itemsMap[c],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(h),{toBeSaved:a,missingChildren:u}})}completePush(t,e,n,r){return i(this,void 0,void 0,function*(){const i=yield this.rs.local.getNodes([t]),s=i[t];if(!s.push)throw this.stopped=!0,new Error("completePush called but no push version!");n?((0,l.default)("[Sync] We have a conflict"),s.remote&&s.remote.revision===r||(s.remote={revision:r||"conflict",timestamp:this.now()},delete s.push),i[t]=this.autoMerge(s)):(s.common={revision:r,timestamp:this.now()},"put"===e?(s.common.body=s.push.body,s.common.contentType=s.push.contentType,(0,d.equal)(s.local.body,s.push.body)&&s.local.contentType===s.push.contentType&&delete s.local,delete s.push):"delete"===e&&(!1===s.local.body?i[t]=void 0:delete s.push)),yield this.rs.local.setNodes(this.flush(i))})}dealWithFailure(t){return i(this,void 0,void 0,function*(){const e=yield this.rs.local.getNodes([t]);if(e[t])return delete e[t].push,this.rs.local.setNodes(this.flush(e))})}interpretStatus(t){const e={statusCode:t,successful:void 0,conflict:void 0,unAuth:void 0,notFound:void 0,changed:void 0,networkProblems:void 0};if("string"==typeof t&&("offline"===t||"timeout"===t))return e.successful=!1,e.networkProblems=!0,e;if("number"==typeof t){const n=Math.floor(t/100);return e.successful=2===n||304===t||412===t||404===t,e.conflict=412===t,e.unAuth=401===t&&this.rs.remote.token!==u.default.IMPLIED_FAKE_TOKEN||402===t||403===t,e.notFound=404===t,e.changed=304!==t,e}}handleGetResponse(t,e,n,r,s){return i(this,void 0,void 0,function*(){if(e.notFound&&(n=!!(0,d.isFolder)(t)&&{}),e.changed){const e=yield this.completeFetch(t,n,r,s);if((0,d.isFolder)(t)){if(this.corruptServerItemsMap(n))return(0,l.default)("[Sync] WARNING: Discarding corrupt folder description from server for "+t),!1;yield this.markChildren(t,n,e.toBeSaved,e.missingChildren)}else yield this.rs.local.setNodes(this.flush(e.toBeSaved))}else yield this.updateCommonTimestamp(t,s);return!0})}handleResponse(t,e,n){return i(this,void 0,void 0,function*(){const i=this.interpretStatus(n.statusCode);if(i.successful){if("get"===e)return this.handleGetResponse(t,i,n.body,n.contentType,n.revision);if("put"===e||"delete"===e)return this.completePush(t,e,i.conflict,n.revision).then(function(){return!0});throw new Error(`cannot handle response for unknown action ${e}`)}{let e;return e=i.unAuth?new h.default:i.networkProblems?new c.default("Network request failed."):new Error("HTTP response code "+i.statusCode+" received."),this.dealWithFailure(t).then(()=>{throw this.rs._emit("error",e),e})}})}finishTask(t){return i(this,arguments,void 0,function*(t,e=!0){if(void 0===t.action)return void delete this._running[t.path];if(e&&((0,l.default)("[Sync] queue finished task:",t.path),this._finishedTasks.push(t),this._finishedTasks.length>1))return void(0,l.default)("[Sync] delaying finished task:",t.path);let n;(0,l.default)("[Sync] run task:",t.path);try{n=yield t.promise}catch(e){(0,l.default)("[Sync] wire client rejects its promise",t.path,t.action,e),n={statusCode:"offline"}}try{const e=yield this.handleResponse(t.path,t.action,n);this.finishSuccessfulTask(t,e)}catch(e){this.finishUnsuccessfulTask(t,e)}})}finishSuccessfulTask(t,e){return i(this,void 0,void 0,function*(){if(this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],e&&this._tasks[t.path]){for(let e=0;e0?yield this.finishTask(this._finishedTasks[0],!1):yield this.collectTasks(!1).then(()=>{!this.hasTasks()||this.stopped?(this.done||(this.done=!0),this.rs._emit("sync-done",{completed:!0})):setTimeout(()=>{this.doTasks()},10)})})}finishUnsuccessfulTask(t,e){return i(this,void 0,void 0,function*(){(0,l.default)("[Sync]",e.message),this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],this.rs._emit("sync-req-done",{tasksRemaining:Object.keys(this._tasks).length}),this._finishedTasks.length>0?yield this.finishTask(this._finishedTasks[0],!1):this.done||(this.done=!0,this.rs._emit("sync-done",{completed:!1}))})}tasksWanted(){return this.rs.remote.connected?this.rs.remote.online?this.numThreads:1:0}doTasks(){const t=this.tasksWanted()-Object.keys(this._running).length;if(t<=0)return!0;this.hasTasks()&&!this.done&&this.rs._emit("sync-started");let e,n=0;for(e in this._tasks)if(!this._running[e]&&(this._timeStarted[e]=this.now(),this._running[e]=this.doTask(e).then(this.finishTask.bind(this)),n++,n>=t))break;return n>=t}collectTasks(){return i(this,arguments,void 0,function*(t=!0){if(!this.hasTasks()&&!this.stopped)return(yield this.collectDiffTasks())>0?void 0:t?this.collectRefreshTasks():void 0})}addTask(t,e){this._tasks[t]||(this._tasks[t]=[]),"function"==typeof e&&this._tasks[t].push(e)}sync(){return i(this,void 0,void 0,function*(){if(this.done=!1,!this.doTasks()){try{yield this.collectTasks()}catch(t){throw(0,l.default)("[Sync] Sync error",t),new Error("Local cache unavailable")}this.doTasks()}})}static _rs_init(t){p=function(){const e=new o.default;e.isBrowser()&&function(t,e){function n(t){const n=e.getCurrentSyncInterval();s.default.isBackground=!t;const i=e.getCurrentSyncInterval();e._emit("sync-interval-change",{oldValue:n,newValue:i})}t.on("background",()=>n(!1)),t.on("foreground",()=>n(!0))}(e,t),t.sync||(t.sync=new _(t),t.syncStopped&&((0,l.default)("[Sync] Initializing with sync stopped"),t.sync.stopped=!0,delete t.syncStopped)),t.setupSyncCycle()},f=function(){t.removeEventListener("connected",f),t.startSync()},t.on("ready",p),t.on("connected",f)}static _rs_cleanup(t){t.stopSync(),t.removeEventListener("ready",p),t.removeEventListener("connected",f),t.sync=void 0,delete t.sync}}e.Sync=_,(0,d.applyMixins)(_,[a.default]),e.default=_},370:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const r=(this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}})(n(334));function s(t){return"dropbox"===this.backend&&!!t.match(/^\/public\/.*[^\/]$/)}const o={get:function(t,e){if(this.local){if(void 0===e)e="object"==typeof(n=this).remote&&n.remote.connected&&n.remote.online?2*n.getSyncInterval():((0,r.default)("Not setting default maxAge, because remote is offline or not connected"),!1);else if("number"!=typeof e&&!1!==e)return Promise.reject("Argument 'maxAge' must be 'false' or a number");return this.local.get(t,e,this.sync.queueGetRequest.bind(this.sync))}return this.remote.get(t);var n},put:function(t,e,n){return s.bind(this)(t)?o._wrapBusyDone.call(this,this.remote.put(t,e,n)):this.local?this.local.put(t,e,n):o._wrapBusyDone.call(this,this.remote.put(t,e,n))},delete:function(t,e){return this.local?this.local.delete(t,e):o._wrapBusyDone.call(this,this.remote.delete(t,e))},_wrapBusyDone:function(t){return i(this,void 0,void 0,function*(){return this._emit("wire-busy"),t.then(t=>(this._emit("wire-done",{success:!0}),Promise.resolve(t)),t=>(this._emit("wire-done",{success:!1}),Promise.reject(t)))})}};t.exports=o},613:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClientTypes=void 0;class n{constructor(){this.uris={},this.schemas={},this.aliases={}}declare(t,e,n,i){const r=t+"/"+e;if(i.extends){const e=i.extends.split("/"),n=1===e.length?t+"/"+e.shift():e.join("/"),s=this.uris[n];if(!s)throw"Type '"+r+"' tries to extend unknown schema '"+n+"'";i.extends=this.schemas[s]}this.uris[r]=n,this.aliases[n]=r,this.schemas[n]=i}resolveAlias(t){return this.uris[t]}getSchema(t){return this.schemas[t]}inScope(t){const e=t.length,n={};for(const i in this.uris)if(i.substr(0,e+1)===t+"/"){const t=this.uris[i];n[t]=this.schemas[t]}return n}}e.BaseClientTypes=n;const i=new n;e.default=i},503:function(t){class e extends Error{constructor(t,e={}){super(),this.name="Unauthorized",this.message=void 0===t?"App authorization expired or revoked.":t,void 0!==e.code&&(this.code=e.code),this.stack=(new Error).stack}}t.exports=e},746:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};function r(t,e){if("object"==typeof t&&!Array.isArray(t)&&null!==t)for(const n in t)if("object"==typeof t[n]&&null!==t[n])if("[object ArrayBuffer]"===t[n].toString()){e[n]=new ArrayBuffer(t[n].byteLength);const i=new Int8Array(t[n]);new Int8Array(e[n]).set(i)}else r(t[n],e[n])}Object.defineProperty(e,"__esModule",{value:!0}),e.toBase64=e.getTextFromArrayBuffer=e.shouldBeTreatedAsBinary=e.getJSONFromLocalStorage=e.localStorageAvailable=e.pathsFromRoot=e.deepClone=e.equal=e.bindAll=e.cleanPath=e.baseName=e.isDocument=e.isFolder=e.containingFolder=e.extend=e.getGlobalContext=e.globalContext=e.logError=void 0,e.generateCodeVerifier=function(){return i(this,arguments,void 0,function*(t=128){const e=new Uint8Array(t);crypto.getRandomValues(e);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=Array.from(e).map(t=>n[t%66]),r=i.join(""),s=Uint8Array.from(i.map(t=>t.charCodeAt(0))),o=(a=yield crypto.subtle.digest("SHA-256",s),btoa(String.fromCharCode.apply(null,new Uint8Array(a))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""));var a;return crypto.getRandomValues(e),{codeVerifier:r,codeChallenge:o,state:Array.from(e).map(t=>n[t%66]).join("")}})},e.applyMixins=function(t,e){e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(n=>{Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n))})})},e.logError=t=>{"string"==typeof t?console.error(t):console.error(t.message,t.stack)},e.globalContext="undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.getGlobalContext=()=>"undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.extend=(...t)=>{const e=t[0];return Array.prototype.slice.call(t,1).forEach(function(t){for(const n in t)e[n]=t[n]}),e},e.containingFolder=t=>{if(""===t)return"/";if(!t)throw"Path not given!";return t.replace(/\/+/g,"/").replace(/[^\/]+\/?$/,"")},e.isFolder=t=>"/"===t.slice(-1),e.isDocument=t=>!(0,e.isFolder)(t),e.baseName=t=>{const n=t.split("/");return(0,e.isFolder)(t)?n[n.length-2]+"/":n[n.length-1]},e.cleanPath=t=>t.replace(/\/+/g,"/").split("/").map(encodeURIComponent).join("/").replace(/'/g,"%27"),e.bindAll=t=>{for(const e in this)"function"==typeof t[e]&&(t[e]=t[e].bind(t))},e.equal=(t,n,i=[])=>{let r;if(typeof t!=typeof n)return!1;if("number"==typeof t||"boolean"==typeof t||"string"==typeof t)return t===n;if("function"==typeof t)return t.toString()===n.toString();if(t instanceof ArrayBuffer&&n instanceof ArrayBuffer&&(t=new Uint8Array(t),n=new Uint8Array(n)),t instanceof Array){if(t.length!==n.length)return!1;for(let r=0,s=t.length;r=0)continue;s=i.slice(),s.push(n[r])}if(!(0,e.equal)(t[r],n[r],s))return!1}}return!0},e.deepClone=t=>{if(void 0!==t){const e=JSON.parse(JSON.stringify(t));return r(t,e),e}},e.pathsFromRoot=t=>{const e=[t],n=t.replace(/\/$/,"").split("/");for(;n.length>1;)n.pop(),e.push(n.join("/")+"/");return e},e.localStorageAvailable=()=>{const t=(0,e.getGlobalContext)();if(!("localStorage"in t))return!1;try{return t.localStorage.setItem("rs-check","1"),t.localStorage.removeItem("rs-check"),!0}catch(t){return!1}},e.getJSONFromLocalStorage=t=>{const n=(0,e.getGlobalContext)();try{return JSON.parse(n.localStorage.getItem(t))}catch(t){}},e.shouldBeTreatedAsBinary=(t,e)=>!!(e&&e.match(/charset=binary/)||/[\x00-\x08\x0E-\x1F\uFFFD]/.test(t)),e.getTextFromArrayBuffer=(t,n)=>new Promise(i=>{if("undefined"==typeof Blob||"undefined"==typeof FileReader){const e=Buffer.from(t);i(e.toString(n))}else{let r;const s=e.globalContext;if(s.BlobBuilder=s.BlobBuilder||s.WebKitBlobBuilder,void 0!==s.BlobBuilder){const e=new s.BlobBuilder;e.append(t),r=e.getBlob()}else r=new Blob([t]);const o=new FileReader;"function"==typeof o.addEventListener?o.addEventListener("loadend",function(t){i(t.target.result)}):o.onloadend=function(t){i(t.target.result)},o.readAsText(r,n)}}),e.toBase64=t=>{const n=(0,e.getGlobalContext)();return"btoa"in n?n.btoa(t):Buffer.from(t).toString("base64")}},600:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(275)),o=r(n(93)),a=r(n(503)),l=r(n(334)),u=n(746),c=n(368),h=n(684);let d;const p="remotestorage:wireclient",f={"draft-dejong-remotestorage-00":2,"draft-dejong-remotestorage-01":3,"draft-dejong-remotestorage-02":4,"https://www.w3.org/community/rww/wiki/read-write-web-00#simple":1};class g extends h.RemoteBase{constructor(t){if(super(t),this._revisionCache={},d=(0,u.localStorageAvailable)(),this.addEvents(["connected","not-connected"]),d){const t=function(){const t=(0,u.getJSONFromLocalStorage)(p)||{},{userAddress:e,href:n,storageApi:i,token:r,properties:s}=t;return{userAddress:e,href:n,storageApi:i,token:r,properties:s}}();t&&setTimeout(()=>{this.configure(t)},0)}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}get storageType(){if(this.storageApi){const t=this.storageApi.match(/draft-dejong-(remotestorage-\d\d)/);return t?t[1]:"2012.04"}}_request(t,e,n,r,o,h,d){return i(this,void 0,void 0,function*(){if(this.isForbiddenRequestMethod(t,e))return Promise.reject(`Don't use ${t} on directories!`);let i;return n!==s.default.IMPLIED_FAKE_TOKEN&&(r.Authorization="Bearer "+n),this.rs._emit("wire-busy",{method:t,isFolder:(0,u.isFolder)(e)}),(0,c.requestWithTimeout)(t,e,{body:o,headers:r,responseType:"arraybuffer"}).then(n=>{if(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),r=n.status,[401,403,404,412].indexOf(r)>=0)return(0,l.default)("[WireClient] Error response status",n.status),i=h?this.stripQuotes(n.getResponseHeader("ETag")):void 0,401===n.status&&this.rs._emit("error",new a.default),Promise.resolve({statusCode:n.status,revision:i});if(function(t){return[201,204,304].indexOf(t)>=0}(n.status)||200===n.status&&"GET"!==t)return i=this.stripQuotes(n.getResponseHeader("ETag")),(0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,revision:i});{const t=n.getResponseHeader("Content-Type");i=h?this.stripQuotes(n.getResponseHeader("ETag")):200===n.status?d:void 0;const e=function(t){let e,n="utf-8";return t&&(e=t.match(/charset=(.+)$/),e&&(n=e[1])),n}(t);return(0,u.shouldBeTreatedAsBinary)(n.response,t)?((0,l.default)("[WireClient] Successful request with unknown or binary mime-type",i),Promise.resolve({statusCode:n.status,body:n.response,contentType:t,revision:i})):(0,u.getTextFromArrayBuffer)(n.response,e).then(e=>((0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,body:e,contentType:t,revision:i})))}var r},n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!1}),Promise.reject(n)))})}configure(t){if("object"!=typeof t)throw new Error("WireClient configure settings parameter should be an object");if(void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.href&&(this.href=t.href),void 0!==t.storageApi&&(this.storageApi=t.storageApi),void 0!==t.token&&(this.token=t.token),void 0!==t.properties&&(this.properties=t.properties),"string"==typeof this.storageApi){const t=f[this.storageApi]||5;this.supportsRevs=t>=2}this.href&&this.token?(this.connected=!0,this.online=!0,this._emit("connected")):this.connected=!1,d&&localStorage.setItem(p,JSON.stringify({userAddress:this.userAddress,href:this.href,storageApi:this.storageApi,token:this.token,properties:this.properties}))}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n={};return this.supportsRevs&&e.ifNoneMatch&&(n["If-None-Match"]=this.addQuotes(e.ifNoneMatch)),this._request("GET",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs,this._revisionCache[t]).then(e=>{if(!(0,u.isFolder)(t))return Promise.resolve(e);let n={};if(void 0!==e.body)try{e.body=JSON.parse(e.body)}catch(e){return Promise.reject("Folder description at "+this.href+(0,u.cleanPath)(t)+" is not JSON")}if(200===e.statusCode&&"object"==typeof e.body){if(0===Object.keys(e.body).length)e.statusCode=404;else if("http://remotestorage.io/spec/folder-description"===(i=e.body)["@context"]&&"object"==typeof i.items){for(const n in e.body.items)this._revisionCache[t+n]=e.body.items[n].ETag;n=e.body.items}else Object.keys(e.body).forEach(i=>{this._revisionCache[t+i]=e.body[i],n[i]={ETag:e.body[i]}});return e.body=n,Promise.resolve(e)}return Promise.resolve(e);var i})}put(t,e,n,i={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");!n.match(/charset=/)&&(e instanceof ArrayBuffer||(0,c.isArrayBufferView)(e))&&(n+="; charset=binary");const r={"Content-Type":n};return this.supportsRevs&&(i.ifMatch&&(r["If-Match"]=this.addQuotes(i.ifMatch)),i.ifNoneMatch&&(r["If-None-Match"]=this.addQuotes(i.ifNoneMatch))),this._request("PUT",this.href+(0,u.cleanPath)(t),this.token,r,e,this.supportsRevs)}delete(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");e||(e={});const n={};return this.supportsRevs&&e.ifMatch&&(n["If-Match"]=this.addQuotes(e.ifMatch)),this._request("DELETE",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs)}static _rs_init(t){t.remote=new g(t),t.remote.online=!0}static _rs_supported(){return"function"==typeof fetch||"function"==typeof XMLHttpRequest}static _rs_cleanup(){d&&delete localStorage[p]}}(0,u.applyMixins)(g,[o.default]),t.exports=g},439:function(t,e){var n,i;n=function(){var t,e,n,i;Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=(n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(r){if("object"!=typeof r&&"function"!=typeof r||null===r)throw new TypeError("Object.keys called on non-object");var s=[];for(var o in r)t.call(r,o)&&s.push(o);if(e)for(var a=0;a>>0;if(0===n)return-1;var i=0;if(arguments.length>1&&((i=Number(arguments[1]))!=i?i=0:0!==i&&i!==1/0&&i!==-1/0&&(i=(i>0||-1)*Math.floor(Math.abs(i)))),i>=n)return-1;for(var r=i>=0?i:Math.max(n-Math.abs(i),0);r0&&(e+=c.suffices["*"]&&n||",",c.suffices["*"]&&l&&(e+=c.name+"=")),e+=a?encodeURIComponent(h[p]).replace(/!/g,"%21"):o(h[p])}else if("object"==typeof h){l&&!c.suffices["*"]&&(e+=c.name+"=");var f=!0;for(var g in h)f||(e+=c.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=c.suffices["*"]?"=":",",e+=a?encodeURIComponent(h[g]).replace(/!/g,"%21"):o(h[g])}else l&&(e+=c.name,u&&""===h||(e+="=")),null!=c.truncate&&(h=h.substring(0,c.truncate)),e+=a?encodeURIComponent(h).replace(/!/g,"%21"):o(h)}return e};return b.varNames=c,{prefix:i,substitution:b}}function l(t){if(!(this instanceof l))return new l(t);for(var e=t.split("{"),n=[e.shift()],i=[],r=[],s=[];e.length>0;){var o=e.shift(),u=o.split("}")[0],c=o.substring(u.length+1),h=a(u);r.push(h.substitution),i.push(h.prefix),n.push(c),s=s.concat(h.substitution.varNames)}this.fill=function(t){for(var e=n[0],i=0;i0&&"/"===e.charAt(t.length-1)||"#"===n.charAt(0)||"?"===n.charAt(0))return!0}return!1}(e,t.id)&&void 0===this.schemas[t.id]&&(this.schemas[t.id]=t),t)if("enum"!==i)if("object"==typeof t[i])this.searchSchemas(t[i],e);else if("$ref"===i){var r=g(t[i]);r&&void 0===this.schemas[r]&&void 0===this.missingMap[r]&&(this.missingMap[r]=r)}},u.prototype.addSchema=function(t,e){if("string"!=typeof t||void 0===e){if("object"!=typeof t||"string"!=typeof t.id)return;t=(e=t).id}t===g(t)+"#"&&(t=g(t)),this.schemas[t]=e,delete this.missingMap[t],m(e,t),this.searchSchemas(e,t)},u.prototype.getSchemaMap=function(){var t={};for(var e in this.schemas)t[e]=this.schemas[e];return t},u.prototype.getSchemaUris=function(t){var e=[];for(var n in this.schemas)t&&!t.test(n)||e.push(n);return e},u.prototype.getMissingUris=function(t){var e=[];for(var n in this.missingMap)t&&!t.test(n)||e.push(n);return e},u.prototype.dropSchemas=function(){this.schemas={},this.reset()},u.prototype.reset=function(){this.missing=[],this.missingMap={},this.errors=[]},u.prototype.validateAll=function(t,e,n,i,r){var s;if(!(e=this.resolveRefs(e)))return null;if(e instanceof x)return this.errors.push(e),e;var o,a=this.errors.length,l=null,u=null;if(this.checkRecursive&&t&&"object"==typeof t){if(s=!this.scanned.length,t[this.validatedSchemasKey]){var c=t[this.validatedSchemasKey].indexOf(e);if(-1!==c)return this.errors=this.errors.concat(t[this.validationErrorsKey][c]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var h=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][h]),null}if(this.scanned.push(t),Object.isFrozen(t))-1===o&&(o=this.scannedFrozen.length,this.scannedFrozen.push(t),this.scannedFrozenSchemas.push([])),l=this.scannedFrozenSchemas[o].length,this.scannedFrozenSchemas[o][l]=e,this.scannedFrozenValidationErrors[o][l]=[];else{if(!t[this.validatedSchemasKey])try{Object.defineProperty(t,this.validatedSchemasKey,{value:[],configurable:!0}),Object.defineProperty(t,this.validationErrorsKey,{value:[],configurable:!0})}catch(e){t[this.validatedSchemasKey]=[],t[this.validationErrorsKey]=[]}u=t[this.validatedSchemasKey].length,t[this.validatedSchemasKey][u]=e,t[this.validationErrorsKey][u]=[]}}var d=this.errors.length,p=this.validateBasic(t,e,r)||this.validateNumeric(t,e,r)||this.validateString(t,e,r)||this.validateArray(t,e,r)||this.validateObject(t,e,r)||this.validateCombinations(t,e,r)||this.validateHypermedia(t,e,r)||this.validateFormat(t,e,r)||this.validateDefinedKeywords(t,e,r)||null;if(s){for(;this.scanned.length;)delete this.scanned.pop()[this.validatedSchemasKey];this.scannedFrozen=[],this.scannedFrozenSchemas=[]}if(p||d!==this.errors.length)for(;n&&n.length||i&&i.length;){var f=n&&n.length?""+n.pop():null,g=i&&i.length?""+i.pop():null;p&&(p=p.prefixWith(f,g)),this.prefixErrors(d,f,g)}return null!==l?this.scannedFrozenValidationErrors[o][l]=this.errors.slice(a):null!==u&&(t[this.validationErrorsKey][u]=this.errors.slice(a)),this.handleError(p)},u.prototype.validateFormat=function(t,e){if("string"!=typeof e.format||!this.formatValidators[e.format])return null;var n=this.formatValidators[e.format].call(null,t,e);return"string"==typeof n||"number"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n},"","/format",null,t,e):n&&"object"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n.message||"?"},n.dataPath||"",n.schemaPath||"/format",null,t,e):null},u.prototype.validateDefinedKeywords=function(t,e,n){for(var i in this.definedKeywords)if(void 0!==e[i])for(var r=this.definedKeywords[i],s=0;s=h&&ie.maximum)return this.createError(_.NUMBER_MAXIMUM,{value:t,maximum:e.maximum},"","/maximum",null,t,e);if(e.exclusiveMaximum&&t===e.maximum)return this.createError(_.NUMBER_MAXIMUM_EXCLUSIVE,{value:t,maximum:e.maximum},"","/exclusiveMaximum",null,t,e)}return null},u.prototype.validateNaN=function(t,e){return"number"!=typeof t?null:!0===isNaN(t)||t===1/0||t===-1/0?this.createError(_.NUMBER_NOT_A_NUMBER,{value:t},"","/type",null,t,e):null},u.prototype.validateString=function(t,e,n){return this.validateStringLength(t,e,n)||this.validateStringPattern(t,e,n)||null},u.prototype.validateStringLength=function(t,e){return"string"!=typeof t?null:void 0!==e.minLength&&t.lengthe.maxLength?this.createError(_.STRING_LENGTH_LONG,{length:t.length,maximum:e.maxLength},"","/maxLength",null,t,e):null},u.prototype.validateStringPattern=function(t,e){if("string"!=typeof t||"string"!=typeof e.pattern&&!(e.pattern instanceof RegExp))return null;var n;if(e.pattern instanceof RegExp)n=e.pattern;else{var i,r="",s=e.pattern.match(/^\/(.+)\/([img]*)$/);s?(i=s[1],r=s[2]):i=e.pattern,n=new RegExp(i,r)}return n.test(t)?null:this.createError(_.STRING_PATTERN,{pattern:e.pattern},"","/pattern",null,t,e)},u.prototype.validateArray=function(t,e,n){return Array.isArray(t)&&(this.validateArrayLength(t,e,n)||this.validateArrayUniqueItems(t,e,n)||this.validateArrayItems(t,e,n))||null},u.prototype.validateArrayLength=function(t,e){var n;return void 0!==e.minItems&&t.lengthe.maxItems&&(n=this.createError(_.ARRAY_LENGTH_LONG,{length:t.length,maximum:e.maxItems},"","/maxItems",null,t,e),this.handleError(n))?n:null},u.prototype.validateArrayUniqueItems=function(t,e){if(e.uniqueItems)for(var n=0;ne.maxProperties&&(n=this.createError(_.OBJECT_PROPERTIES_MAXIMUM,{propertyCount:i.length,maximum:e.maxProperties},"","/maxProperties",null,t,e),this.handleError(n))?n:null},u.prototype.validateObjectRequiredProperties=function(t,e){if(void 0!==e.required)for(var n=0;n 10000");if(void 0!==_[t])throw new Error("Error already defined: "+t+" as "+_[t]);if(void 0!==v[e])throw new Error("Error code already used: "+v[e]+" as "+e);for(var i in _[t]=e,v[e]=t,w[t]=w[e]=n,S){var r=S[i];r[t]&&(r[e]=r[e]||r[t])}},reset:function(){i.reset(),this.error=null,this.missing=[],this.valid=!0},missing:[],error:null,valid:!0,normSchema:m,resolveUrl:f,getDocumentUri:g,errorCodes:_};return r.language("en"),r}();return E.addLanguage("en-gb",w),E.tv4=E,E},void 0===(i=n.apply(e,[]))||(t.exports=i)},199:function(t,e,n){var i;"function"!=typeof fetch&&"function"!=typeof XMLHttpRequest&&(XMLHttpRequest=n(317)),function(){var n={"http://webfist.org/spec/rel":"webfist","http://webfinger.net/rel/avatar":"avatar",remotestorage:"remotestorage","http://tools.ietf.org/id/draft-dejong-remotestorage":"remotestorage",remoteStorage:"remotestorage","http://www.packetizer.com/rel/share":"share","http://webfinger.net/rel/profile-page":"profile",me:"profile",vcard:"vcard",blog:"blog","http://packetizer.com/rel/blog":"blog","http://schemas.google.com/g/2010#updates-from":"updates","https://camlistore.org/rel/server":"camilstore"},r={avatar:[],remotestorage:[],blog:[],vcard:[],updates:[],share:[],profile:[],webfist:[],camlistore:[]},s=["webfinger","host-meta","host-meta.json"];function o(t){return t.toString=function(){return this.message},t}function a(t){"object"!=typeof t&&(t={}),this.config={tls_only:void 0===t.tls_only||t.tls_only,webfist_fallback:void 0!==t.webfist_fallback&&t.webfist_fallback,uri_fallback:void 0!==t.uri_fallback&&t.uri_fallback,request_timeout:void 0!==t.request_timeout?t.request_timeout:1e4}}a.prototype.__fetchJRD=function(t,e,n){if("function"==typeof fetch)return this.__fetchJRD_fetch(t,e,n);if("function"==typeof XMLHttpRequest)return this.__fetchJRD_XHR(t,e,n);throw new Error("add a polyfill for fetch or XMLHttpRequest")},a.prototype.__fetchJRD_fetch=function(t,e,n){var i,r=this;"function"==typeof AbortController&&(i=new AbortController);var s=fetch(t,{headers:{Accept:"application/jrd+json, application/json"},signal:i?i.signal:void 0}).then(function(e){if(e.ok)return e.text();throw 404===e.status?o({message:"resource not found",url:t,status:e.status}):o({message:"error during request",url:t,status:e.status})},function(e){throw o({message:"error during request",url:t,status:void 0,err:e})}).then(function(e){if(r.__isValidJSON(e))return e;throw o({message:"invalid json",url:t,status:void 0})}),a=new Promise(function(e,n){setTimeout(function(){n(o({message:"request timed out",url:t,status:void 0})),i&&i.abort()},r.config.request_timeout)});Promise.race([s,a]).then(function(t){n(t)}).catch(function(t){e(t)})},a.prototype.__fetchJRD_XHR=function(t,e,n){var i=this,r=!1,s=new XMLHttpRequest;function a(){if(!r)return r=!0,200===s.status?i.__isValidJSON(s.responseText)?n(s.responseText):e(o({message:"invalid json",url:t,status:s.status})):404===s.status?e(o({message:"resource not found",url:t,status:s.status})):s.status>=301&&s.status<=302?function(t){return"string"==typeof t&&"https"===t.split("://")[0]}(s.getResponseHeader("Location"))?l():e(o({message:"no redirect URL found",url:t,status:s.status})):e(o({message:"error during request",url:t,status:s.status}))}function l(){s.onreadystatechange=function(){4===s.readyState&&a()},s.onload=function(){a()},s.ontimeout=function(){return e(o({message:"request timed out",url:t,status:s.status}))},s.open("GET",t,!0),s.timeout=i.config.request_timeout,s.setRequestHeader("Accept","application/jrd+json, application/json"),s.send()}return l()},a.prototype.__isValidJSON=function(t){try{JSON.parse(t)}catch(t){return!1}return!0},a.prototype.__isLocalhost=function(t){return/^localhost(\.localdomain)?(\:[0-9]+)?$/.test(t)},a.prototype.__processJRD=function(t,e,i,s){var a=JSON.parse(e);if("object"!=typeof a||"object"!=typeof a.links)return void 0!==a.error?i(o({message:a.error,request:t})):i(o({message:"unknown response from server",request:t}));var l=a.links;Array.isArray(l)||(l=[]);var u={object:a,json:e,idx:{}};u.idx.properties={name:void 0},u.idx.links=JSON.parse(JSON.stringify(r)),l.map(function(t){if(n.hasOwnProperty(t.rel)&&u.idx.links[n[t.rel]]){var e={};Object.keys(t).map(function(n){e[n]=t[n]}),u.idx.links[n[t.rel]].push(e)}});var c=JSON.parse(e).properties;for(var h in c)c.hasOwnProperty(h)&&"http://packetizer.com/ns/name"===h&&(u.idx.properties.name=c[h]);return s(u)},a.prototype.lookup=function(t,e){if("string"!=typeof t)throw new Error("first parameter must be a user address");if("function"!=typeof e)throw new Error("second parameter must be a callback");var n=this,i="";i=t.indexOf("://")>-1?t.replace(/ /g,"").split("/")[2]:t.replace(/ /g,"").split("@")[1];var r=0,o="https";function a(){var e="";return t.split("://")[1]||(e="acct:"),o+"://"+i+"/.well-known/"+s[r]+"?resource="+e+t}function l(t){if(n.config.uri_fallback&&"webfist.org"!==i&&r!==s.length-1)return r+=1,u();if(!n.config.tls_only&&"https"===o)return r=0,o="http",u();if(!n.config.webfist_fallback||"webfist.org"===i)return e(t);r=0,o="http",i="webfist.org";var l=a();n.__fetchJRD(l,e,function(t){n.__processJRD(l,t,e,function(t){"object"==typeof t.idx.links.webfist&&"string"==typeof t.idx.links.webfist[0].href&&n.__fetchJRD(t.idx.links.webfist[0].href,e,function(t){n.__processJRD(l,t,e,function(){return e(null,e)})})})})}function u(){var t=a();n.__fetchJRD(t,l,function(i){n.__processJRD(t,i,e,function(t){e(null,t)})})}return n.__isLocalhost(i)&&(o="http"),setTimeout(u,0)},a.prototype.lookupLink=function(t,e,n){if(!r.hasOwnProperty(e))return n("unsupported rel "+e);this.lookup(t,function(t,i){var r=i.idx.links[e];return t?n(t):0===r.length?n('no links found with rel="'+e+'"'):n(null,r[0])})},void 0===(i=function(){return a}.apply(e,[]))||(t.exports=i)}()},317:function(t){t.exports=XMLHttpRequest}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,n),s.exports}return n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n(423).default}()),Ww.exports); -/*! For license information please see remotestorage.js.LICENSE.txt */const Kw=$w(Hw),Xw="0123456789bcdefghjkmnpqrstuvwxyz";let Yw=class t{static encode(e,n,i){if(void 0===i){for(let i=1;i<=12;i++){const r=t.encode(e,n,i),s=t.decode(r);if(s.lat==e&&s.lon==n)return r}i=12}if(e=Number(e),n=Number(n),i=Number(i),isNaN(e)||isNaN(n)||isNaN(i))throw new Error("Invalid geohash");let r=0,s=0,o=!0,a="",l=-90,u=90,c=-180,h=180;for(;a.length=t?(r=2*r+1,c=t):(r*=2,h=t)}else{const t=(l+u)/2;e>=t?(r=2*r+1,l=t):(r*=2,u=t)}o=!o,5==++s&&(a+=Xw.charAt(r),s=0,r=0)}return a}static decode(e){const n=t.bounds(e),i=n.sw.lat,r=n.sw.lon,s=n.ne.lat,o=n.ne.lon;let a=(i+s)/2,l=(r+o)/2;return a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),l=l.toFixed(Math.floor(2-Math.log(o-r)/Math.LN10)),{lat:Number(a),lon:Number(l)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(e,n){if(e=e.toLowerCase(),n=n.toLowerCase(),0==e.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(n))throw new Error("Invalid direction");const i=e.slice(-1);let r=e.slice(0,-1);const s=e.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[n][s].indexOf(i)&&""!=r&&(r=t.adjacent(r,n)),r+Xw.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[n][s].indexOf(i))}static neighbours(e){return{n:t.adjacent(e,"n"),ne:t.adjacent(t.adjacent(e,"n"),"e"),e:t.adjacent(e,"e"),se:t.adjacent(t.adjacent(e,"s"),"e"),s:t.adjacent(e,"s"),sw:t.adjacent(t.adjacent(e,"s"),"w"),w:t.adjacent(e,"w"),nw:t.adjacent(t.adjacent(e,"n"),"w")}}};const Zw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Jw=0xffffffffffff;var Qw;!function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"}(Qw||(Qw={}));class tx extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function ex(t){const e=Math.floor(32*t())%32;return Zw.charAt(e)}const nx={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",{type:"object",properties:{id:{type:"string",required:!0},title:{type:"string",required:!0},lat:{type:"number",required:!0},lon:{type:"number",required:!0},geohash:{type:"string",required:!0},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time",required:!0},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]});const n={store:async function(n){const i=function(t){const e=(new Date).toISOString(),n=t.id||function(){const t=function(){const t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:null,e=t&&(t.crypto||t.msCrypto)||null;if("function"==typeof e?.getRandomValues)return()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]/256};if("function"==typeof e?.randomBytes)return()=>e.randomBytes(1).readUInt8()/256;throw new tx(Qw.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new tx(Qw.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Jw)throw new tx(Qw.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Jw}: ${t}`);if(t<0)throw new tx(Qw.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new tx(Qw.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Zw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=ex(e)+n;return n}(16,t)}(),i="number"==typeof t.lat?t.lat:0,r="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||Yw.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,createdAt:t.createdAt||e,updatedAt:t.id?e:void 0};return Object.keys(a).forEach(t=>{void 0===a[t]&&delete a[t]}),a}(n),r=e(i.geohash,i.id);return await t.storeObject("place",r,i),i},remove:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to remove a place");const r=e(i,n);return t.remove(r)},get:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to get a place");const r=e(i,n);return t.getObject(r)},listByPrefix:async function(e){let n="";return e.length>=2&&(n+=e.substring(0,2)+"/"),e.length>=4&&(n+=e.substring(2,4)+"/"),t.getAll(n)},getPlaces:async function(e){const n=[],i=async e=>{const i=await t.getAll(e,!1);i&&Object.values(i).forEach(t=>{t&&"object"==typeof t&&!t.toString().endsWith("/")&&n.push(t)})};if(e&&e.length>0){const t=e.map(async t=>{if(t.length<4)return;const e=t.substring(0,2),n=t.substring(2,4);await i(`${e}/${n}/`)});await Promise.all(t)}else{const e=t=>{if(!t||"object"!=typeof t)return[];let e=t;return t.items&&"object"==typeof t.items&&(e=t.items),Object.keys(e).filter(t=>t.endsWith("/")&&!t.startsWith("@"))},n=await t.getListing("",!1),r=e(n);await Promise.all(r.map(async n=>{const r=await t.getListing(n,!1),s=e(r);await Promise.all(s.map(async t=>{await i(n+t)}))}))}return n}};return{exports:n}}};var ix;ix||(ix=1,self,(()=>{var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};t.d({},{default:()=>n});var e=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.rs=e,this.leaveOpen=!!n.leaveOpen&&n.leaveOpen,this.autoCloseAfter=n.autoCloseAfter?n.autoCloseAfter:1500,this.skipInitial=!!n.skipInitial&&n.skipInitial,this.logging=!!n.logging&&n.logging,this.parentContainerEl=null,n.hasOwnProperty("modalBackdrop")){if("boolean"!=typeof n.modalBackdrop&&"onlySmallScreens"!==n.modalBackdrop)throw'options.modalBackdrop has to be true/false or "onlySmallScreens"';this.modalBackdrop=n.modalBackdrop}else this.modalBackdrop="onlySmallScreens";this.active=!1,this.online=!1,this.closed=!1,this.lastSynced=null,this.lastSyncedUpdateLoop=null}var e,n;return e=t,n=[{key:"log",value:function(){if(this.logging){for(var t,e=arguments.length,n=new Array(e),i=0;i

Connect your storage

To sync data with your account
';var e=document.createElement("style");return e.innerHTML='#remotestorage-widget {\n z-index: 21000000;\n}\n\n.rs-widget {\n box-sizing: border-box;\n overflow: hidden;\n max-width: 350px;\n padding: 10px;\n margin: 10px;\n border-radius: 3px;\n background-color: #fff;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n font-family: arial, sans-serif;\n font-size: 16px;\n color: #333;\n will-change: max-height, height, width, opacity, max-width, background, box-shadow;\n transition-property: width, height, opacity, max-width, max-height, background, box-shadow;\n transition-duration: 300ms;\n}\n\n.rs-widget * {\n box-sizing: border-box;\n}\n\n.rs-widget .rs-hidden {\n display: none;\n}\n\n.rs-box {\n overflow: hidden;\n will-change: height;\n transition-property: height, width, max-height;\n transition-duration: 300ms;\n transition-timing-function: ease-in;\n opacity: 0;\n max-height: 0px;\n}\n\n.rs-box.rs-selected:not([aria-hidden=true]) {\n opacity: 1;\n max-height: 420px;\n}\n\n/* Main logo */\n.rs-main-logo {\n float: left;\n height: 36px;\n width: 36px;\n margin-top: 1px;\n margin-right: 0.625em;\n transition: margin-left 300ms ease-out, transform 300ms ease-out;\n cursor: pointer;\n}\n.rs-widget .rs-backend-remotestorage svg#rs-main-logo-remotestorage {\n display: block;\n}\n.rs-widget[class*="rs-backend-"]:not(.rs-backend-remotestorage) svg#rs-main-logo-remotestorage {\n display: none;\n}\n.rs-widget.rs-backend-dropbox svg#rs-main-logo-dropbox {\n display: block;\n}\n.rs-widget:not(.rs-backend-dropbox) svg#rs-main-logo-dropbox {\n display: none;\n}\n.rs-widget.rs-backend-googledrive svg#rs-main-logo-googledrive {\n display: block;\n}\n.rs-widget:not(.rs-backend-googledrive) svg#rs-main-logo-googledrive {\n display: none;\n}\n\npolygon.rs-logo-shape {\n fill: #FF4B03;\n}\n\npolygon.rs-logo-shape,\n#rs-main-logo-dropbox path,\n#rs-main-logo-googledrive path {\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n.rs-offline polygon.rs-logo-shape,\n.rs-offline #rs-main-logo-dropbox path,\n.rs-offline #rs-main-logo-googledrive path {\n fill: #888;\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n/* Hide everything except logo when connected and clicked outside of box */\n.rs-closed {\n max-width: 56px;\n background-color: transparent;\n box-shadow: none;\n opacity: 0.5;\n\n transition: max-height 100ms ease-out 0ms, max-width 300ms ease-out 300ms, background 300ms ease-in 200ms, opacity 300ms ease 200ms;\n}\n\n.rs-closed:hover {\n cursor: pointer;\n opacity: 1;\n}\n\n.rs-box-initial {\n transition-duration: 0ms;\n}\n\n.rs-box-initial:hover {\n cursor: pointer;\n}\n\n.rs-widget a {\n color: #0093cc;\n}\n\n/* HEADLINE */\n.rs-small-headline {\n font-size: 1em;\n font-weight: bold;\n margin: 0;\n margin-bottom: 2px;\n height: 1.2em;\n word-break: break-all;\n overflow: hidden;\n line-height: 1em;\n}\n\n.rs-sub-headline {\n word-break: break-all;\n overflow: hidden;\n color: #666;\n font-size: 0.92em;\n height: 1.2em;\n}\n.rs-big-headline {\n font-size: 1.625em;\n font-weight: normal;\n text-align: center;\n margin-top: 20px;\n margin-bottom: 20px;\n}\n\n/* BUTTONS */\n.rs-button {\n font: inherit;\n color: inherit;\n background-color: transparent;\n border: 1px solid #dcdcdc;\n border-radius: 3px;\n cursor: pointer;\n}\n.rs-button-small {\n padding: 0.6em 0.7em;\n margin-left: 0.2em;\n transition: border-color 300ms ease-out;\n}\n.rs-button-small svg {\n vertical-align: top;\n}\n.rs-button-wrap {\n margin-top: 10px;\n}\n\n.rs-button-wrap img,\n.rs-button-wrap svg {\n float: left;\n margin-right: 0.6em;\n width: 40px;\n height: 40px;\n}\n\n.rs-button-big {\n padding: 15px 10px;\n margin-bottom: 10px;\n display: block;\n width: 100%;\n text-align: left;\n transition: box-shadow 200ms;\n}\n.rs-button-big > div {\n font-size: 1.125em;\n padding: 10px 0;\n}\n.rs-button-big:hover {\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:active {\n background-color: #eee;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:last-child {\n margin-bottom: 0;\n}\n\n.rs-content {\n padding: 0 10px 10px 10px;\n}\n\n\n.rs-state-choose .rs-main-logo,\n.rs-state-sign-in .rs-main-logo {\n margin-left: 45%;\n float: none;\n}\n\n.rs-sign-in-form input[type=text] {\n padding: 15px 10px;\n display: block;\n width: 100%;\n font: inherit;\n height: 52px;\n border: 1px solid #aaa;\n border-radius: 0;\n box-shadow: none;\n}\n.rs-sign-in-form button.rs-connect {\n padding: 15px 10px;\n margin-top: 20px;\n margin-bottom: 15px;\n display: block;\n width: 100%;\n border: none;\n border-radius: 3px;\n background-color: #3fb34f;\n font: inherit;\n color: #fff;\n transition: box-shadow 200ms, background-color 200ms;\n}\n\n.rs-sign-in-form button.rs-connect:hover {\n cursor: pointer;\n background-color: #4BCB5D;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n\n.rs-sign-in-form button.rs-connect:active {\n background-color: #3fb34f;\n}\n\n.rs-sign-in-form button.rs-connect:disabled,\n.rs-sign-in-form button.rs-connect:disabled:hover {\n background-color: #aaa;\n}\n\n.rs-sign-in-form button.rs-connecting svg {\n height: 1em;\n width: auto;\n vertical-align: middle;\n margin-left: 0.5em;\n animation: rs-spin 1s linear infinite;\n}\n\n.rs-sign-in-error.rs-hidden,\n.rs-box-error.rs-hidden {\n height: 0;\n}\n\n.rs-sign-in-error.rs-visible,\n.rs-box-error.rs-visible {\n height: auto;\n border-radius: 3px;\n padding: 0.5em 0.5em;\n margin-top: 0.5em;\n text-align: center;\n background-color: rgba(255,0,0,0.1);\n color: darkred;\n}\n\n.rs-box-error {\n display: flex;\n flex-direction: row;\n}\n\n.rs-box-error .rs-error-message {\n flex: auto;\n}\n\n /*Choose provider box */\n.rs-box-choose {\n text-align: center;\n overflow: hidden;\n}\n\n.rs-box-choose p {\n margin-top: 0;\n margin-bottom: 20px;\n line-height: 1.4em;\n}\n\n/*Connected box */\n.rs-box-connected {\n display: flex;\n flex-direction: row;\n height: 40px;\n transition: height 0s;\n}\n.rs-connected-text {\n flex: auto;\n min-width: 0;\n}\n.rs-box-connected .rs-user {\n font-weight: bold;\n text-overflow: ellipsis;\n overflow: hidden;\n word-break: keep-all;\n}\n.rs-connected-buttons, .rs-error-buttons {\n flex: none;\n}\n.rs-disconnect:hover {\n border-color: #FF2D2D;\n}\n.rs-disconnect:hover .rs-icon{\n fill: #FF2D2D;\n}\n.rs-sync:hover {\n border-color: #FFBB0C;\n}\n.rs-sync:hover .rs-icon {\n fill: #FFBB0C;\n}\n.rs-sync.rs-rotate {\n border-color: #FFBB0C;\n}\n.rs-sync.rs-rotate .rs-icon {\n fill: #FFBB0C;\n animation: rs-spin 1s linear infinite;\n}\n\n/* Floating widget styles (top right corner) */\n.rs-floating {\n position: fixed;\n top: 0;\n right: 0;\n}\n\n@keyframes rs-spin {\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* Small/mobile screens */\n@media screen and (max-width: 420px) {\n .rs-widget {\n font-size: 100%;\n transition: all 300ms ease-out;\n max-width: 400px;\n }\n .rs-floating {\n position: relative;\n top: auto;\n right: auto\n }\n .rs-closed {\n max-width: 56px;\n }\n .rs-state-choose,\n .rs-state-sign-in {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n }\n}\n\n/* remove dotted outline border on Firefox */\n.rs-widget a:focus,\n.rs-widget a:active,\n.rs-widget button:focus,\n.rs-widget input:focus {\n outline:none;\n}\n.rs-widget button::-moz-focus-inner,\n.rs-widget input[type="button"]::-moz-focus-inner {\n border:0;\n}\n\n/* prevent rounded buttons on mobile Safari */\n.rs-widget button,\n.rs-widget input[type="button"] {\n -webkit-appearance: none;\n}\n\n.remotestorage-widget-modal-backdrop {\n display: none;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.3s linear;\n}\n\n.remotestorage-widget-modal-backdrop.visible {\n opacity: 1;\n transition: opacity 0.3s linear;\n}\n',t.appendChild(e),t}},{key:"setModalClass",value:function(){if(this.modalBackdrop){if("onlySmallScreens"===this.modalBackdrop&&!this.isSmallScreen())return;this.rsWidget.classList.add("rs-modal")}}},{key:"setupElements",value:function(){if(!this.parentContainerEl)throw new Error("Parent container element not found");this.rsWidget=this.parentContainerEl.querySelector(".rs-widget"),this.rsBackdrop=this.parentContainerEl.querySelector(".remotestorage-widget-modal-backdrop"),this.rsInitial=this.parentContainerEl.querySelector(".rs-box-initial"),this.rsChoose=this.parentContainerEl.querySelector(".rs-box-choose"),this.rsConnected=this.parentContainerEl.querySelector(".rs-box-connected"),this.rsSignIn=this.parentContainerEl.querySelector(".rs-box-sign-in"),this.rsConnectedLabel=this.parentContainerEl.querySelector(".rs-box-connected .rs-sub-headline"),this.rsChooseRemoteStorageButton=this.parentContainerEl.querySelector("button.rs-choose-rs"),this.rsChooseDropboxButton=this.parentContainerEl.querySelector("button.rs-choose-dropbox"),this.rsChooseGoogleDriveButton=this.parentContainerEl.querySelector("button.rs-choose-googledrive"),this.rsErrorBox=this.parentContainerEl.querySelector(".rs-box-error .rs-error-message"),this.rs.apiKeys.hasOwnProperty("googledrive")||this.rsChooseGoogleDriveButton.parentNode.removeChild(this.rsChooseGoogleDriveButton),this.rs.apiKeys.hasOwnProperty("dropbox")||this.rsChooseDropboxButton.parentNode.removeChild(this.rsChooseDropboxButton),this.rsSignInForm=this.parentContainerEl.querySelector(".rs-sign-in-form"),this.rsAddressInput=this.rsSignInForm.querySelector("input[name=rs-user-address]"),this.rsConnectButton=this.parentContainerEl.querySelector(".rs-connect"),this.rsDisconnectButton=this.parentContainerEl.querySelector(".rs-disconnect"),this.rsSyncButton=this.parentContainerEl.querySelector(".rs-sync"),this.rsLogo=this.parentContainerEl.querySelector(".rs-widget-icon"),this.rsErrorReconnectLink=this.parentContainerEl.querySelector(".rs-box-error a.rs-reconnect"),this.rsErrorDisconnectButton=this.parentContainerEl.querySelector(".rs-box-error button.rs-disconnect"),this.rsConnectedUser=this.parentContainerEl.querySelector(".rs-connected-text h1.rs-user")}},{key:"setupHandlers",value:function(){var t=this;this.rs.on("connected",function(){return t.eventHandler("connected")}),this.rs.on("ready",function(){return t.eventHandler("ready")}),this.rs.on("disconnected",function(){return t.eventHandler("disconnected")}),this.rs.on("network-online",function(){return t.eventHandler("network-online")}),this.rs.on("network-offline",function(){return t.eventHandler("network-offline")}),this.rs.on("error",function(e){return t.eventHandler("error",e)}),this.setEventListeners(),this.setClickHandlers()}},{key:"attach",value:function(t){var e=this.createHtmlTemplate(t);if(this.parentContainerEl,t instanceof HTMLElement)this.parentContainerEl=t;else if("string"==typeof t){if(this.parentContainerEl=document.getElementById(t),!this.parentContainerEl)throw new Error('Failed to find target DOM element with id="'+t+'"')}else{if(t)throw new Error("Unknown element type. Expected instance of HTMLElement or type of string.");this.parentContainerEl=document.body}this.parentContainerEl.appendChild(e),this.setupElements(),this.setupHandlers(),this.setInitialState(),this.setModalClass()}},{key:"setEventListeners",value:function(){var t=this;this.rsSignInForm.addEventListener("submit",function(e){e.preventDefault();var n=t.parentContainerEl.querySelector("input[name=rs-user-address]").value;t.disableConnectButton(),t.rs.connect(n)})}},{key:"showChooseOrSignIn",value:function(){this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.style.display="block",this.rsBackdrop.classList.add("visible")),this.rs.apiKeys&&Object.keys(this.rs.apiKeys).length>0?this.setState("choose"):this.setState("sign-in")}},{key:"setClickHandlers",value:function(){var t=this;this.rsInitial.addEventListener("click",function(){return t.showChooseOrSignIn()}),this.rsChooseRemoteStorageButton.addEventListener("click",function(){t.setState("sign-in"),t.rsAddressInput.focus()}),this.rsChooseDropboxButton.addEventListener("click",function(){return t.rs.dropbox.connect()}),this.rsChooseGoogleDriveButton.addEventListener("click",function(){return t.rs.googledrive.connect()}),this.rsDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rsErrorReconnectLink.addEventListener("click",function(){return t.rs.reconnect()}),this.rsErrorDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rs.hasFeature("Sync")&&this.rsSyncButton.addEventListener("click",function(){t.rsSyncButton.classList.contains("rs-rotate")?(t.rs.stopSync(),t.rsSyncButton.classList.remove("rs-rotate")):(t.rsConnectedLabel.textContent="Synchronizing",t.rs.startSync(),t.rsSyncButton.classList.add("rs-rotate"))}),document.addEventListener("click",function(){return t.close()}),this.rsWidget.addEventListener("click",function(t){return t.stopPropagation()}),this.rsLogo.addEventListener("click",function(){return t.toggle()})}},{key:"toggle",value:function(){this.closed?this.open():"initial"===this.state?this.showChooseOrSignIn():this.close()}},{key:"open",value:function(){this.closed=!1,this.rsWidget.classList.remove("rs-closed"),this.shouldCloseWhenSyncDone=!1;var t=this.parentContainerEl.querySelector(".rs-box.rs-selected");t&&t.setAttribute("aria-hidden","false")}},{key:"close",value:function(){var t=this;if("error"!==this.state){if(!this.leaveOpen&&this.active){this.closed=!0,this.rsWidget.classList.add("rs-closed");var e=this.parentContainerEl.querySelector(".rs-box.rs-selected");e&&e.setAttribute("aria-hidden","true")}else this.active?this.setState("connected"):this.setInitialState();this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.classList.remove("visible"),setTimeout(function(){t.rsBackdrop.style.display="none"},300))}}},{key:"disableConnectButton",value:function(){this.rsConnectButton.disabled=!0,this.rsConnectButton.classList.add("rs-connecting"),this.rsConnectButton.innerHTML="Connecting ".concat('\n \n \n \n \n \n \n\n')}},{key:"enableConnectButton",value:function(){this.rsConnectButton.disabled=!1,this.rsConnectButton.textContent="Connect",this.rsConnectButton.classList.remove("rs-connecting")}},{key:"setOffline",value:function(){this.online&&(this.rsWidget.classList.add("rs-offline"),this.rsConnectedLabel.textContent="Offline",this.online=!1)}},{key:"setOnline",value:function(){this.online||(this.rsWidget.classList.remove("rs-offline"),this.active&&(this.rsConnectedLabel.textContent="Connected")),this.online=!0}},{key:"setBackendClass",value:function(t){this.rsWidget.classList.remove("rs-backend-remotestorage"),this.rsWidget.classList.remove("rs-backend-dropbox"),this.rsWidget.classList.remove("rs-backend-googledrive"),t&&this.rsWidget.classList.add("rs-backend-".concat(t))}},{key:"showErrorBox",value:function(t){this.rsErrorBox.innerHTML=t,this.setState("error")}},{key:"hideErrorBox",value:function(){this.rsErrorBox.innerHTML="",this.close()}},{key:"handleSyncStarted",value:function(){var t=this;this.syncInProgress=!0,this.rsSyncButton.classList.add("rs-rotate"),setTimeout(function(){t.syncInProgress&&(t.rsConnectedLabel.textContent="Synchronizing")},1e3)}},{key:"handleDiscoveryError",value:function(t){var e=this.parentContainerEl.querySelector(".rs-sign-in-error");e.innerHTML=t.message,e.classList.remove("rs-hidden"),e.classList.add("rs-visible"),this.enableConnectButton()}},{key:"handleSyncError",value:function(){this.setOffline()}},{key:"handleUnauthorized",value:function(t){t.code&&"access_denied"===t.code?this.rs.disconnect():(this.open(),this.showErrorBox(t.message+" "),this.rsErrorBox.appendChild(this.rsErrorReconnectLink),this.rsErrorReconnectLink.classList.remove("rs-hidden"))}},{key:"updateLastSyncedStatus",value:function(){var t=new Date;this.online?(this.lastSynced=t,this.rsConnectedLabel.textContent="Synced"):this.rsWidget.classList.contains("rs-state-unauthorized")||(this.rsConnectedLabel.textContent="Offline")}},{key:"isSmallScreen",value:function(){return window.innerWidth<421}}],n&&function(t,e){for(var n=0;n=t?(i=2*i+1,u=t):(i*=2,c=t)}else{const e=(a+l)/2;t>=e?(i=2*i+1,a=e):(i*=2,l=e)}s=!s,5==++r&&(o+=rx.charAt(i),r=0,i=0)}return o}static decode(t){const e=sx.bounds(t),n=e.sw.lat,i=e.sw.lon,r=e.ne.lat,s=e.ne.lon;let o=(n+r)/2,a=(i+s)/2;return o=o.toFixed(Math.floor(2-Math.log(r-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(o),lon:Number(a)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),0==t.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(e))throw new Error("Invalid direction");const n=t.slice(-1);let i=t.slice(0,-1);const r=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][r].indexOf(n)&&""!=i&&(i=sx.adjacent(i,e)),i+rx.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:sx.adjacent(t,"n"),ne:sx.adjacent(sx.adjacent(t,"n"),"e"),e:sx.adjacent(t,"e"),se:sx.adjacent(sx.adjacent(t,"s"),"e"),s:sx.adjacent(t,"s"),sw:sx.adjacent(sx.adjacent(t,"s"),"w"),w:sx.adjacent(t,"w"),nw:sx.adjacent(sx.adjacent(t,"n"),"w")}}}function ox(t){const{minLat:e,minLon:n,maxLat:i,maxLon:r}=t,s=new Set;if(Math.abs(i-e)>20||Math.abs(r-n)>20)return console.warn("BBox too large for 4-char geohash scanning, aborting fine scan."),[];for(let a=e;a<=i+.1;a+=.1)for(let t=n;t<=r+.1;t+=.1){const e=Math.min(a,i),n=Math.min(t,r);try{const t=sx.encode(e,n,4);s.add(t)}catch(o){}}try{s.add(sx.encode(e,n,4))}catch(o){}try{s.add(sx.encode(i,r,4))}catch(o){}try{s.add(sx.encode(e,r,4))}catch(o){}try{s.add(sx.encode(i,n,4))}catch(o){}return Array.from(s)}const ax=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:ox},Symbol.toStringTag,{value:"Module"})),lx=new WeakMap;function ux(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=lx.get(t);i||(i=new Map,lx.set(t,i)),i.set(e,n)}(t,e,r)}function cx(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function hx(t,e){let n=function(t,e){var n;let i=t.prototype;for(;i;){let t=null==(n=lx.get(i))?void 0:n.get(e);if(t)return t;i=i.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}class dx extends df{rs;static{ux(this.prototype,"savedPlaces",[ys],function(){return[]})}#P=void hx(this,"savedPlaces");static{ux(this.prototype,"loadedPrefixes",[ys],function(){return[]})}#I=void hx(this,"loadedPrefixes");static{ux(this.prototype,"currentBbox",[ys],function(){return null})}#M=void hx(this,"currentBbox");static{ux(this.prototype,"version",[ys],function(){return 0})}#O=void hx(this,"version");constructor(){super(...arguments),console.log("ohai"),this.rs=new Kw({modules:[nx]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.rs.on("ready",()=>{}),this.rs.scope("/places/").on("change",()=>{if(this.currentBbox){console.log("Reloading loaded prefixes due to change event");const t=ox(this.currentBbox);this.loadAllPlaces(t)}})}get places(){return this.rs.places}notifyChange(){this.version++}async loadPlacesInBounds(t){const e=ox(t).filter(t=>!this.loadedPrefixes.includes(t));0!==e.length&&(console.log("Loading new prefixes:",e),await this.loadAllPlaces(e),this.loadedPrefixes=[...this.loadedPrefixes,...e],this.currentBbox=t)}async loadAllPlaces(t=null){try{const e=await this.rs.places.getPlaces(t);if(e&&Array.isArray(e))if(t){const t=new Set(this.savedPlaces.map(t=>t.id)),n=e.filter(e=>!t.has(e.id));this.savedPlaces=[...this.savedPlaces,...n]}else this.savedPlaces=e;else t||(this.savedPlaces=[]);console.log("Loaded saved places:",this.savedPlaces.length)}catch(e){console.error("Failed to load places:",e)}}findPlaceById(t){let e=this.savedPlaces.find(e=>e.id===t);return e||(e=this.savedPlaces.find(e=>e.osmId===t),e)}}const px=Object.freeze(Object.defineProperty({__proto__:null,default:dx},Symbol.toStringTag,{value:"Module"}));function fx(t,e,n,i){const r=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(i-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(r)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const gx=Object.freeze(Object.defineProperty({__proto__:null,getDistance:fx},Symbol.toStringTag,{value:"Module"}));function mx(t,e,n){return(e="symbol"==typeof(i=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?i:String(i))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t;var i}function yx(t,e,n,i){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function _x(t,e,n,i){var r={};return Object.keys(i).forEach(function(t){r[t]=i[t]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),void 0===(r=n.slice().reverse().reduce(function(n,i){return i(t,e,n)||n},r)).initializer&&(Object.defineProperty(t,e,r),r=null),r}var vx,bx,wx,xx,Sx;const Ex="undefined"!=typeof FastBoot,Cx="routeDidChange",kx=["separator","prepend","replace"];let Tx=(vx=hf("router"),bx=hf("-document"),wx=class extends df{constructor(t){if(super(t),yx(this,"router",xx,this),yx(this,"document",Sx,this),mx(this,"tokens",[]),mx(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),mx(this,"scheduleTitleUpdate",()=>{sa("afterRender",this,this._updateTitle)}),this._validateExistingTitleElement(),function(t){return"resolveRegistration"in t}(t)){const n=t.resolveRegistration("config:environment");"object"==typeof(e=n)&&null!==e&&"pageTitle"in e&&kx.forEach(t=>{if(!function(t){if(null==t)return!0;if(!ls(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=us(t,"size");if("number"==typeof e)return!e;let n=us(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(Cx,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,i=this._defaultConfig.replace;t.previous??=null,t.next??=null,null==t.separator&&(t.separator=e),null==t.prepend&&null!=n&&(t.prepend=n),null==t.replace&&null!=i&&(t.replace=i)}inheritFromPrevious(t){const e=t.previous;e&&(null==t.separator&&(t.separator=e.separator),null==t.prepend&&(t.prepend=e.prepend))}push(t){const e=this._findTokenById(t.id);if(e){const n=this.tokens.indexOf(e),i=[...this.tokens],r=e.previous;return t.previous=r,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),i.splice(n,1,t),void(this.tokens=i)}const n=this.tokens.slice(-1)[0];n&&(t.previous=n??null,n.next=t,this.inheritFromPrevious(t)),this.applyTokenDefaults(t),this.tokens=[...this.tokens,t]}remove(t){const e=this._findTokenById(t);if(!e)return;const{next:n,previous:i}=e;n&&(n.previous=i),i&&(i.next=n),e.previous=e.next=null;const r=[...this.tokens];r.splice(r.indexOf(e),1),this.tokens=r}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const i=t[e];if(i){if(i.replace){n.unshift(i);break}n.unshift(i)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const i=[n],r=[];return t.forEach(t=>{t.front?r.unshift(t):t.prepend?(e&&(e=!1,n=[],i.push(n)),n.unshift(t)):(e||(e=!0,n=[],i.push(n)),n.push(t))}),r.concat(i.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,i=t.length;ne.id===t)}updateFastbootTitle(t){if(!Ex)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew zx(t),Dx);const Nx=Object.freeze(Object.defineProperty({__proto__:null,default:Dx},Symbol.toStringTag,{value:"Module"}));var jx,Ux,Bx;let qx=(jx=hf("page-title"),Bx=_x((Ux=class extends Yv{constructor(t){super(t),yx(this,"tokens",Bx,this),mx(this,"tokenId",U(this)),this.tokens.push({id:this.tokenId})}compute(t,e){const n={...e,id:this.tokenId,title:t.join("")};return this.tokens.push(n),this.tokens.scheduleTitleUpdate(),""}willDestroy(){super.willDestroy(),this.tokens.remove(this.tokenId),this.tokens.scheduleTitleUpdate()}}).prototype,"tokens",[jx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ux);const Gx=Ai;class $x{capabilities=Ii();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e);i.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){At(t)}}Gx(t=>new $x(t),class{constructor(t,e){Rw(this,t)}modify(t,e,n){}});const Vx=new class{capabilities=Ii();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:r,named:s}=n,o=t.instance(e,r,s);"function"==typeof o&&(i.teardown=o)}updateModifier(t,e){"function"==typeof t.teardown&&t.teardown();const n=t.instance(t.element,e.positional,e.named);"function"==typeof n&&(t.teardown=n)}destroyModifier(t){"function"==typeof t.teardown&&t.teardown()}getDebugName(t){return t.instance.toString()}getDebugInstance(t){return t}};function Wx(t){return t.toString=()=>t.name,Gx(()=>Vx,t)}const Hx="add",Kx="remove",Xx="propertychange",Yx="change",Zx="contextmenu",Jx="click",Qx="keydown",tS="keypress",eS="touchmove",nS="wheel";class iS{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function rS(t,e){return t>e?1:te?-1:0}function oS(t,e,n){if(t[0]<=e)return 0;const i=t.length;if(e<=t[i-1])return i-1;if("function"==typeof n){for(let r=1;r0?r-1:r}return i-1}if(n>0){for(let n=1;n0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const i=n.indexOf(e);-1!==i&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=dS,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function vS(t,e,n,i,r){if(r){const r=n;n=function(s){return t.removeEventListener(e,n),r.call(i??this,s)}}else i&&i!==t&&(n=n.bind(i));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function bS(t,e,n,i){return vS(t,e,n,i,!0)}function wS(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),gS(t))}class xS extends _S{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Yx)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,i=new Array(n);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,n=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new PS(Hx,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let n=0,i=e.length;n=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new PS(Kx,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new PS(Kx,n,t)),this.dispatchEvent(new PS(Hx,e,t))}updateLength_(){this.set(RS,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let i=0,r=n.length;i{this.clickTimeoutId_=void 0;const e=new OS(AS.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==AS.POINTERUP||e.type==AS.POINTERCANCEL){delete this.trackedTouches_[n];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=AS.POINTERDOWN&&e.type!=AS.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new OS(AS.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new OS(AS.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(vS(t,AS.POINTERMOVE,this.handlePointerMove_,this),vS(t,AS.POINTERUP,this.handlePointerUp_,this),vS(this.element_,AS.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(vS(this.element_.getRootNode(),AS.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new OS(AS.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new OS(AS.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(wS(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(eS,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(wS(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const $S="postrender",VS="loadstart",WS="loadend",HS="layergroup",KS="size",XS="target",YS="view";function ZS(t,e){if(!t)throw new Error(e)}const JS=1/0;class QS{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,gS(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,n=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(t){ZS(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=JS&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,n=this.priorities_,i=e.length,r=e[t],s=n[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(i[t]>s))break;n[e]=n[t],i[e]=i[t],e=t}n[e]=r,i[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let i=0;const r=e.length;let s,o,a;for(o=0;ot.apply(null,e),t=>t[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(Yx,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,n=e.getState();if(2===n||3===n||4===n){3!==n&&e.removeEventListener(Yx,this.boundHandleTileChange_);const t=e.getKey();t in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[t],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let n=0;for(;this.tilesLoading_0;){const t=this.dequeue()[0],e=t.getKey();0!==t.getState()||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++n,t.load())}}}const eE={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function nE(t,e,n){return Math.min(Math.max(t,e),n)}function iE(t,e,n,i,r,s){const o=r-n,a=s-i;if(0!==o||0!==a){const l=((t-n)*o+(e-i)*a)/(o*o+a*a);l>1?(n=r,i=s):l>0&&(n+=o*l,i+=a*l)}return rE(t,e,n,i)}function rE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function sE(t){return 180*t/Math.PI}function oE(t){return t*Math.PI/180}function aE(t,e){const n=t%e;return n*e<0?n+e:n}function lE(t,e,n){return t+n*(e-t)}function uE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function cE(t,e){return Math.floor(uE(t,e))}function hE(t,e){return Math.ceil(uE(t,e))}function dE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=nE(i[0],d,p),y=nE(i[1],f,g);if(o&&n&&r){const t=30*r;m+=-t*Math.log(1+Math.max(0,d-i[0])/t)+t*Math.log(1+Math.max(0,i[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-i[1])/t)+t*Math.log(1+Math.max(0,i[1]-g)/t)}return[m,y]}}function fE(t){return t}function gE(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr&&(l|=4),as&&(l|=2),0===l&&(l=1),l}function SE(t,e,n,i,r){return r?(r[0]=t,r[1]=e,r[2]=n,r[3]=i,r):[t,e,n,i]}function EE(t){return SE(1/0,1/0,-1/0,-1/0,t)}function CE(t,e){const n=t[0],i=t[1];return SE(n,i,n,i,e)}function kE(t,e,n,i,r){return IE(EE(r),t,e,n,i)}function TE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function RE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function PE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function IE(t,e,n,i,r){for(;ne[0]?i[0]=t[0]:i[0]=e[0],t[1]>e[1]?i[1]=t[1]:i[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function WE(t){return t[2]1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s=n[2])){const e=$E(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function XE(t,e,n){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];KE(t,e);const r=$E(i);if($E(t)>r&&!n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-r,t[3]]]}return[t]}function YE(t,e){let n=!0;for(let i=t.length-1;i>=0;--i)if(t[i]!=e[i]){n=!1;break}return n}function ZE(t,e){const n=Math.cos(e),i=Math.sin(e),r=t[0]*n-t[1]*i,s=t[1]*n+t[0]*i;return t[0]=r,t[1]=s,t}function JE(t,e){if(e.canWrapX()){const n=$E(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||$E(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function QE(t){return Math.pow(t,3)}function tC(t){return 1-QE(1-t)}function eC(t){return 3*t*t-2*t*t*t}function nC(t){return t}function iC(t,e,n){n=n||6371008.8;const i=oE(t[1]),r=oE(e[1]),s=(r-i)/2,o=oE(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function rC(...t){console.warn(...t)}const sC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class oC{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||sC[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const aC=6378137,lC=Math.PI*aC,uC=[-lC,-lC,lC,lC],cC=[-180,-85,180,85],hC=aC*Math.log(Math.tan(Math.PI/2));class dC extends oC{constructor(t){super({code:t,units:"m",extent:uC,global:!0,worldExtent:cC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/aC)}})}}const pC=[new dC("EPSG:3857"),new dC("EPSG:102100"),new dC("EPSG:102113"),new dC("EPSG:900913"),new dC("http://www.opengis.net/def/crs/EPSG/0/3857"),new dC("http://www.opengis.net/gml/srs/epsg.xml#3857")],fC=[-180,-90,180,90],gC=6378137*Math.PI/180;class mC extends oC{constructor(t,e){super({code:t,units:"degrees",extent:fC,axisOrientation:e,global:!0,metersPerUnit:gC,worldExtent:fC})}}const yC=[new mC("CRS:84"),new mC("EPSG:4326","neu"),new mC("urn:ogc:def:crs:OGC:1.3:CRS84"),new mC("urn:ogc:def:crs:OGC:2:84"),new mC("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new mC("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new mC("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let _C={},vC={};function bC(t,e,n){const i=t.getCode(),r=e.getCode();i in vC||(vC[i]={}),vC[i][r]=n}function wC(t,e){return t in vC&&e in vC[t]?vC[t][e]:null}const xC=.9996,SC=.00669438,EC=SC*SC,CC=EC*SC,kC=SC/(1-SC),TC=Math.sqrt(1-SC),RC=(1-TC)/(1+TC),PC=RC*RC,IC=PC*RC,MC=IC*RC,OC=MC*RC,AC=.9983242984503243,LC=15*EC/256+45*CC/1024,FC=35*CC/3072,zC=1.5*RC-27/32*IC+269/512*OC,DC=21/16*PC-55/32*MC,NC=151/96*IC-417/128*OC,jC=1097/512*MC,UC=6378137;function BC(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/xC/(UC*AC),s=r+zC*Math.sin(2*r)+DC*Math.sin(4*r)+NC*Math.sin(6*r)+jC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,c=u*u,h=c*c,d=1-SC*a,p=Math.sqrt(1-SC*a),f=kC*l**2,g=f*f,m=i/(UC/p*xC),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-SC)/d)*(y/2-v/24*(5+3*c+10*f-4*g-9*kC))+b*m/720*(61+90*c+298*f+45*h-252*kC-3*g);let x=(m-_/6*(1+2*c+f)+b/120*(5-2*f+28*c-3*g+8*kC+24*h))/l;return x=dE(x+oE(GC(n.number)),-Math.PI,Math.PI),[sE(x),sE(w)]}function qC(t,e,n){t=dE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=oE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,u=oE(t),c=oE(GC(n.number)),h=UC/Math.sqrt(1-SC*r**2),d=kC*s**2,p=s*dE(u-c,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=UC*(AC*i-.002514607064228144*Math.sin(2*i)+LC*Math.sin(4*i)-FC*Math.sin(6*i)),b=xC*h*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*kC))+5e5;let w=xC*(v+h*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*kC)));return n.north||(w+=1e7),[b,w]}function GC(t){return 6*(t-1)-180+3}const $C=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function VC(t){let e=0;for(const r of $C){const n=t.match(r);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,i=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(i=!0,n=e-32600),n?{number:n,north:i}:null}function WC(t,e){return function(n,i,r,s){const o=n.length;r=r>1?r:2,s=s??r,i||(i=r>2?n.slice():new Array(o));for(let a=0;a180)&&(e[0]=aE(n+180,360)-180),e}function sk(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||ok(t,e)===ZC)&&n}function ok(t,e){const n=t.getCode(),i=e.getCode();let r=wC(n,i);if(r)return r;let s=null,o=null;for(const l of HC)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=ak(s.inverse,o.forward);else{const t=wC(n,a);t&&(r=ak(t,o.forward))}else{const t=wC(a,i);t&&(r=ak(s.inverse,t))}return r&&(JC(t),JC(e),bC(t,e,r)),r}function ak(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function lk(t,e){return ok(QC(t),QC(e))}function uk(t,e,n){const i=lk(e,n);if(!i){const t=QC(e).getCode(),i=QC(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function ck(t,e,n,i){return HE(t,lk(e,n),void 0,i)}function hk(t){return t}function dk(t){return XC&&!YE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(XC=!1,rC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function pk(t){return t}var fk,gk,mk;ek(pC),ek(yC),fk=pC,gk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;shC?n=hC:n<-hC&&(n=-hC),e[s+1]=n}return e},mk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;s{if(!n)return this.getSimplifiedGeometry(e);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return SS()}closestPointXY(t,e,n,i){return SS()}containsXY(t,e){return 0===this.closestPointXY(t,e,Ik,Number.MIN_VALUE)}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return SS()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&EE(t),this.extentRevision_=this.getRevision()}return function(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t}(this.extent_,t)}rotate(t,e){SS()}scale(t,e,n){SS()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return SS()}getType(){return SS()}applyTransform(t){SS()}intersectsExtent(t){return SS()}translate(t,e){SS()}transform(t,e){const n=QC(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=UE(o)/UE(s);Sk(Pk,o[0],o[3],a,-a,0,0,0);const l=Tk(t,0,t.length,r,Pk,i),u=lk(n,e);return u?u(l,l,r):l}:lk(n,e);return this.applyTransform(i),this}}class Ok extends Mk{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return kE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return SS()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)h=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function jk(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=u.pop(),s=u.pop();let o=0;const a=t[s],h=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(c=e,o=n)}o>r&&(l[(c-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=h):(s[o++]=a,s[o++]=l,u=a,c=l,a=n,l=h)}return s[o++]=a,s[o++]=l,o}function Jk(t,e,n,i,r,s,o,a){for(let l=0,u=n.length;ls&&(n-a)*(s-l)-(r-a)*(i-l)>0&&o++:i<=s&&(n-a)*(s-l)-(r-a)*(i-l)<0&&o--,a=n,l=i}return 0!==o}function iT(t,e,n,i,r,s){if(0===n.length)return!1;if(!nT(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(c+h)/2,iT(t,e,n,i,u,f)&&(m=u,y=r)),c=h}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function sT(t,e,n,i,r){let s=[];for(let o=0,a=n.length;o=r[0]&&s[2]<=r[2]||s[1]>=r[1]&&s[3]<=r[3]||oT(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=xE(t,e),s=xE(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],u=t[3],c=e[0],h=e[1],d=n[0],p=n[1],f=(p-h)/(d-c);let g,m;2&s&&!(2&r)&&(g=d-(p-u)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=u),i||!(8&s)||8&r||(g=d-(p-a)/f,i=g>=o&&g<=l),i||!(16&s)||16&r||(m=p-(d-o)*f,i=m>=a&&m<=u)}return i}(r,t,e)}))}function lT(t,e,n,i,r){return!!(aT(t,e,n,i,r)||nT(t,e,n,i,r[0],r[1])||nT(t,e,n,i,r[0],r[3])||nT(t,e,n,i,r[2],r[1])||nT(t,e,n,i,r[2],r[3]))}function uT(t,e,n,i,r){if(!lT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function dT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sc&&d1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let i=0;for(;i0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,s=i.length;n0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],i=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(n-t),o=e+l*(i-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(n,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?aE(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=i[0].callback;t&&CT(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let n;const i=this.getCenterInternal();var r,s;return void 0!==i&&(n=[i[0]-e[0],i[1]-e[1]],ZE(n,t-this.getRotation()),s=e,(r=n)[0]+=+s[0],r[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[e[0]-t*(e[0]-i[0])/r,e[1]-t*(e[1]-i[1])/r]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],i=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(i*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(i*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?hk(t,this.getProjection()):t}getCenterInternal(){return this.get(eE.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return e=this.calculateExtentInternal(t),this.getProjection(),e;var e}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();ZS(e,"The view center is not defined");const n=this.getResolution();ZS(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return ZS(void 0!==i,"The view rotation is not defined"),NE(e,n,i,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(eE.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(pk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=$E(t)/e[0],i=UE(t)/e[1];return Math.max(n,i)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*i)}}getRotation(){return this.get(eE.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/e;return function(t){return Math.log(n/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const n=this.padding_;return n&&(e=[e[0]-n[1]-n[3],e[1]-n[0]-n[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();i=TT(i,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,n)}return{center:i.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,n,i=this.minZoom_||0;if(this.resolutions_){const r=oS(this.resolutions_,t,1);i=r,e=this.resolutions_[r],n=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=nE(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,nE(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(ZS(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))ZS(!WE(t),"Cannot fit empty extent provided as `geometry`"),n=_T(pk(t,this.getProjection()));else if("Circle"===t.getType()){const e=pk(t.getExtent(),this.getProjection());n=_T(e),n.rotate(this.getRotation(),zE(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),i=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,u=-1/0;for(let c=0,h=r.length;ct.trim().replace(/^['"]|['"]$/g,"")),n};function zT(t,e,n,i){let r;return r=n&&n.length?n.shift():NS?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("2d",i)}let DT;function NT(){return DT||(DT=zT(1,1)),DT}function jT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function UT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function BT(){const t=new Proxy({childNodes:[],appendChild:function(t){return this.childNodes.push(t),t},remove:function(){},removeChild:function(t){const e=this.childNodes.indexOf(t);if(-1===e)throw new Error("Node to remove was not found");return this.childNodes.splice(e,1),t},insertBefore:function(t,e){const n=this.childNodes.indexOf(e);if(-1===n)throw new Error("Reference node not found");return this.childNodes.splice(n,0,t),t},style:{}},{get:(t,e,n)=>"firstElementChild"===e?t.childNodes.length>0?t.childNodes[0]:null:Reflect.get(t,e,n)});return t}function qT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class GT extends TS{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&this.element?.remove();for(let e=0,n=this.listenerKeys.length;ee.getAttributions(t)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(t=>n.add(t)):n.add(this.attributions_)),!this.overrideCollapsible_){const t=!e.some(t=>!1===t.getSource()?.getAttributionsCollapsible());this.setCollapsible(t)}return Array.from(n)}async updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=await Promise.all(this.collectSourceAttributions_(t).map(t=>fS(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!uS(e,this.renderedAttributions_)){!function(t){for(;t.lastChild;)t.lastChild.remove()}(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:tC}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const n=e.viewState.rotation;if(n!=this.rotation_){const t="rotate("+n+"rad)";if(this.autoHide_){const t=this.element.classList.contains(RT);t||0!==n?t&&0!==n&&this.element.classList.remove(RT):this.element.classList.add(RT)}this.label_.style.transform=t}this.rotation_=n}}class WT extends GT{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",n=void 0!==t.delta?t.delta:1,i=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=a,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Jx,this.handleClick_.bind(this,n),!1);const c=document.createElement("button");c.className=r,c.setAttribute("type","button"),c.title=l,c.appendChild("string"==typeof o?document.createTextNode(o):o),c.addEventListener(Jx,this.handleClick_.bind(this,-n),!1);const h=e+" "+PT+" "+IT,d=this.element;d.className=h,d.appendChild(u),d.appendChild(c),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const n=e.getZoom();if(void 0!==n){const i=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:i,duration:this.duration_,easing:tC})):e.setZoom(i)}}}function HT(t){t=t||{};const e=new IS;return(void 0===t.zoom||t.zoom)&&e.push(new WT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new VT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new $T(t.attributionOptions)),e}class KT{constructor(t,e,n){this.decay_=t,this.minVelocity_=e,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[n+2]>t;)n-=3;const i=this.points_[e+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const XT="active";class YT extends TS{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(XT)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(XT,t)}setMap(t){this.map_=t}}function ZT(t,e,n,i){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==i?i:250,easing:tC})}class JT extends YT{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==AS.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;ZT(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function QT(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==AS.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==AS.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function cR(t){const e=t.length;let n=0,i=0;for(let r=0;r0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}class dR extends uR{constructor(t){t=t||{},super({stopDown:hS}),this.condition_=t.condition?t.condition:tR,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!aR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===xT)return;const i=e.getSize(),r=t.pixel,s=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!aR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!aR(t)||!iR(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class pR extends iS{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(t[0],e[0])+n,i.top=Math.min(t[1],e[1])+n,i.width=Math.abs(e[0]-t[0])+n,i.height=Math.abs(e[1]-t[1])+n}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new yT([n])}getGeometry(){return this.geometry_}}const fR="boxcancel";class gR extends yS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class mR extends uR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new pR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??iR,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const i=n[0]-e[0],r=n[1]-e[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new gR("boxdrag",t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new gR(e?"boxend":fR,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new gR("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new gR(fR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new gR(fR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class yR extends mR{constructor(t){super({condition:(t=t||{}).condition?t.condition:sR,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let n=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(n),i=e.getResolutionForExtentInternal(t),r=e.getResolution()/i;n=n.clone(),n.scale(r*r)}e.fitInternal(n,{duration:this.duration_,easing:tC})}}const _R="ArrowLeft",vR="ArrowRight",bR="ArrowDown";class wR extends YT{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return rR(t)&&oR(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Qx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==bR||i==_R||i==vR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==bR?a=-s:i==_R?o=-s:i==vR?o=s:a=s;const l=[o,a];ZE(l,r.getRotation()),function(t,e,n){const i=t.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:nC,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class xR extends YT{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return zS?e.metaKey:e.ctrlKey}(t)&&oR(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Qx||t.type==tS){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;ZT(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class SR extends YT{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:nR;this.condition_=t.onFocusOnly?QT(eR,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==nS)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let n=-nE(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),ZT(e,n,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}class ER extends uR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=hS),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==xT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(cR(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return!(this.targetPointers.length<2&&(t.map.getView().endInteraction(this.duration_),1))}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}class CR extends uR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=hS),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,s=n.clientY-i.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(cR(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const kR="opacity",TR="visible",RR="extent",PR="zIndex",IR="maxResolution",MR="minResolution",OR="maxZoom",AR="minZoom",LR="source";class FR extends TS{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[kR]=void 0!==t.opacity?t.opacity:1,ZS("number"==typeof e[kR],"Layer opacity must be a number"),e[TR]=void 0===t.visible||t.visible,e[PR]=t.zIndex,e[IR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[MR]=void 0!==t.minResolution?t.minResolution:0,e[AR]=void 0!==t.minZoom?t.minZoom:-1/0,e[OR]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},n=this.getZIndex();return e.opacity=nE(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==n||e.managed?n:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return SS()}getLayerStatesArray(t){return SS()}getExtent(){return this.get(RR)}getMaxResolution(){return this.get(IR)}getMinResolution(){return this.get(MR)}getMinZoom(){return this.get(AR)}getMaxZoom(){return this.get(OR)}getOpacity(){return this.get(kR)}getSourceState(){return SS()}getVisible(){return this.get(TR)}getZIndex(){return this.get(PR)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(RR,t)}setMaxResolution(t){this.set(IR,t)}setMinResolution(t){this.set(MR,t)}setMaxZoom(t){this.set(OR,t)}setMinZoom(t){this.set(AR,t)}setOpacity(t){ZS("number"==typeof t,"Layer opacity must be a number"),this.set(kR,t)}setVisible(t){this.set(TR,t)}setZIndex(t){this.set(PR,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const zR="addlayer",DR="removelayer";class NR extends yS{constructor(t,e){super(t),this.layer=e}}const jR="layers";class UR extends FR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let n=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(jR,this.handleLayersChanged_),n?Array.isArray(n)?n=new IS(n.slice(),{unique:!0}):ZS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new IS(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(wS),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(vS(t,Hx,this.handleLayersAdd_,this),vS(t,Kx,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(wS);gS(this.listenerKeys_);const e=t.getArray();for(let n=0,i=e.length;n{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const n=this.getMapInternal();let i;if(!t&&n&&(t=n.getView()),e=t instanceof ET?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(i=e.layerStatesArray.find(t=>t.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return WR(i,e.viewState)&&(!r||VE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof ET?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const n=this.getRenderer();return n.prepareFrame(t)?(this.rendered=!0,n.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set("map",t)}getMapInternal(){return this.get("map")}setMap(t){this.mapPrecomposeKey_&&(wS(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(wS(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=vS(t,GR,this.handlePrecompose_,this),this.mapRenderKey_=vS(this,Yx,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);ZS(!e.some(t=>t.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(n)}setSource(t){this.set(LR,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function WR(t,e){if(!t.visible)return!1;const n=e.resolution;if(n=t.maxResolution)return!1;const i=e.zoom;return i>t.minZoom&&i<=t.maxZoom}function HR(t,e,n=0,i=t.length-1,r=XR){for(;i>n;){if(i-n>600){const s=i-n+1,o=e-n+1,a=Math.log(s),l=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);HR(t,e,Math.max(n,Math.floor(e-o*l/s+u)),Math.min(i,Math.floor(e+(s-o)*l/s+u)),r)}const s=t[e];let o=n,a=i;for(KR(t,n,e),r(t[i],s)>0&&KR(t,n,i);o0;)a--}0===r(t[n],s)?KR(t,n,a):(a++,KR(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function KR(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function XR(t,e){return te?1:0}let YR=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const n=[];if(!lP(t,e))return n;const i=this.toBBox,r=[];for(;e;){for(let s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(i,r,e)}_split(t,e){const n=t[e],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i),o=uP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,JR(n,this.toBBox),JR(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=uP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,JR(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let i,r=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=QR(t,0,o,this.toBBox),a=QR(t,o,n,this.toBBox),l=oP(e,a),u=iP(e)+iP(a);l=e;l--){const e=t.children[l];tP(o,t.leaf?r(e):e),a+=rP(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)tP(e[i],t)}_condense(t){for(let e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children,e.splice(e.indexOf(t[n]),1)):this.clear():JR(t[n],this.toBBox)}};function ZR(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function uP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function cP(t,e,n,i,r){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=i)continue;const o=e+Math.ceil((n-e)/i/2)*i;HR(t,o,e,n,r),s.push(e,o,o,n)}}const hP=[NaN,NaN,NaN,0];let dP;const pP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,fP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,gP=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,mP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function yP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function _P(t){throw new Error('failed to parse "'+t+'" as color')}function vP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(fP)||t.match(pP)||t.match(gP);if(e){const t=e[4],n=100/255;return[nE(yP(e[1],n)+.5|0,0,255),nE(yP(e[2],n)+.5|0,0,255),nE(yP(e[3],n)+.5|0,0,255),void 0!==t?nE(yP(t,100),0,1):1]}_P(t)}if(t.startsWith("#")){if(mP.test(t)){const e=t.substring(1),n=e.length<=4?1:2,i=[0,0,0,255];for(let t=0,r=e.length;t.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function EP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function CP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function kP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function TP(t){const e=CP(t[0]),n=CP(t[1]),i=CP(t[2]),r=kP(.222488403*e+.716873169*n+.06060791*i),s=500*(kP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-kP(.016863605*e+.117638439*n+.865350722*i)),a=Math.atan2(o,s)*(180/Math.PI);return[116*r-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function RP(t){if("none"===t)return hP;if(bP.hasOwnProperty(t))return bP[t];if(wP>=1024){let t=0;for(const e in bP)3&t++||(delete bP[e],--wP)}const e=vP(t);4!==e.length&&_P(t);for(const n of e)isNaN(n)&&_P(t);return bP[t]=e,++wP,e}function PP(t){return Array.isArray(t)?t:RP(t)}function IP(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let i=t[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+e+","+n+","+i+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function MP(t){return t[0]>0&&t[1]>0}function OP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let AP=0;const LP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function KI(t,e,n){const i=t.length-1,r=new Array(i);for(let s=0;s{for(let e=0;e{for(let r=0;r{const i=t.args;let r=n.properties[e];for(let t=1,e=i.length;tt.variables[e];case qI:return n=>{const i=t.args;if(!(e in n.properties))return!1;let r=n.properties[e];for(let t=1,e=i.length;tt.featureId;case QP:return t=>t.geometryType;case JP:{const e=t.args.map(t=>tM(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case rI:return t=>t.resolution;case eI:case nI:case PI:case AI:case"!":return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{for(let e=0;e{for(let e=0;e{const e=i[0](t),n=i[1](t),r=i[2](t);return e>=n&&e<=r};case AI:return t=>{const e=i[0](t);for(let r=1;r!i[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case aI:case lI:case"<":case dI:case">":case cI:return function(t){const e=t.operator,n=tM(t.args[0]),i=tM(t.args[1]);switch(e){case aI:return t=>n(t)===i(t);case lI:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case cI:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case yI:case"%":case"^":case bI:case wI:case xI:case SI:case EI:case CI:case kI:case TI:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{let e=1;for(let r=0;ri[0](t)/i[1](t);case"+":return t=>{let e=0;for(let r=0;ri[0](t)-i[1](t);case yI:return t=>{const e=i[0](t),n=i[1](t);if(er?r:e};case"%":return t=>i[0](t)%i[1](t);case"^":return t=>Math.pow(i[0](t),i[1](t));case bI:return t=>Math.abs(i[0](t));case wI:return t=>Math.floor(i[0](t));case xI:return t=>Math.ceil(i[0](t));case SI:return t=>Math.round(i[0](t));case EI:return t=>Math.sin(i[0](t));case CI:return t=>Math.cos(i[0](t));case kI:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case TI:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case OI:return function(t){const e=t.args.length,n=new Array(e);for(let i=0;i{for(let i=0;i{const i=n[0](t);for(let r=1;r{const i=n[0](t),r=n[1](t);let s,o;for(let a=2;a=r)return 2===a?l:u?nM(i,r,s,o,e,l):eM(i,r,s,o,e,l);s=e,o=l}return o}}(t);case BI:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{const n=i[0](e);return t.args[0].type===DP?IP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function eM(t,e,n,i,r,s){const o=r-n;if(0===o)return i;const a=e-n;return i+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-i)}function nM(t,e,n,i,r,s){if(0===r-n)return i;const o=TP(i),a=TP(s);let l=a[2]-o[2];return l>180?l-=360:l<-180&&(l+=360),function(t){const e=(t[0]+16)/116,n=t[1],i=t[2]*Math.PI/180,r=EP(e),s=EP(e+n/500*Math.cos(i)),o=EP(e-n/200*Math.sin(i)),a=SP(3.021973625*s-1.617392459*r-.404875592*o),l=SP(-.943766287*s+1.916279586*r+.027607165*o),u=SP(.069407491*s-.22898585*r+1.159737864*o);return[nE(a+.5|0,0,255),nE(l+.5|0,0,255),nE(u+.5|0,0,255),t[3]]}([eM(t,e,n,o[0],r,a[0]),eM(t,e,n,o[1],r,a[1]),o[2]+eM(t,e,n,0,r,l),eM(t,e,n,i[3],r,s[3])])}class iM extends _S{constructor(t,e,n,i){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Yx)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;fS(()=>this.loader(this.getExtent(),e,this.getPixelRatio())).then(t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||US&&t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=2}).catch(t=>{this.state=3,console.error(t)}).finally(()=>this.changed())}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}}function rM(t,e,n){return e+":"+t+":"+(n?PP(n):"null")}const sM=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const n=this.cache_[e];3&t++||n.hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,n){const i=rM(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=rM(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=rM(t,e,n),o=s in this.cache_;this.cache_[s]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[s]=NT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=NT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let oM=null;class aM extends _S{constructor(t,e,n,i,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){oM||(oM=zT(1,1,void 0,{willReadFrequently:!0})),oM.drawImage(this.image_,0,0);try{oM.getImageData(0,0,1,1),this.tainted_=!1}catch{oM=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Yx)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],n=zT(t,e);n.fillRect(0,0,t,e),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&jS?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(i=>t.complete&&t.width?e(t):n(i))):function(t){return new Promise((e,n)=>{function i(){s(),e(t)}function r(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",i),t.removeEventListener("error",r)}t.addEventListener("load",i),t.addEventListener("error",r)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,n=zT(Math.ceil(e.width*t),Math.ceil(e.height*t)),i=n.canvas;var r;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:IP(r),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Yx,e),t())};this.addEventListener(Yx,e)}})),this.ready_}}function lM(t,e,n,i,r,s){let o=void 0===e?void 0:sM.get(e,n,r);return o||(o=new aM(t,t&&"src"in t?t.src||void 0:e,n,i,r),sM.set(e,n,r,o,s)),s&&o&&!sM.getPattern(e,n,r)&&sM.set(e,n,r,o,s),o}function uM(t){return t?Array.isArray(t)?IP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return sM.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=sM.getPattern(e,void 0,t.color);if(n)return n;const i=sM.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=zT(t.size[0],t.size[1]);return r.drawImage(i.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),lM(r.canvas,e,void 0,2,t.color,!0),sM.getPattern(e,void 0,t.color)}(t):t:null}const cM="10px sans-serif",hM="#000",dM="round",pM=[],fM="round",gM="#000",mM="center",yM="middle",_M=[0,0,0,0],vM=new TS;let bM,wM=null;const xM={},SM=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function EM(t,e,n){return`${t} ${e} 16px "${n}"`}const CM=function(){const t=100;let e,n;async function i(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const i=FT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=LT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=vM.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,RM(t,n)),0);return n[e]=i,i}class IM{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=OP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new IM({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return SS()}getImage(t){return SS()}getHitDetectionImage(){return SS()}getPixelRatio(t){return 1}getImageState(){return SS()}getImageSize(){return SS()}getOrigin(){return SS()}getSize(){return SS()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=OP(t)}listenImageChange(t){SS()}load(){SS()}unlistenImageChange(t){SS()}ready(){return Promise.resolve()}}class MM extends IM{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new MM({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),n=this.getScaleArray();return[t[0]/2-e[0]/n[0],t[1]/2+e[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){const e=this.fill_?.getKey(),n=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(",");let i=sM.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=zT(r,r);this.draw_(e,s,t),i=s.canvas,sM.set(n,null,null,new aM(i,void 0,null,2,null))}return i}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,n){if(0===e||this.points_===1/0||"bevel"!==t&&"miter"!==t)return e;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}getKey(){const t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?CS(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:PP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function LM(t,e,n,i){return void 0!==n&&void 0!==i?[n/t,i/e]:void 0!==n?n/t:void 0!==i?i/e:1}class FM extends IM{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,i=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:i,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(ZS(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||CS(s)),ZS(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),ZS(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=0:void 0!==s&&(o="complete"in s?s.complete?s.src?2:0:1:2),this.color_=void 0!==t.color?PP(t.color):null,this.iconImage_=lM(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,this.initialOptions_,void 0!==t.width||void 0!==t.height){let e,n;if(t.size)[e,n]=t.size;else{const i=this.getImage(1);if(i.width&&i.height)e=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(LM(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(LM(e,n,t.width,t.height))}}clone(){let t,e,n;return this.initialOptions_?(e=this.initialOptions_.width,n=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new FM({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),n=this.getScaleArray();return[t[0]-e[0]/n[0],t[1]+e[1]/n[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),n=this.iconImage_.getSize();if(!e||!n)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=n[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=n[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=lM(null,t,this.crossOrigin_,0,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Yx,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Yx,t)}ready(){return this.iconImage_.ready()}}class zM{constructor(t){t=t||{},this.color_=void 0!==t.color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new zM({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}class DM{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=UM,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&"object"==typeof t&&(t=t.clone()),new DM({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=UM,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let NM=null;function jM(){if(!NM){const t=new AM({color:"rgba(255,255,255,0.4)"}),e=new zM({color:"#3399CC",width:1.25});NM=[new DM({image:new OM({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return NM}function UM(t){return t.getGeometry()}let BM=class t{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=OP(void 0!==t.scale?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=void 0!==t.fill?t.fill:new AM({color:"#333"}),this.maxAngle_=void 0!==t.maxAngle?t.maxAngle:Math.PI/4,this.placement_=void 0!==t.placement?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=void 0!==t.stroke?t.stroke:null,this.offsetX_=void 0!==t.offsetX?t.offsetX:0,this.offsetY_=void 0!==t.offsetY?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=void 0===t.padding?null:t.padding,this.declutterMode_=t.declutterMode}clone(){const e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof AM?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=OP(void 0!==t?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}};function qM(){return!0}function GM(t){const e=KP(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=ZM(t,e+"fill-color",n)}if(!i)return null;const r=new AM;return function(t){const e=i(t);return e===hP?null:(r.setColor(e),r)}}function HM(t,e,n){const i=KM(t,e+"stroke-width",n),r=ZM(t,e+"stroke-color",n);if(!i&&!r)return null;const s=XM(t,e+"stroke-line-cap",n),o=XM(t,e+"stroke-line-join",n),a=JM(t,e+"stroke-line-dash",n),l=KM(t,e+"stroke-line-dash-offset",n),u=KM(t,e+"stroke-miter-limit",n),c=new zM;return function(t){if(r){const e=r(t);if(e===hP)return null;c.setColor(e)}if(i&&c.setWidth(i(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");c.setLineCap(e)}if(o){const e=o(t);if("bevel"!==e&&"round"!==e&&"miter"!==e)throw new Error("Expected bevel, round, or miter line join");c.setLineJoin(e)}return a&&c.setLineDash(a(t)),l&&c.setLineDashOffset(l(t)),u&&c.setMiterLimit(u(t)),c}}function KM(t,e,n){if(!(e in t))return;const i=QI(t[e],FP,n);return function(t){return lO(i(t),e)}}function XM(t,e,n){if(!(e in t))return null;const i=QI(t[e],zP,n);return function(t){return aO(i(t),e)}}function YM(t,e,n){if(!(e in t))return null;const i=QI(t[e],LP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function ZM(t,e,n){if(!(e in t))return null;const i=QI(t[e],DP,n);return function(t){return uO(i(t),e)}}function JM(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP,n);return function(t){return oO(i(t),e)}}function QM(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP,n);return function(t){const n=oO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function tO(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP,n);return function(t){return cO(i(t),e)}}function eO(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP|FP,n);return function(t){return function(t,e){return"number"==typeof t?t:cO(t,e)}(i(t),e)}}function nO(t,e){const n=t[e];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${e}`);return n}}function iO(t,e){const n=t[e];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return n}}function rO(t,e){const n=t[e];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${e}`);return n}}function sO(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${e}`);return n}}function oO(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let i=0;i4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function cO(t,e){const n=oO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const hO="renderOrder";class dO extends VR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(hO)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){const n=this.getDeclutter();n in t.declutter==0&&(t.declutter[n]=new YR(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(hO,t)}setStyle(t){this.style_=void 0===t?jM:t;const e=function(t){if(void 0===t)return jM;if(!t)return null;if("function"==typeof t)return t;if(t instanceof DM)return t;if(!Array.isArray(t))return $M([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof DM){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&WR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=c.bind(null,r.managed);y[0]=s[0]+p[v][0],y[1]=s[1]+p[v][1],l=i.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const _=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*_),m.sort((t,e)=>t.distanceSq-e.distanceSq),m.some(t=>l=t.callback(t.feature,t.layer,t.geometry)),l}hasFeatureAtCoordinate(t,e,n,i,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,i,cS,this,r,s)}getMap(){return this.map_}renderFrame(t){SS()}scheduleExpireIconCache(t){sM.canExpireCache()&&t.postRenderFunctions.push(gO)}}function gO(){sM.expire()}class mO extends fO{constructor(t){super(t),this.fontChangeListenerKey_=vS(vM,Xx,t.redrawText,t),this.element_=NS?BT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=PT+" ol-layers";const n=t.getViewport();n&&n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){const n=this.getMap();if(n.hasListener(t)){const i=new pO(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){wS(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(t),this.dispatchRenderEvent(GR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof dO&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,a=e.length;o0)&&(t.fillStyle=i,t.fillRect(0,0,s.width,s.height)),qT(n)&&n.width>0){const i=e.style.opacity||n.style.opacity;t.globalAlpha=""===i?1:Number(i);const r=n.style.transform;if(r)t.setTransform(...kk(r));else{const e=parseFloat(n.style.width)/n.width,i=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,i,0,0)}t.drawImage(n,0,0)}}t.globalAlpha=1,t.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent("postcompose",t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let n=e.length-1;n>=0;--n){const i=e[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(t,i)}e.forEach(e=>e.layer.renderDeferred(t))}}}function yO(t){t instanceof VR?t.setMapInternal(null):t instanceof UR&&t.getLayers().forEach(yO)}function _O(t,e){if(t instanceof VR)t.setMapInternal(e);else if(t instanceof UR){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(NS?new IS:HT()),this.interactions=e.interactions||(NS?new IS:function(t){t=t||{};const e=new IS,n=new KT(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new dR),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new JT({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new hR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new ER),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new CR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new wR),e.push(new xR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new SR({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new yR({duration:t.zoomDuration})),e}({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new tE(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(HS,this.handleLayerGroupChanged_),this.addChangeListener(YS,this.handleViewChanged_),this.addChangeListener(KS,this.handleSizeChanged_),this.addChangeListener(XS,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof ET||t.view.then(function(t){n.setView(new ET(t))}),this.controls.addEventListener(Hx,t=>{t.element.setMap(this)}),this.controls.addEventListener(Kx,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Hx,t=>{t.element.setMap(this)}),this.interactions.addEventListener(Kx,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Hx,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener(Kx,t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)}),this.controls.forEach(t=>{t.setMap(this)}),this.interactions.forEach(t=>{t.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){_O(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(t),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:cS,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const n=[];return this.forEachFeatureAtPixel(t,function(t){n.push(t)},e),n}getAllLayers(){const t=[];return function e(n){n.forEach(function(n){n instanceof UR?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),i=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:cS,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,s,i,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=e.width/n[0],r=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/i,(s.clientY-e.top)/r]}getTarget(){return this.get(XS)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return hk(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?wk(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(HS)}setLayers(t){const e=this.getLayerGroup();if(t instanceof IS)return void e.setLayers(t);const n=e.getLayers();n.clear(),n.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,n=t.length;e=0;n--){const i=e[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,i=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,i=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new NR("removelayer",e)),this.set(HS,t)}setSize(t){this.set(KS,t)}setTarget(t){this.set(XS,t)}setView(t){if(!t||t instanceof ET)return void this.set(YS,t);this.set(YS,new ET);const e=this;t.then(function(t){e.setView(new ET(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(qT(t))n=t.width,i=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),i=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(i)||(e=[Math.max(0,n),Math.max(0,i)],!MP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&rC("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&uS(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};class bO{drawCustom(t,e,n,i,r){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const wO=11,xO=[8],SO=[12],EO=[1],CO=[3];class kO extends bO{constructor(t,e,n,i){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let s=r.length;for(let o=0,a=t.length;oa&&(this.instructions.push([4,a,u,t,n,Vk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Vk,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),u=this.coordinates.length,this.instructions.push([4,a,u,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,void 0,r])}this.endGeometry(e)}beginGeometry(t,e,n){this.beginGeometryInstruction1_=[0,e,0,t,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[0,e,0,t,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const n=t.length;let i,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){const n=this.state;this.fillStyleToState(t,n),this.strokeStyleToState(e,n)}createFill(t){const e=t.fillStyle,n=[10,e];return"string"!=typeof e&&n.push(t.fillPatternScale),n}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[wO,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const n=t.fillStyle;"string"==typeof n&&t.currentFillStyle==n||(this.instructions.push(e.call(this,t)),t.currentFillStyle=n)}updateStrokeStyle(t,e){const n=t.strokeStyle,i=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=i||r!=t.currentLineDash&&!uS(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=i,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[7,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=yE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;mE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class TO extends kO{constructor(t,e,n,i){super(t,e,n,i)}drawFlatCoordinatess_(t,e,n,i){const r=this.state,s=void 0!==r.fillStyle,o=void 0!==r.strokeStyle,a=n.length;this.instructions.push(EO),this.hitDetectionInstructions.push(EO);for(let l=0;l=t){const e=(t-a+h)/h,d=lE(n,u,e),p=lE(i,c,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function PO(t,e,n,i,r){let s,o,a,l,u,c,h,d,p,f,g=n,m=n,y=0,_=0,v=n;for(o=n;ot&&(_>y&&(y=_,g=v,m=o),_=0,v=o-r)),a=l,h=p,d=f),u=n,c=i}return _+=l,_>y?[v,o]:[g,m]}const IO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},MO={Circle:TO,Default:kO,Image:class extends kO{constructor(t,e,n,i){super(t,e,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,n){if(!this.image_||this.maxExtent&&!vE(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,r);this.instructions.push([6,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([6,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,n){if(!this.image_)return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=[];for(let a=0,l=i.length;a{const i=o[2*(t+n)]===u[n*c]&&o[2*(t+n)+1]===u[n*c+1];return i||--t,i})}this.saveTextStates_();const h=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,d=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(t,e,n);let p=s.padding;if(p!=_M&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],i=s.padding[3];s.scale[0]<0&&(e=-e,i=-i),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,i]}const f=this.pixelRatio;this.instructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==_M?_M:p.map(function(t){return t*f}),h,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=h?h.slice(0):null;m&&(m[1]=hM),this.hitDetectionInstructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,this.declutterMode_,this.declutterImageWithText_,p,m,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?hM:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!VE(this.maxExtent,t.getExtent()))return;let i;if(u=t.getFlatCoordinates(),"LineString"==l)i=[u.length];else if("MultiLineString"==l)i=t.getEnds();else if("Polygon"==l)i=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else R=w>k;const P=Math.PI,I=[],M=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],M){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return I[0]=[t,e,(C-s)/2,O,r],I}for(let A=0,L=(r=r.replace(/\n/g," ")).length;A0?-P:P),void 0!==O){let e=t-O;if(e+=e>P?-2*P:e<-P?2*P:0,Math.abs(e)>o)return null}O=t;const h=A;let d=0;for(;A{if("function"==typeof NT()[e])return this.push_(e),this.pushMethodArgs_},set:(t,e,n)=>(this.push_(e,n),!0)})}push_(...t){const e=this.instructions_,n=this.zIndex+this.offset_;e[n]||(e[n]=[]),e[n].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let n=0,i=e.length;n0&&t.push("\n",""),t.push(e,""),t}function VO(t,e,n){return n%2==0&&(t+=e),t}class WO{constructor(t,e,n,i,r){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new FO:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,i){const r=t+e+n+i;if(this.labels_[r])return this.labels_[r];const s=i?this.strokeStates[i]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,u=[a.scale[0]*l,a.scale[1]*l],c=a.justify?IO[a.justify]:GO(Array.isArray(t)?t[0]:t,a.textAlign||mM),h=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce($O,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],i=[],r=[];let s=0,o=0,a=0,l=0;for(let u=0,c=e.length;u<=c;u+=2){const h=e[u];if("\n"===h||u===c){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=RM(d,h);n.push(p),o+=p;const f=kM(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+h,v=[],b=(_+2)*u[0],w=(f+h)*u[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==u[0]&&1==u[1]||v.push("scale",u),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",h),v.push("lineCap",s.lineCap),v.push("lineJoin",s.lineJoin),v.push("miterLimit",s.miterLimit),v.push("setLineDash",[s.lineDash]),v.push("lineDashOffset",s.lineDashOffset)),n&&v.push("fillStyle",o.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const S=.5-c;let E=c*_+S*h;const C=[],k=[];let T,R=0,P=0,I=0,M=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*h[0]+p[1],w=p[0]+v*h[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==c)&&(DO[0]=x,UO[0]=x,DO[1]=S,NO[1]=S,NO[0]=x+b,jO[0]=NO[0],jO[1]=S+w,UO[1]=jO[1]),0!==c?(E=Sk([1,0,0,1,0,0],n,i,1,1,c,-n,-i),wk(E,DO),wk(E,NO),wk(E,jO),wk(E,UO),SE(Math.min(DO[0],NO[0],jO[0],UO[0]),Math.min(DO[1],NO[1],jO[1],UO[1]),Math.max(DO[0],NO[0],jO[0],UO[0]),Math.max(DO[1],NO[1],jO[1],UO[1]),zO)):SE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),zO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:zO[0],minY:zO[1],maxX:zO[2],maxY:zO[3],value:g},canvasTransform:E,scale:h}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,u=o?o[2]*i.scale[0]/2:0;return l.minX-u<=e[0]&&l.maxX+u>=0&&l.minY-u<=e[1]&&l.maxY+u>=0&&(a&&this.replayTextBackground_(t,DO,NO,jO,UO,s,o),function(t,e,n,i,r,s,o,a,l,u,c){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),i.contextInstructions?(t.translate(l,u),t.scale(c[0],c[1]),function(t,e){const n=t.contextInstructions;for(let i=0,r=n.length;iL&&(this.fill_(t),R=0),P>L&&(t.stroke(),P=0),R||P||(t.beginPath(),_=NaN,v=NaN),++d;break;case 2:T=n[1];const i=u[T],c=u[T+1],h=u[T+2]-i,p=u[T+3]-c,j=Math.sqrt(h*h+p*p);t.moveTo(i+j,c),t.arc(i,c,j,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const U=n[3],B=n[4],q=n[5];A.geometry=U,A.feature=F,d in I||(I[d]=[]);const G=I[d];q?q(u,T,f,2,G):(G[0]=u[T],G[1]=u[T+1],G.length=2),l&&(l.zIndex=n[6]),B(G,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let $=n[6];const V=n[7],W=n[8],H=n[9],K=n[10];let X=n[11];const Y=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],E=n[20],C=n[21],k=n[22];const t=this.drawLabelWithPointPlacement_(S,E,C,k);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const i=n[24];m=(t.anchorY-i)*this.pixelRatio,n[5]=m,$=x.height,n[6]=$,Z=x.width,n[13]=Z}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=_M,et=null,nt=null),K&&O?X+=M:K||O||(X-=M);let it=0;for(;T!KO.includes(t));class YO{constructor(t,e,n,i,r,s,o){this.maxExtent_=t,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=e,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,o)}clip(t,e){const n=this.getClipCoords(e);t.beginPath(),t.moveTo(n[0],n[1]),t.lineTo(n[2],n[3]),t.lineTo(n[4],n[5]),t.lineTo(n[6],n[7]),t.clip()}createExecutors_(t,e){for(const n in t){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=t[n];for(const t in r){const n=r[t];i[t]=new WO(this.resolution_,this.pixelRatio_,this.overlaps_,n,e)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const n=this.executorsByZIndex_[e];for(let e=0,i=t.length;en)break;let a=i[o];a||(a=[],i[o]=a),a.push(4*((t+s)*e+(t+r))+3),s>0&&a.push(4*((t-s)*e+(t+r))+3),r>0&&(a.push(4*((t+s)*e+(t-r))+3),s>0&&a.push(4*((t-s)*e+(t-r))+3))}const r=[];for(let s=0,o=i.length;s0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(h[l]-3)/4,s=i-n%o,a=i-(n/o|0),u=r(t,e,s*s+a*a);if(u)return u}u.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(rS),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=HO.length-1;m>=0;--m)if(d=HO[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,c),v))return v}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],i=e[1],r=e[2],s=e[3],o=[n,i,n,s,r,s,r,i];return Tk(o,0,8,2,t,o),o}isEmpty(){return mS(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?sS:rS),s=s||HO;const l=HO.length;for(let u=0,c=a.length;up.execute(t,e,n,i,r,o)):p.execute(h,e,n,i,r,o),d&&h.restore(),s){s.offset();const t=a[u]*l+HO.indexOf(c);this.deferredZIndexContexts_[t]||(this.deferredZIndexContexts_[t]=[]),this.deferredZIndexContexts_[t].push(s)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(rS);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const ZO={};class JO extends bO{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?uE(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,n,i){if(!this.image_)return;const r=Tk(t,e,n,i,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let u=0,c=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:fM,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:uM(t||gM)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),i=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/n,s[1]*this.pixelRatio_/n],this.imageWidth_=e[0]*n}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:uM(t||hM)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:dM,lineDash:i||pM,lineDashOffset:r||0,lineJoin:void 0!==s?s:fM,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:uM(t||gM)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),u=t.getText(),c=t.getTextAlign(),h=t.getTextBaseline();this.textState_={font:void 0!==i?i:cM,textAlign:void 0!==c?c:mM,textBaseline:void 0!==h?h:yM},this.text_=void 0!==u?Array.isArray(u)?u.reduce((t,e,n)=>t+(n%2?" ":e),""):u:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}}const QO=.5;function tA(t,e,n,i,r,s,o,a,l){const u=r,c=zT(t[0]*QO,t[1]*QO);c.imageSmoothingEnabled=!1;const h=c.canvas,d=new JO(c,QO,r,null,o,a,l?ok(null,l):null),p=n.length,f=Math.floor(16777215/p),g={};for(let y=1;y<=p;++y){const t=n[y-1],e=t.getStyleFunction()||i;if(!e)continue;let r=e(t,s);if(!r)continue;Array.isArray(r)||(r=[r]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,i=r.length;n0;return h&&Promise.all(l).then(()=>r(null)),function(t,e,n,i,r,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?aA(t,l,n,e,o):(0,nA[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),h}function aA(t,e,n,i,r){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;ethis.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return SS()}getData(t){return null}prepareFrame(t){return SS()}renderFrame(t,e){return SS()}forEachFeatureAtCoordinate(t,e,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;2!==e.getState()&&3!==e.getState()||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return 2!=e&&3!=e&&t.addEventListener(Yx,this.boundHandleImageChange_),0==e&&(t.load(),e=t.getState()),2==e}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const uA=[];let cA=null;class hA extends lA{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,n){let i;cA||(cA=zT(1,1,void 0,{willReadFrequently:!0})),cA.clearRect(0,0,1,1);try{cA.drawImage(t,e,n,1,1,0,0,1,1),i=cA.getImageData(0,0,1,1).data}catch{return cA=null,null}return i}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const i=this.getLayer().getClassName();let r,s;if(t&&t.className===i&&(!n||t&&t.style.backgroundColor&&uS(PP(t.style.backgroundColor),PP(n)))){const e=t.firstElementChild;qT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=kk(t),i=kk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*Ck[r]))return!1;return!0}(s.canvas.style.transform,e)?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=NS?BT():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=zT();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const i=qE(n),r=GE(n),s=FE(n),o=LE(n);wk(e.coordinateToPixelTransform,i),wk(e.coordinateToPixelTransform,r),wk(e.coordinateToPixelTransform,s),wk(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;wk(a,i),wk(a,r),wk(a,s),wk(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}prepareContainer(t,e){const n=t.extent,i=t.viewState.resolution,r=t.viewState.rotation,s=t.pixelRatio,o=Math.round($E(n)/i*s),a=Math.round(UE(n)/i*s);Sk(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),Ek(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(e,l,this.getBackground(t)),!this.containerReused){const t=this.context.canvas;t.width!=o||t.height!=a?(t.width=o,t.height=a):this.context.clearRect(0,0,o,a),l!==t.style.transform&&(t.style.transform=l)}}dispatchRenderEvent_(t,e,n){const i=this.getLayer();if(i.hasListener(t)){const r=new pO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(BR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(qR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new FO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(BR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(qR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,c=-u,h=-t[0]+o,d=-t[1];return Sk(this.tempTransform,a,l,u,c,-n,h,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class dA extends hA{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,n){const i=e.extent,r=e.viewState,s=r.center,o=r.resolution,a=r.projection,l=r.rotation,u=a.getExtent(),c=this.getLayer().getSource(),h=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round($E(i)/o*d),y=Math.round(UE(i)/o*d),_=c.getWrapX()&&a.canWrapX(),v=_?$E(u):null,b=_?Math.ceil((i[2]-u[2])/v)+1:1;let w=_?Math.floor((i[0]-u[0])/v):0;do{let i=this.getRenderTransform(s,o,0,d,m,y,w*v);e.declutter&&(i=i.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],i,l,f,void 0===n?HO:n?KO:XO,n?h&&e.declutter[h]:void 0)}while(++w{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*QO,u=t[1]*QO;a.push(this.getRenderTransform(e,n,i,QO,l,u,0).slice());const c=o.getSource(),h=r.getExtent();if(c.getWrapX()&&r.canWrapX()&&!bE(h,s)){let t=s[0];const r=$E(h);let o,c=0;for(;th[2];)++c,o=r*c,a.push(this.getRenderTransform(e,n,i,QO,l,u,o).slice()),t-=r}this.hitDetectionImageData_=tA(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,rA(n,this.renderedPixelRatio_),null)}e(eA(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,i,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},u=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=CS(t),o=l[s];if(o){if(!0!==o&&nt.value):null)}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),n=e.getSource();if(!n)return!1;const i=t.viewHints[0],r=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&i||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,u=l.projection,c=l.resolution,h=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=iA);const g=l.center.slice(),m=mE(a,p*c),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!bE(v,t.extent)){const t=$E(v),e=Math.max($E(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,JE(g,u);const n=KE(_[0],u);n[0]v[0]&&n[2]>v[2]&&_.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==c&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&bE(this.wrappedRenderedExtent_,m))return uS(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new OO(sA(c,h),m,c,h);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,c)),i){const e=this.renderFeature(t,w,i,b,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},E=m,C=n.getFeaturesInExtent(E);f&&C.sort(f);for(let R=0,P=C.length;R=200&&a.status<300){const t=e.getType();try{let i;"text"==t||"json"==t?i=a.responseText:"xml"==t?i=a.responseXML||a.responseText:"arraybuffer"==t&&(i=a.response),i?s(e.readFeatures(i,{extent:n,featureProjection:r}),e.readProjection(i)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function gA(t,e){return function(n,i,r,s,o){fA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function mA(){return[[-1/0,-1/0,1/0,1/0]]}function yA(t){return[t]}class _A extends TS{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if("function"==typeof t.getSimplifiedGeometry){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new _A(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const n=this.getStyle();return n&&t.setStyle(n),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(wS(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=vS(t,Yx,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?function(t){if("function"==typeof t)return t;let e;return Array.isArray(t)?e=t:(ZS("function"==typeof t.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[t]),function(){return e}}(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function vA(t,e,n,i){const r=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(c,h);d<0?(l=(h-c[-d-2])/(c[-d-1]-c[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let c=0;c>1;rt.clone())}class EA extends Ok{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){lS(this.flatCoordinates,t),this.changed()}clone(){const t=new EA(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,i){return i<_E(this.getExtent(),t,e)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Nk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Uk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,i))}forEachSegment(t){return oT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(e=void 0!==e&&e,wA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Vk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return bA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return AO(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=Kk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new EA(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return aT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,this.getExtent())}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=qk(this.flatCoordinates,0,t,this.stride),this.changed()}}class CA extends Ok{constructor(t,e,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(void 0!==e&&n)this.setFlatCoordinates(e,t),this.ends_=n;else{const e=t,n=[],i=[];for(let t=0,s=e.length;t{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Kk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Xk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=Jk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new PA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}PA.prototype.getFlatCoordinates=PA.prototype.getOrientedFlatCoordinates;class IA{constructor(t){this.rbush_=new YR(t),this.items_={}}insert(t,e){const n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(n),this.items_[CS(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const AA="addfeature",LA="removefeature";class FA extends yS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class zA extends MA{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=dS,this.format_=t.format||null,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(ZS(this.format_,"`format` must be set when `url` is set"),this.loader_=gA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:mA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new IA:null,this.loadedExtentsRtree_=new IA,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?i=t.features:t.features&&(n=t.features,i=n.getArray()),e||void 0!==n||(n=new IS(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=CS(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const n=t.getGeometry();if(n){const e=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new FA(AA,t))}setupChangeEvents_(t,e){e instanceof PA||(this.featureChangeKeys_[t]=[vS(e,Yx,this.handleFeatureChange_,this),vS(e,Xx,this.handleFeatureChange_,this)])}addToIndex_(t,e){let n=!0;if(void 0!==e.getId()){const t=String(e.getId());if(t in this.idIndex_)if(e instanceof PA){const i=this.idIndex_[t];i instanceof PA?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(ZS(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),n}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],n=[],i=[];for(let r=0,s=t.length;r{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener(Kx,t=>{e||(e=!0,this.removeFeature(t.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_)this.featureChangeKeys_[t].forEach(wS);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(t=>{this.removeFeatureInternal(t)});for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new FA("clear");this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const n=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof PA||i.intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(n){const i=n.getGeometry();if(i instanceof PA||i.intersectsExtent(t)){const t=e(n);if(t)return t}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),mS(this.nullGeometryFeatures_)||lS(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(t){e.push(t)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=XE(t,e);return[].concat(...n.map(t=>this.featuresRtree_.getInExtent(t)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const n=t[0],i=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||cS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof PA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new FA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new FA("featuresloaderror"))}),i.insert(t,{extent:t.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_,n=e.forEachInExtent(t,function(e){if(TE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;n{t in e&&(n[t]=e[t])}),n}function jA(t){t=t.slice();const e=Object.create(null);for(let n=0;n`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const sL=[qA,GA,$A,VA,WA,HA,ZA,KA,iL(XA),JA,tL,QA,eL,nL];function oL(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!oL(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of sL)if(!oL(t,e))return null}return`Expected ${rL(t)} but found ${rL(e)} instead.`}function aL(t,e){return e.some(e=>e.kind===t.kind)}function lL(t,e){return e.some(e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t)}function uL(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const cL=.96422,hL=.82521,dL=4/29,pL=6/29,fL=3*pL*pL,gL=pL*pL*pL,mL=Math.PI/180,yL=180/Math.PI;function _L(t){return(t%=360)<0&&(t+=360),t}function vL([t,e,n,i]){let r,s;const o=wL((.2225045*(t=bL(t))+.7168786*(e=bL(e))+.0606169*(n=bL(n)))/1);t===e&&e===n?r=s=o:(r=wL((.4360747*t+.3850649*e+.1430804*n)/cL),s=wL((.0139322*t+.0971045*e+.7141733*n)/hL));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function bL(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function wL(t){return t>gL?Math.pow(t,1/3):t/fL+dL}function xL([t,e,n,i]){let r=(t+16)/116,s=isNaN(e)?r:r+e/500,o=isNaN(n)?r:r-n/200;return r=1*EL(r),s=cL*EL(s),o=hL*EL(o),[SL(3.1338561*s-1.6168667*r-.4906146*o),SL(-.9787684*s+1.9161415*r+.033454*o),SL(.0719453*s-.2289914*r+1.4052427*o),i]}function SL(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function EL(t){return t>pL?t*t*t:fL*(t-dL)}const CL=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function kL(t,e){return CL(t,e)?t[e]:void 0}function TL(t){return parseInt(t.padEnd(2,t),16)/255}function RL(t,e){return PL(e?t/100:t,0,1)}function PL(t,e,n){return Math.min(Math.max(e,t),n)}function IL(t){return!t.some(Number.isNaN)}const ML={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function OL(t,e,n){return t+n*(e-t)}function AL(t,e,n){return t.map((t,i)=>OL(t,e[i],n))}class LL{constructor(t,e,n,i=1,r=!0){this.r=t,this.g=e,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[t,e,n,i]))}static parse(t){if(t instanceof LL)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=kL(ML,t);if(e){const[t,n,i]=e;return[t/255,n/255,i/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let n=1;return[TL(t.slice(n,n+=e)),TL(t.slice(n,n+=e)),TL(t.slice(n,n+=e)),TL(t.slice(n,n+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=t.match(e);if(n){const[t,e,i,r,s,o,a,l,u,c,h,d]=n,p=[r||" ",a||" ",c].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[PL(+e/n,0,1),PL(+s/n,0,1),PL(+l/n,0,1),h?RL(+h,d):1];if(IL(t))return t}}return}}const n=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[t,e,i,r,s,o,a,l,u]=n,c=[i||" ",s||" ",a].join("");if(" "===c||" /"===c||",,"===c||",,,"===c){const t=[+e,PL(+r,0,100),PL(+o,0,100),l?RL(+l,u):1];if(IL(t))return function([t,e,n,i]){function r(i){const r=(i+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(r-3,9-r,1))}return t=_L(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new LL(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[t/r,e/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,i,r]=vL(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?_L(Math.atan2(i,n)*yL):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",vL(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,i]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${i})`}static interpolate(t,e,n,i="rgb"){switch(i){case"rgb":{const[i,r,s,o]=AL(t.rgb,e.rgb,n);return new LL(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,c]=e.hcl;let h,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?h=NaN:(h=a,1!==s&&0!==s||(d=l)):(h=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),h=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*mL,xL([n,Math.cos(t)*e,Math.sin(t)*e,i])}([h,null!=d?d:OL(r,l,n),OL(s,u,n),OL(o,c,n)]);return new LL(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=xL(AL(t.lab,e.lab,n));return new LL(i,r,s,o,!1)}}}}LL.black=new LL(0,0,0,1),LL.white=new LL(1,1,1,1),LL.transparent=new LL(0,0,0,0),LL.red=new LL(1,0,0,1);class FL{constructor(t,e,n){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const zL=["bottom","center","top"];class DL{constructor(t,e,n,i,r,s){this.text=t,this.image=e,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=s}}class NL{constructor(t){this.sections=t}static fromString(t){return new NL([new DL(t,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(t=>0!==t.text.length||t.image&&0!==t.image.name.length)}static factory(t){return t instanceof NL?t:NL.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class jL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof jL)return t;if("number"==typeof t)return new jL([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new jL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new jL(AL(t.values,e.values,n))}}class UL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof UL)return t;if("number"==typeof t)return new UL([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new UL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new UL(AL(t.values,e.values,n))}}class BL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof BL)return t;if("string"==typeof t){const e=LL.parse(t);if(!e)return;return new BL([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=LL.parse(n);if(!t)return;e.push(t)}return new BL(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,i="rgb"){const r=[];if(t.values.length!=e.values.length)throw new Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${e.values.length}), cannot interpolate.`);for(let s=0;s=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[t,e,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[t,e,n,i]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function KL(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof WL||t instanceof LL||t instanceof FL||t instanceof NL||t instanceof jL||t instanceof UL||t instanceof BL||t instanceof $L||t instanceof VL)return!0;if(Array.isArray(t)){for(const e of t)if(!KL(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!KL(t[e]))return!1;return!0}return!1}function XL(t){if(null===t)return qA;if("string"==typeof t)return $A;if("boolean"==typeof t)return VA;if("number"==typeof t)return GA;if(t instanceof LL)return WA;if(t instanceof WL)return HA;if(t instanceof FL)return YA;if(t instanceof NL)return ZA;if(t instanceof jL)return JA;if(t instanceof UL)return tL;if(t instanceof BL)return QA;if(t instanceof $L)return nL;if(t instanceof VL)return eL;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=XL(i);if(n){if(n===t)continue;n=XA;break}n=t}return iL(n||XA,e)}return KA}function YL(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof LL||t instanceof WL||t instanceof NL||t instanceof jL||t instanceof UL||t instanceof BL||t instanceof $L||t instanceof VL?t.toString():JSON.stringify(t)}class ZL{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!KL(t[1]))return e.error("invalid value");const n=t[1];let i=XL(n);const r=e.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new ZL(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const JL={string:$A,number:GA,boolean:VA,object:KA};class QL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n,i=1;const r=t[0];if("array"===r){let r,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in JL)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=JL[n],i++}else r=XA;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],i++}n=iL(r,s)}else{if(!JL[r])throw new Error(`Types doesn't contain name = ${r}`);n=JL[r]}const s=[];for(;it.outputDefined())}}const tF={"to-boolean":VA,"to-color":WA,"to-number":GA,"to-string":$A};class eF{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[0];if(!tF[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==t.length)return e.error("Expected one argument.");const i=tF[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:HL(e[0],e[1],e[2],e[3]),!n))return new LL(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new qL(n||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const n of this.args){e=n.evaluate(t);const i=jL.parse(e);if(i)return i}throw new qL(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"numberArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=UL.parse(e);if(i)return i}throw new qL(`Could not parse numberArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"colorArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=BL.parse(e);if(i)return i}throw new qL(`Could not parse colorArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const n of this.args){e=n.evaluate(t);const i=$L.parse(e);if(i)return i}throw new qL(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const n of this.args){if(e=n.evaluate(t),null===e)return 0;const i=Number(e);if(!isNaN(i))return i}throw new qL(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return NL.fromString(YL(this.args[0].evaluate(t)));case"resolvedImage":return VL.fromString(YL(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return YL(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const nF=["Unknown","Point","LineString","Polygon"];class iF{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?nF[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache.get(t);return e||(e=LL.parse(t),this._parseColorCache.set(t,e)),e}}class rF{constructor(t,e,n=[],i,r=new BA,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=r,this.errors=s,this.expectedType=i,this._isConstant=e}parse(t,e,n,i,r={}){return e?this.concat(e,n,i)._parse(t,r):this._parse(t,r)}_parse(t,e){function n(t,e,n){return"assert"===n?new QL(e,[t]):"coerce"===n?new eF(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const s=this.registry[r];if(s){let r=s.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,i=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind){if("projectionDefinition"===t.kind&&["string","array"].includes(i.kind)||["color","formatted","resolvedImage"].includes(t.kind)&&["value","string"].includes(i.kind)||["padding","numberArray"].includes(t.kind)&&["value","number","array"].includes(i.kind)||"colorArray"===t.kind&&["value","string","array"].includes(i.kind)||"variableAnchorOffsetCollection"===t.kind&&["value","array"].includes(i.kind))r=n(r,t,e.typeAnnotation||"coerce");else if(this.checkSubtype(t,i))return null}else r=n(r,t,e.typeAnnotation||"assert")}if(!(r instanceof ZL)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new iF;try{r=new ZL(r.type,r.evaluate(t))}catch(i){return this.error(i.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,n){const i="number"==typeof t?this.path.concat(t):this.path,r=n?this.scope.concat(n):this.scope;return new rF(this.registry,this._isConstant,i,e||null,r,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new UA(n,t))}checkSubtype(t,e){const n=oL(t,e);return n&&this.error(n),n}}class sF{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const n=[];for(let r=1;r=n.length)throw new qL(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new qL(`Array index must be an integer, but found ${e} instead.`);return n[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class lF{constructor(t,e){this.type=VA,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,XA),i=e.parse(t[2],2,XA);return n&&i?aL(n.type,[VA,$A,GA,qA,XA])?new lF(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${rL(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!lL(e,["boolean","string","number","null"]))throw new qL(`Expected first argument to be of type boolean, string, number or null, but found ${rL(XL(e))} instead.`);if(!lL(n,["string","array"]))throw new qL(`Expected second argument to be of type array or string, but found ${rL(XL(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class uF{constructor(t,e,n){this.type=GA,this.needle=t,this.haystack=e,this.fromIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,XA),i=e.parse(t[2],2,XA);if(!n||!i)return null;if(!aL(n.type,[VA,$A,GA,qA,XA]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${rL(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,GA);return r?new uF(n,i,r):null}return new uF(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!lL(e,["boolean","string","number","null"]))throw new qL(`Expected first argument to be of type boolean, string, number or null, but found ${rL(XL(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),lL(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(lL(n,["array"]))return n.indexOf(e,i);throw new qL(`Expected second argument to be of type array or string, but found ${rL(XL(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class cF{constructor(t,e,n,i,r,s){this.inputType=t,this.type=e,this.input=n,this.cases=i,this.outputs=r,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let n,i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r={},s=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(n){if(u.checkSubtype(n,XL(t)))return null}else n=XL(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const c=e.parse(a,l,i);if(!c)return null;i=i||c.type,s.push(c)}const o=e.parse(t[1],1,XA);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,i);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new cF(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(XL(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class hF{constructor(t,e,n){this.type=t,this.branches=e,this.otherwise=n}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i=[];for(let s=1;se.outputDefined())&&this.otherwise.outputDefined()}}class dF{constructor(t,e,n,i){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,XA),i=e.parse(t[2],2,GA);if(!n||!i)return null;if(!aL(n.type,[iL(XA),$A,XA]))return e.error(`Expected first argument to be of type array or string, but found ${rL(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,GA);return r?new dF(n.type,n,i,r):null}return new dF(n.type,n,i)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let i;if(this.endIndex&&(i=this.endIndex.evaluate(t)),lL(e,["string"]))return[...e].slice(n,i).join("");if(lL(e,["array"]))return e.slice(n,i);throw new qL(`Expected first argument to be of type array or string, but found ${rL(XL(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function pF(t,e){const n=t.length-1;let i,r,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),i=t[a],r=t[a+1],i<=e){if(a===n||ee))throw new qL("Input is not a number.");o=a-1}return 0}class fF{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[i,r]of n)this.labels.push(i),this.outputs.push(r)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const n=e.parse(t[1],1,GA);if(!n)return null;const i=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let s=1;s=n)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const u=e.parse(o,l,r);if(!u)return null;r=r||u.type,i.push([n,u])}return new fF(r,n,i)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;return i>=e[r-1]?n[r-1].evaluate(t):n[pF(e,i)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function gF(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mF,yF,_F=function(){if(yF)return mF;function t(t,e,n,i){this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(i-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=i}return yF=1,mF=t,t.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var n=t,i=0;i<8;i++){var r=this.sampleCurveX(n)-t;if(Math.abs(r)r?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},mF}(),vF=gF(_F);class bF{constructor(t,e,n,i,r){this.type=t,this.operator=e,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[s,o]of r)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,i){let r=0;if("exponential"===t.name)r=wF(e,t.base,n,i);else if("linear"===t.name)r=wF(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new vF(s[0],s[1],s[2],s[3]).solve(wF(e,1,n,i))}return r}static parse(t,e){let[n,i,r,...s]=t;if(!Array.isArray(i)||0===i.length)return e.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const t=i[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:t}}else{if("cubic-bezier"!==i[0])return e.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const t=i.slice(1);if(4!==t.length||t.some(t=>"number"!=typeof t||t<0||t>1))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,GA),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==QA?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=WA;for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,r,a);if(!u)return null;a=a||u.type,o.push([t,u])}return uL(a,GA)||uL(a,HA)||uL(a,WA)||uL(a,JA)||uL(a,tL)||uL(a,QA)||uL(a,nL)||uL(a,iL(GA))?new bF(a,n,i,r,o):e.error(`Type ${rL(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;if(i>=e[r-1])return n[r-1].evaluate(t);const s=pF(e,i),o=e[s],a=e[s+1],l=bF.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),c=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return OL(u,c,l);case"color":return LL.interpolate(u,c,l);case"padding":return jL.interpolate(u,c,l);case"colorArray":return BL.interpolate(u,c,l);case"numberArray":return UL.interpolate(u,c,l);case"variableAnchorOffsetCollection":return $L.interpolate(u,c,l);case"array":return AL(u,c,l);case"projectionDefinition":return WL.interpolate(u,c,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return LL.interpolate(u,c,l,"hcl");case"colorArray":return BL.interpolate(u,c,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return LL.interpolate(u,c,l,"lab");case"colorArray":return BL.interpolate(u,c,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function wF(t,e,n,i){const r=i-n,s=t-n;return 0===r?0:1===e?s/r:(Math.pow(e,s)-1)/(Math.pow(e,r)-1)}class xF{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n=null;const i=e.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const o of t.slice(1)){const t=e.parse(o,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,r.push(t)}if(!n)throw new Error("No output type");const s=i&&r.some(t=>oL(i,t.type));return new xF(s?XA:n,r)}evaluate(t){let e,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(t),n&&n instanceof VL&&!n.available&&(e||(e=n.name),n=null,i===this.args.length&&(n=e)),null!==n)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function SF(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function EF(t,e,n,i){return 0===i.compare(e,n)}function CF(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=VA,this.lhs=t,this.rhs=e,this.collator=n,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const n=t[0];let s=e.parse(t[1],1,XA);if(!s)return null;if(!SF(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${rL(s.type)}'.`);let o=e.parse(t[2],2,XA);if(!o)return null;if(!SF(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${rL(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${rL(s.type)}' and '${rL(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new QL(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new QL(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,YA),!a)return null}return new r(s,o,a)}evaluate(r){const s=this.lhs.evaluate(r),o=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const e=XL(s),n=XL(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new qL(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const t=XL(s),n=XL(o);if("string"!==t.kind||"string"!==n.kind)return e(r,s,o)}return this.collator?n(r,s,o,this.collator.evaluate(r)):e(r,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const kF=CF("==",function(t,e,n){return e===n},EF),TF=CF("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!EF(0,e,n,i)}),RF=CF("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),IF=CF("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),MF=CF(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class OF{constructor(t,e,n){this.type=YA,this.locale=n,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const n=t[1];if("object"!=typeof n||Array.isArray(n))return e.error("Collator options argument must be an object.");const i=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,VA);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,VA);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,$A),!s)?null:new OF(i,r,s)}evaluate(t){return new FL(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class AF{constructor(t,e,n,i,r){this.type=$A,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,GA);if(!n)return null;const i=t[2];if("object"!=typeof i||Array.isArray(i))return e.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=e.parse(i.locale,1,$A),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,$A),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,GA),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,GA),!a)?null:new AF(n,r,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class LF{constructor(t){this.type=ZA,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[1];if(!Array.isArray(n)&&"object"==typeof n)return e.error("First argument must be an image or text section.");const i=[];let r=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(r&&"object"==typeof n&&!Array.isArray(n)){r=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,GA),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,iL($A)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,WA),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!zL.includes(n["vertical-align"]))return e.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${n["vertical-align"]}' instead.`);if(a=e.parse(n["vertical-align"],1,$A),!a)return null}const l=i[i.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,XA);if(!n)return null;const o=n.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new LF(i)}evaluate(t){return new NL(this.sections.map(e=>{const n=e.content.evaluate(t);return XL(n)===eL?new DL("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new DL(YL(n),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null,e.verticalAlign?e.verticalAlign.evaluate(t):null)}))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor),e.verticalAlign&&t(e.verticalAlign)}outputDefined(){return!1}}class FF{constructor(t){this.type=eL,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,$A);return n?new FF(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=VL.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class zF{constructor(t){this.type=GA,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=e.parse(t[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?e.error(`Expected argument of type string or array, but found ${rL(n.type)} instead.`):new zF(n):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new qL(`Expected value to be of type string or array, but found ${rL(XL(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const DF=8192;function NF(t,e){const n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const s=Math.pow(2,e.z);return[Math.round(n*s*DF),Math.round(i*s*DF)]}function jF(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/DF+e.x)/n,360*r-180),(i=(t[1]/DF+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function UF(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function BF(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function qF(t,e,n){return e[1]>t[1]!=n[1]>t[1]&&t[0]<(n[0]-e[0])*(t[1]-e[1])/(n[1]-e[1])+e[0]}function GF(t,e,n){const i=t[0]-e[0],r=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return i*o-s*r===0&&i*s<=0&&r*o<=0}function $F(t,e,n,i){const r=[e[0]-t[0],e[1]-t[1]];return 0!==(s=[i[0]-n[0],i[1]-n[1]])[0]*(o=r)[1]-s[1]*o[0]&&!(!YF(t,e,n,i)||!YF(n,i,t,e));var s,o}function VF(t,e,n){for(const i of n)for(let n=0;n0&&h<0||c<0&&h>0}function ZF(t,e,n){const i=[];for(let r=0;rn[2]){const e=.5*i;let r=t[0]-n[0]>e?-i:n[0]-t[0]>e?i:0;0===r&&(r=t[0]-n[2]>e?-i:n[2]-t[0]>e?i:0),t[0]+=r}UF(e,t)}function tz(t,e,n,i){const r=Math.pow(2,i.z)*DF,s=[i.x*DF,i.y*DF],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];QF(i,e,n,r),o.push(i)}return o}function ez(t,e,n,i){const r=Math.pow(2,i.z)*DF,s=[i.x*DF,i.y*DF],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];UF(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=r/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const i of t)QF(i,e,n,r)}return o}class nz{constructor(t,e){this.type=VA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(KL(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:i}=n.geometry;"Polygon"===e&&t.push(i),"MultiPolygon"===e&&t.push(...i)}if(t.length)return new nz(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new nz(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new nz(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=ZF(e.coordinates,i,r),o=tz(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!WF(t,s))return!1}if("MultiPolygon"===e.type){const s=JF(e.coordinates,i,r),o=tz(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!HF(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=ZF(e.coordinates,i,r),o=ez(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!KF(t,s))return!1}if("MultiPolygon"===e.type){const s=JF(e.coordinates,i,r),o=ez(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!XF(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class iz{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:n}=this,i=e[t];for(;t>0;){const r=t-1>>1,s=e[r];if(n(i,s)>=0)break;e[t]=s,t=r}e[t]=i}_down(t){const{data:e,compare:n}=this,i=this.length>>1,r=e[t];for(;t=0)break;e[t]=e[i],t=i}e[t]=r}}function rz(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],u=t[a+1][1]):d>0&&(l+=c/this.kx*d,u+=h/this.ky*d)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const p=c*c+h*h;p180;)t-=360;return t}}function uz(t,e){return e[0]-t[0]}function cz(t){return t[1]-t[0]+1}function hz(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=cz(t);if(e){if(2===n)return[t,null];const e=Math.floor(n/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===n)return[t,null];const i=Math.floor(n/2)-1;return[[t[0],t[0]+i],[t[0]+i+1,t[1]]]}function pz(t,e){if(!hz(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=e[0];i<=e[1];++i)UF(n,t[i]);return n}function fz(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)UF(e,t);return e}function gz(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function mz(t,e,n){if(!gz(t)||!gz(e))return NaN;let i=0,r=0;return t[2]e[2]&&(i=t[0]-e[2]),t[1]>e[3]&&(r=t[1]-e[3]),t[3]=i)return i;if(BF(r,s)){if(Sz(t,e))return 0}else if(Sz(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,i=a.length,r=i-1;t0;){const r=o.pop();if(r[0]>=s)continue;const l=r[1],u=e?50:100;if(cz(l)<=u){if(!hz(l,t.length))return NaN;if(e){const e=xz(t,l,n,i);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const r=wz(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=dz(l,e);Cz(o,s,i,t,a,n[0]),Cz(o,s,i,t,a,n[1])}}return s}function Rz(t,e,n,i,r,s=1/0){let o=Math.min(s,r.distance(t[0],n[0]));if(0===o)return o;const a=new iz([[0,[0,t.length-1],[0,n.length-1]]],uz);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],c=e?50:100,h=i?50:100;if(cz(l)<=c&&cz(u)<=h){if(!hz(l,t.length)&&hz(u,n.length))return NaN;let s;if(e&&i)s=vz(t,l,n,u,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=yz(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(u[0],u[1]+1);for(let n=l[0];n<=l[1];++n)if(s=yz(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=bz(t,l,n,u,r),o=Math.min(o,s)}else{const s=dz(l,e),c=dz(u,i);kz(a,o,r,t,n,s[0],c[0]),kz(a,o,r,t,n,s[0],c[1]),kz(a,o,r,t,n,s[1],c[0]),kz(a,o,r,t,n,s[1],c[1])}}return o}function Pz(t){return"MultiPolygon"===t.type?t.coordinates.map(t=>({type:"Polygon",coordinates:t})):"MultiLineString"===t.type?t.coordinates.map(t=>({type:"LineString",coordinates:t})):"MultiPoint"===t.type?t.coordinates.map(t=>({type:"Point",coordinates:t})):[t]}class Iz{constructor(t,e){this.type=GA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(KL(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Iz(e,e.features.map(t=>Pz(t.geometry)).flat());if("Feature"===e.type)return new Iz(e,Pz(e.geometry));if("type"in e&&"coordinates"in e)return new Iz(e,Pz(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>jF([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new lz(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,Rz(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,Rz(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,Tz(i,!1,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>jF([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new lz(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,Rz(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,Rz(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,Tz(i,!0,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const n=t.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(t){if(t.length<=1)return[t];const e=[];let n,i;for(const r of t){const t=rz(r);0!==t&&(r.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&e.push(n),n=[r]):n.push(r))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>jF([e.x,e.y],t.canonical)))),r=new lz(i[0][0][0][1]);let s=1/0;for(const o of e)for(const t of i){switch(o.type){case"Point":s=Math.min(s,Tz([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,Tz(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,Ez(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class Mz{constructor(t){this.type=XA,this.key=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=t[1];return null==n?e.error("Global state property must be defined."):"string"!=typeof n?e.error(`Global state property must be string, but found ${typeof t[1]} instead.`):new Mz(n)}evaluate(t){var e;const n=null===(e=t.globals)||void 0===e?void 0:e.globalState;return n&&0!==Object.keys(n).length?kL(n,this.key):null}eachChild(){}outputDefined(){return!1}}const Oz={"==":kF,"!=":TF,">":PF,"<":RF,">=":MF,"<=":IF,array:QL,at:aF,boolean:QL,case:hF,coalesce:xF,collator:OF,format:LF,image:FF,in:lF,"index-of":uF,interpolate:bF,"interpolate-hcl":bF,"interpolate-lab":bF,length:zF,let:sF,literal:ZL,match:cF,number:QL,"number-format":AF,object:QL,slice:dF,step:fF,string:QL,"to-boolean":eF,"to-color":eF,"to-number":eF,"to-string":eF,var:oF,within:nz,distance:Iz,"global-state":Mz};class Az{constructor(t,e,n,i){this.name=t,this.type=e,this._evaluate=n,this.args=i}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const n=t[0],i=Az.definitions[n];if(!i)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,s=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,u]of o){a=new rF(e.registry,Nz,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(rL).join(", ")})`:`(${rL(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&Nz(t):n&&t instanceof ZL}),!!n&&jz(t)&&Bz(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function jz(t){if(t instanceof Az){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof nz)return!1;if(t instanceof Iz)return!1;let e=!0;return t.eachChild(t=>{e&&!jz(t)&&(e=!1)}),e}function Uz(t){if(t instanceof Az&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!Uz(t)&&(e=!1)}),e}function Bz(t,e){if(t instanceof Az&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!Bz(t,e)&&(n=!1)}),n}function qz(t){return{result:"success",value:t}}function Gz(t){return{result:"error",value:t}}function $z(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&XL(t)===KA}Az.register(Oz,{error:[{kind:"error"},[$A],(t,[e])=>{throw new qL(e.evaluate(t))}],typeof:[$A,[XA],(t,[e])=>rL(XL(e.evaluate(t)))],"to-rgba":[iL(GA,4),[WA],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[WA,[GA,GA,GA],Lz],rgba:[WA,[GA,GA,GA,GA],Lz],has:{type:VA,overloads:[[[$A],(t,[e])=>Fz(e.evaluate(t),t.properties())],[[$A,KA],(t,[e,n])=>Fz(e.evaluate(t),n.evaluate(t))]]},get:{type:XA,overloads:[[[$A],(t,[e])=>zz(e.evaluate(t),t.properties())],[[$A,KA],(t,[e,n])=>zz(e.evaluate(t),n.evaluate(t))]]},"feature-state":[XA,[$A],(t,[e])=>zz(e.evaluate(t),t.featureState||{})],properties:[KA,[],t=>t.properties()],"geometry-type":[$A,[],t=>t.geometryType()],id:[XA,[],t=>t.id()],zoom:[GA,[],t=>t.globals.zoom],"heatmap-density":[GA,[],t=>t.globals.heatmapDensity||0],elevation:[GA,[],t=>t.globals.elevation||0],"line-progress":[GA,[],t=>t.globals.lineProgress||0],accumulated:[XA,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[GA,Dz(GA),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[GA,Dz(GA),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:GA,overloads:[[[GA,GA],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[GA],(t,[e])=>-e.evaluate(t)]]},"/":[GA,[GA,GA],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[GA,[GA,GA],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[GA,[],()=>Math.LN2],pi:[GA,[],()=>Math.PI],e:[GA,[],()=>Math.E],"^":[GA,[GA,GA],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[GA,[GA],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[GA,[GA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[GA,[GA],(t,[e])=>Math.log(e.evaluate(t))],log2:[GA,[GA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[GA,[GA],(t,[e])=>Math.sin(e.evaluate(t))],cos:[GA,[GA],(t,[e])=>Math.cos(e.evaluate(t))],tan:[GA,[GA],(t,[e])=>Math.tan(e.evaluate(t))],asin:[GA,[GA],(t,[e])=>Math.asin(e.evaluate(t))],acos:[GA,[GA],(t,[e])=>Math.acos(e.evaluate(t))],atan:[GA,[GA],(t,[e])=>Math.atan(e.evaluate(t))],min:[GA,Dz(GA),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[GA,Dz(GA),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[GA,[GA],(t,[e])=>Math.abs(e.evaluate(t))],round:[GA,[GA],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[GA,[GA],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[GA,[GA],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[VA,[$A,XA],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[VA,[XA],(t,[e])=>t.id()===e.value],"filter-type-==":[VA,[$A],(t,[e])=>t.geometryType()===e.value],"filter-<":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i{const n=t.id(),i=e.value;return typeof n==typeof i&&n":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[VA,[XA],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[VA,[XA],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[VA,[XA],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[VA,[XA],(t,[e])=>e.value in t.properties()],"filter-has-id":[VA,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[VA,[iL($A)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[VA,[iL(XA)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[VA,[$A,iL(XA)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[VA,[$A,iL(XA)],(t,[e,n])=>function(t,e,n,i){for(;n<=i;){const r=n+i>>1;if(e[r]===t)return!0;e[r]>t?i=r-1:n=r+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:VA,overloads:[[[VA,VA],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[Dz(VA),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:VA,overloads:[[[VA,VA],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[Dz(VA),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[VA,[VA],(t,[e])=>!e.evaluate(t)],"is-supported-script":[VA,[$A],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[$A,[$A],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[$A,[$A],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[$A,Dz(XA),(t,e)=>e.map(e=>YL(e.evaluate(t))).join("")],"resolved-locale":[$A,[YA],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Vz{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new iF,this._defaultValue=e?function(t){if("color"===t.type&&$z(t.default))return new LL(0,0,0,0);switch(t.type){case"color":return LL.parse(t.default)||null;case"padding":return jL.parse(t.default)||null;case"numberArray":return UL.parse(t.default)||null;case"colorArray":return BL.parse(t.default)||null;case"variableAnchorOffsetCollection":return $L.parse(t.default)||null;case"projectionDefinition":return WL.parse(t.default)||null;default:return void 0===t.default?null:t.default}}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,i,r,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new qL(`Expected value to be one of ${Object.keys(this._enumValues).map(t=>JSON.stringify(t)).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(o){return this._warningHistory[o.message]||(this._warningHistory[o.message]=!0,"undefined"!=typeof console&&console.warn(o.message)),this._defaultValue}}}function Wz(t,e){const n=new rF(Oz,Nz,[],e?function(t){const e={color:WA,string:$A,number:GA,enum:$A,boolean:VA,formatted:ZA,padding:JA,numberArray:tL,colorArray:QA,projectionDefinition:HA,resolvedImage:eL,variableAnchorOffsetCollection:nL};return"array"===t.type?iL(e[t.value]||XA,t.length):e[t.type]}(e):void 0),i=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return i?qz(new Vz(i,e)):Gz(n.errors)}class Hz{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Uz(e.expression),this.globalStateRefs=Zz(e.expression)}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}}class Kz{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Uz(e.expression),this.globalStateRefs=Zz(e.expression),this.interpolationType=i}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}interpolationFactor(t,e,n){return this.interpolationType?bF.interpolationFactor(this.interpolationType,t,e,n):0}}function Xz(t,e){const n=Wz(t,e);if("error"===n.result)return n;const i=n.value.expression,r=jz(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return Gz([new UA("","data expressions not supported")]);var s;const o=Bz(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return Gz([new UA("","zoom expressions not supported")]);const a=Yz(i);if(!a&&!o)return Gz([new UA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof UA)return Gz([a]);if(a instanceof bF&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return Gz([new UA("",'"interpolate" expressions cannot be used with this property')]);if(!a)return qz(new Hz(r?"constant":"source",n.value));const l=a instanceof bF?a.interpolation:void 0;return qz(new Kz(r?"camera":"composite",n.value,a.labels,l))}function Yz(t){let e=null;if(t instanceof sF)e=Yz(t.result);else if(t instanceof xF){for(const n of t.args)if(e=Yz(n),e)break}else(t instanceof fF||t instanceof bF)&&t.input instanceof Az&&"zoom"===t.input.name&&(e=t);return e instanceof UA||t.eachChild(t=>{const n=Yz(t);n instanceof UA?e=n:!e&&n?e=new UA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new UA("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function Zz(t,e=new Set){return t instanceof Mz&&e.add(t.key),t.eachChild(t=>{Zz(t,e)}),e}function Jz(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!Jz(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Qz={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function tD(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Jz(t)||(t=iD(t));const e=Wz(t,Qz);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,i)=>e.value.evaluate(t,n,{},i),needGeometry:nD(t),getGlobalStateRefs:()=>Zz(e.value.expression)}}function eD(t,e){return te?1:0}function nD(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?rD(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(iD))):"all"===e?["all"].concat(t.slice(1).map(iD)):"none"===e?["all"].concat(t.slice(1).map(iD).map(aD)):"in"===e?sD(t[1],t.slice(2)):"!in"===e?aD(sD(t[1],t.slice(2))):"has"===e?oD(t[1]):"!has"!==e||aD(oD(t[1]));var n}function rD(t,e,n){switch(t){case"$type":return[`filter-type-${n}`,e];case"$id":return[`filter-id-${n}`,e];default:return[`filter-${n}`,t,e]}}function sD(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(t=>typeof t!=typeof e[0])?["filter-in-large",t,["literal",e.sort(eD)]]:["filter-in-small",t,["literal",e]]}}function oD(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function aD(t){return["!",t]}function lD(t){return"object"==typeof t?["literal",t]:t}function uD(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function cD(t,e){const n=lD((i=t.default,r=e.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===e.type?"":n}function hD(t,e,n){const i=fD(t,e),r=["get",t.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const t of n)i.push(["==",r,t[0]],t[1]);return i.push(cD(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)pD(i,t[0],t[1],!1);return i.push(cD(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)pD(e,t[0],t[1],!0);return dD(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,lD(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[uD(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)pD(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,lD(t.default)]}throw new Error(`Unknown property function type ${i}`)}function dD(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function pD(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function fD(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function gD(t){const e=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(t);null!==r;r=n.exec(t)){const s=t.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,s.length>0&&e.push(s),e.push(["get",r[1]])}if(1===e.length)return t;if(i":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};var yD={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},_D=" ",vD=/(italic|oblique)$/i,bD={};function wD(t,e,n){var i=bD[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],u=0,c=t.length;u1?h[h.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:yD[p],h.pop(),f&&p.startsWith(f)&&h.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=h.join(_D).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(_D)&&(g='"'+g+'"'),l.push(g)}i=bD[t]=[a,o,l]}return i[0]+_D+i[1]+_D+e+"px"+(n?"/"+n:"")+_D+i[2]}class xD extends iM{constructor(t,e,n,i,r){super(t,e,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}}class SD extends _S{constructor(t,e,n){super(),n=n||{},this.tileCoord=t,this.state=e,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Yx)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(4!==this.state){if(3!==this.state&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}}load(){SS()}getAlpha(t,e){if(!this.transition_)return 1;let n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else n=e,this.transitionStarts_[t]=n;const i=e-n+1e3/60;return i>=this.transition_?1:QE(i/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}class ED extends SD{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,NS?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==i&&(this.image_.crossOrigin=i)),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=2,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const t=zT(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(NS)this.state=2;else{const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=2:this.state=4}this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,n){const i=t;let r=!0,s=!1,o=!1;const a=[bS(i,"load",function(){o=!0,s||e()})];return i.src&&jS?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(bS(i,"error",n)),function(){r=!1,a.forEach(wS)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}class CD{constructor(t,e,n,i){this.minX=t,this.maxX=e,this.minY=n,this.maxY=i}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function kD(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new CD(t,e,n,i)}const TD=[];class RD extends SD{constructor(t,e,n,i,r){super(t,e,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=zT(1,1,TD)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=CS(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){this.context_&&(jT(this.context_),TD.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let PD=class extends SD{constructor(t,e,n,i,r,s){super(t,e,s),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(3)}setFeatures(t){this.features_=t,this.setState(2)}setLoader(t){this.loader_=t}};const ID="https://api.mapbox.com";function MD(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function OD(t,e,n){const i=MD(t);if(!i)return decodeURI(new URL(t,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const r=i.slice(8);return`${ID}/styles/v1/${r}/sprite?access_token=${e}`}function AD(t,e){const n=MD(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const i=n.slice(7);return`${ID}/styles/v1/${i}?&access_token=${e}`}const LD=["a","b","c","d"];function FD(t,e,n,i){const r=new URL(t,i||location.href),s=MD(t);if(!s)return e?(r.searchParams.has(n)||r.searchParams.set(n,e),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===s){const t=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${s}/{z}/{x}/{y}${t}.webp?access_token=${e}`]}return LD.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const zD=Object.freeze({}),DD={},ND={};let jD=0;function UD(t){return t.id||(t.id=jD++),t.id}function BD(t){let e=DD[t.id];return e||(e={},DD[UD(t)]=e),e}function qD(t){return t*Math.PI/180}const GD=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function $D(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);const n=document.createElement("canvas");return n.width=t,n.height=e,n}function VD(t,e){let n=0;const i=e.length;for(;nr).then(t=>t instanceof Response?(i&&(i.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),i&&(i.url=t.url),fetch(t).then(o).catch(s))).catch(s);return HD[e]=[r,a],a}function XD(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return KD("Style",t=AD(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(Gz){return Promise.reject(Gz)}}const YD={};function ZD(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=YD[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof PD)t.setLoader((e,n,r)=>{const s=function(n){n.arrayBuffer().then(n=>{const i=t.getFormat().readFeatures(n,{extent:e,featureProjection:r});t.setFeatures(i)})};fS(()=>i).then(e=>{if(e instanceof Response)return s(e);fetch(e).then(s).catch(()=>t.setState(3))}).catch(()=>t.setState(3))});else{const e=t.getImage();fS(()=>i).then(n=>{if("string"==typeof n)return void(e.src=n);const i=t=>t.blob().then(t=>{const n=URL.createObjectURL(t);e.addEventListener("load",()=>URL.revokeObjectURL(n)),e.addEventListener("error",()=>URL.revokeObjectURL(n)),e.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const i=FD(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:i}),tileLoadFunction:s});else{const t={};r=KD("Source",i[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),FD(i,n.accessToken,n.accessTokenParam||"access_token",t.url)[0]}),Promise.resolve({tileJson:e,tileLoadFunction:s})})}}else t.tiles?(t=Object.assign({},t,{tiles:t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),FD(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));YD[i]=r}return r}function JD(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=$D(r[0],r[1]),o=s.getContext("2d");o.drawImage(t,e.x,e.y,e.width,e.height,n*e.pixelRatio,n*e.pixelRatio,e.width,e.height);const a=o.getImageData(0,0,r[0],r[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let u=0,c=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function QD(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function tN(t,e,n){const i=$D(e.width,e.height),r=i.getContext("2d");r.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=r.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a0?(o[e+0]=Math.round(255*n.r*s),o[e+1]=Math.round(255*n.g*s),o[e+2]=Math.round(255*n.b*s),o[e+3]=Math.round(255*s)):o[e+3]=0}return r.putImageData(s,0,0),i}const eN=Array(256).join(" ");function nN(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=eN.slice(0,Math.round(e/.1));for(let t=0,e=i.length;t0&&(n+="\n"),n+=i[t].split("").join(r);return n}return t}let iN;function rN(){return iN||(iN=$D(1,1).getContext("2d")),iN}function sN(t,e){return rN().measureText(t).width+(t.length-1)*e}const oN={};function aN(t,e,n,i){if(-1!==t.indexOf("\n")){const r=t.split("\n"),s=[];for(let t=0,o=r.length;t1){const t=rN();t.font=e;const r=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e1;++e){const t=l[e];if(sN(t,i)<.35*r){const r=e>0?sN(l[e-1],i):1/0,s=e.7*r&&sN(s,i)<.6*r){const o=t.split(" "),a=o.pop();sN(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=nN(s,i),oN[r]=s}return s}vM.on("propertychange",()=>{for(const t in oN)delete oN[t]});const lN=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],uN={},cN={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},hN={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},dN={zoom:0,distanceFromCenter:0};let pN,fN;function gN(t,e,n,i,r,s){const o=t.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[o]||(r[o]={});const a=r[o];if(!a[n]){let i=(t[e]||zD)[n];const r=mD[`${e}_${t.type}`][n];void 0===i&&(i=r.default);let s=(l=i,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in Oz);if(!s&&$z(i)&&(i=function(t,e){let n=t.stops;if(!n)return function(t,e){const n=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",n]:n;if("enum"===e.type)return["match",n,Object.keys(e.values),n,t.default];{const i=["color"===e.type?"to-color":e.type,n,lD(t.default)];return"array"===e.type&&i.splice(1,0,e.value,e.length||null),i}}(t,e);const i=n&&"object"==typeof n[0][0],r=i||void 0!==t.property,s=i||!r;return n=n.map(t=>!r&&e.tokens&&"string"==typeof t[1]?[t[0],gD(t[1])]:[t[0],lD(t[1])]),i?function(t,e,n){const i={},r={},s=[];for(let o=0;o`${t.key}: ${t.message}`).join(", "));return n.value}(i,r);a[n]=t.evaluate.bind(t)}else{const t=r.type;"color"!==t&&"colorArray"!==t||(i=LL.parse(i)),a[n]=function(){return i}}}var l;return a[n](dN,i,s)}function mN(t,e,n,i){return gN(t,"layout",`${n}-allow-overlap`,e,i)?gN(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function yN(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=tD(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](dN,n)}function _N(t,e){if(t){if(0===t.a||0===e)return;const n=t.a;return e=void 0===e?1:e,0===n?"transparent":"rgba("+Math.round(255*t.r/n)+","+Math.round(255*t.g/n)+","+Math.round(255*t.b/n)+","+n*e+")"}return t}Az.register(Oz,{...Az.definitions,pitch:[{kind:"number"},[],()=>dN.pitch||90],"distance-from-center":[{kind:"number"},[],()=>dN.distanceFromCenter||0]});const vN=/\{[^{}}]*\}/g;function bN(t,e){return t.replace(vN,function(t){return e[t.slice(1,-1)]||""})}function wN(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const xN={};class SN{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=_A,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?QC(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=QC(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return SS()}readFeature(t,e){return SS()}readFeatures(t,e){return SS()}readGeometry(t,e){return SS()}readProjection(t){return SS()}writeFeature(t,e){return SS()}writeFeatures(t,e){return SS()}writeGeometry(t,e){return SS()}}function EN(t,e,n){const i=n?QC(n.featureProjection):null,r=n?QC(n.dataProjection):null;let s=t;if(i&&r&&!sk(i,r)){e&&(s=t.clone());const n=e?i:r,o=e?r:i;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(lk(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),i=function(t){for(let n=0,i=t.length;nkN({...t,geometry:e})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return EN(new PA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(pT(t,0,e,n)||gT(t=t.slice(),0,e,n),t):(dT(t,0,e,n)||fT(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function TN(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>TN(t,e));return new xA(n)}return EN(new(0,CN[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class RN extends SN{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(PN(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(PN(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return SS()}readFeaturesFromObject(t,e){return SS()}readGeometry(t,e){return this.readGeometryFromObject(PN(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return SS()}readProjection(t){return this.readProjectionFromObject(PN(t))}readProjectionFromObject(t){return SS()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return SS()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return SS()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return SS()}}function PN(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class IN extends RN{constructor(t){t=t||{},super(),this.dataProjection=QC(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=QC(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let n=null;n="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const i=MN(n.geometry);if(this.featureClass===PA)return kN({geometry:i,id:n.id,properties:n.properties},e);const r=new _A;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(TN(i,e)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const i=t.features;for(let t=0,r=i.length;t>3,r=this.pos;this.type=7&n,t(i,e,this),this.pos===r&&this.skip(n)}return e}readMessage(t,e){return this.readFields(t,e,this.readVarint()+this.pos)}readFixed32(){const t=this.dataView.getUint32(this.pos,!0);return this.pos+=4,t}readSFixed32(){const t=this.dataView.getInt32(this.pos,!0);return this.pos+=4,t}readFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*AN;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*AN;return this.pos+=8,t}readFloat(){const t=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,t}readDouble(){const t=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,t}readVarint(t){const e=this.buf;let n,i;return i=e[this.pos++],n=127&i,i<128?n:(i=e[this.pos++],n|=(127&i)<<7,i<128?n:(i=e[this.pos++],n|=(127&i)<<14,i<128?n:(i=e[this.pos++],n|=(127&i)<<21,i<128?n:(i=e[this.pos],n|=(15&i)<<28,function(t,e,n){const i=n.buf;let r,s;if(s=i[n.pos++],r=(112&s)>>4,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return DN(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(n,t,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const t=this.readVarint();return t%2==1?(t+1)/-2:t/2}readBoolean(){return Boolean(this.readVarint())}readString(){const t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&FN?FN.decode(this.buf.subarray(e,t)):function(t,e,n){let i="",r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+u>n)break;1===u?e<128&&(l=e):2===u?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===u?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&(l=(15&e)<<12|(63&s)<<6|63&o,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===u&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&e)<<18|(63&s)<<12|(63&o)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,u=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=u}return i}(this.buf,e,t)}readBytes(){const t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e}readPackedVarint(t=[],e){const n=this.readPackedEnd();for(;this.pos127;);else if(2===e)this.pos=this.readVarint()+this.pos;else if(5===e)this.pos+=4;else{if(1!==e)throw new Error(`Unimplemented type: ${e}`);this.pos+=8}}writeTag(t,e){this.writeVarint(t<<3|e)}realloc(t){let e=this.length||16;for(;e268435455||t<0?function(t,e){let n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,n){n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos]=127&t}(n,0,e),function(t,e){const n=(7&t)<<4;e.buf[e.pos++]|=n|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(i,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))}writeSVarint(t){this.writeVarint(t<0?2*-t-1:2*t)}writeBoolean(t){this.writeVarint(+t)}writeString(t){t=String(t),this.realloc(4*t.length),this.pos++;const e=this.pos;this.pos=function(t,e,n){for(let i,r,s=0;s55295&&i<57344){if(!r){i>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):r=i;continue}if(i<56320){t[n++]=239,t[n++]=191,t[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(t[n++]=239,t[n++]=191,t[n++]=189,r=null);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:(i<65536?t[n++]=i>>12|224:(t[n++]=i>>18|240,t[n++]=i>>12&63|128),t[n++]=i>>6&63|128),t[n++]=63&i|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&NN(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n}writeFloat(t){this.realloc(4),this.dataView.setFloat32(this.pos,t,!0),this.pos+=4}writeDouble(t){this.realloc(8),this.dataView.setFloat64(this.pos,t,!0),this.pos+=8}writeBytes(t){const e=t.length;this.writeVarint(e),this.realloc(e);for(let n=0;n=128&&NN(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,jN,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,UN,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,GN,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,BN,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,qN,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,$N,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,VN,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,WN,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,HN,e)}writeBytesField(t,e){this.writeTag(t,2),this.writeBytes(e)}writeFixed32Field(t,e){this.writeTag(t,5),this.writeFixed32(e)}writeSFixed32Field(t,e){this.writeTag(t,5),this.writeSFixed32(e)}writeFixed64Field(t,e){this.writeTag(t,1),this.writeFixed64(e)}writeSFixed64Field(t,e){this.writeTag(t,1),this.writeSFixed64(e)}writeVarintField(t,e){this.writeTag(t,0),this.writeVarint(e)}writeSVarintField(t,e){this.writeTag(t,0),this.writeSVarint(e)}writeStringField(t,e){this.writeTag(t,2),this.writeString(e)}writeFloatField(t,e){this.writeTag(t,5),this.writeFloat(e)}writeDoubleField(t,e){this.writeTag(t,1),this.writeDouble(e)}writeBooleanField(t,e){this.writeVarintField(t,+e)}}function DN(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function NN(t,e,n){const i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(i);for(let r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function jN(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>c&&(i.push(u),c=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>c&&(n.push(n[c],n[c+1]),u+=2)}}u>c&&(i.push(u),c=u)}createFeature_(t,e,n){const i=e.type;if(0===i)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const u=function(t,e){let n;return 1===t?n=1===e?"Point":"MultiPoint":2===t?n=1===e?"LineString":"MultiLineString":3===t&&(n="Polygon"),n}(i,l.length);if(this.featureClass===PA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=mT(a,l);t=e.length>1?new TA(a,"XY",e):new yT(a,"XY",l)}else t="Point"===u?new tT(a,"XY"):"LineString"===u?new EA(a,"XY"):"MultiPoint"===u?new kA(a,"XY"):"MultiLineString"===u?new CA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=EN(t,!1,n);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,i=QC((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new zN(t),s=r.readFields(XN,{}),o=[];for(const a in s){if(n&&!n.includes(a))continue;const t=s[a],l=t?[0,0,t.extent,t.extent]:null;i.setExtent(l);for(let n=0,i=t.length;n>3)?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;e.values.push(i)}}function ZN(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos=o.width)return null;const u=UE(s),c=Math.floor(o.height*((s[3]-i[1])/u));return c<0||c>=o.height?null:this.getImageData(o,l,c)}renderFrame(t,e){const n=this.image,i=n.getExtent(),r=n.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],u=t.pixelRatio,c=t.viewState,h=c.center,d=c.resolution,p=u*s/(d*a),f=u*o/(d*a);this.prepareContainer(t,e);const g=this.context.canvas.width,m=this.context.canvas.height,y=this.getRenderContext(t);let _=!1,v=!0;if(l.extent){const e=pk(l.extent,c.projection);v=VE(e,t.extent),_=v&&!bE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=Sk(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-h[0])/s,a*(h[1]-i[3])/o);this.renderedResolution=o*u/a;const x=b.width*w[0],S=b.height*w[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),v&&x>=.5&&S>=.5){const t=w[4],e=w[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(b,0,0,+b.width,+b.height,t,e,x,S),1!==n&&y.restore()}return this.postRender(this.context,t),_&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class tj extends VR{constructor(t){super(t=t||{})}}class ej extends tj{constructor(t){super(t)}createRenderer(){return new QN(this)}getData(t){return super.getData(t)}}function nj(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const ij=new Error("disposed"),rj=[256,256];class sj extends SD{constructor(t){super(t.tileCoord,0,{transition:t.transition,interpolate:t.interpolate}),this.loader_=t.loader,this.data_=null,this.error_=null,this.size_=t.size||null,this.controller_=t.controller||null}getSize(){if(this.size_)return this.size_;const t=nj(this.data_);return t?[t.width,t.height]:rj}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const t=this;this.loader_().then(function(e){t.data_=e,t.state=2,t.changed()}).catch(function(e){t.error_=e,t.state=3,t.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(ij),this.controller_=null),super.disposeInternal()}}let oj;const aj=[];function lj(t,e,n,i,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(i,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,i)+1,Math.max(n,r)),t.restore()}function uj(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function cj(t,e,n,i){const r=uk(n,e,t);let s=tk(e,i,n);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||vE(l,r)){const e=tk(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function hj(t,e,n,i,r,s,o,a,l,u,c,h,d){const p=zT(Math.round(n*t),Math.round(n*e),aj);if(h||(p.imageSmoothingEnabled=!1),0===l.length)return p.canvas;function f(t){return Math.round(t*n)/n}p.scale(n,n),p.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(t){RE(g,t.extent)});const y=n/i,_=(h?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=zT(Math.round($E(g)*y),Math.round(UE(g)*y),aj),h||(m.imageSmoothingEnabled=!1),l.forEach(function(t){if(t.image.width>0&&t.image.height>0){if(t.clipExtent){m.save();const e=(t.clipExtent[0]-g[0])*y,n=-(t.clipExtent[3]-g[3])*y,i=$E(t.clipExtent)*y,r=UE(t.clipExtent)*y;m.rect(h?e:Math.round(e),h?n:Math.round(n),h?i:Math.round(e+i)-Math.round(e),h?r:Math.round(n+r)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,i=$E(t.extent)*y,r=UE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,h?e:Math.round(e),h?n:Math.round(n),h?i:Math.round(e+i)-Math.round(e),h?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=qE(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let i=e[0][0],r=e[0][1],o=e[1][0],a=e[1][1],u=e[2][0],c=e[2][1];const d=f((n[0][0]-v[0])/s),y=f(-(n[0][1]-v[1])/s),b=f((n[1][0]-v[0])/s),w=f(-(n[1][1]-v[1])/s),x=f((n[2][0]-v[0])/s),S=f(-(n[2][1]-v[1])/s),E=i,C=r;i=0,r=0,o-=E,a-=C,u-=E,c-=C;const k=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=o)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let o=i+1;o=0;i--){n[i]=t[i][e]/t[i][i];for(let r=i-1;r>=0;r--)t[r][e]-=t[r][i]*n[i]}return n}([[o,a,0,0,b-d],[u,c,0,0,x-d],[0,0,o,a,w-y],[0,0,u,c,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===oj){const t=zT(6,6,aj);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",lj(t,4,5,4,0),lj(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;oj=uj(e,0)||uj(e,4)||uj(e,8),jT(t),aj.push(t.canvas)}return oj}()||!h){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iwk(o,uk(t,this.targetProj_,this.sourceProj_)),function(t,e,n,i){const r=t.length;n=void 0!==n?n:2,i=i??n,e=void 0!==e?e:new Array(r);for(let s=0;s=o?t[s+n]:r[n]}return e}):lk(this.targetProj_,this.sourceProj_);var u;this.transformInv_=function(t){const e=t[0]+"/"+t[1];return a[e]||(a[e]=l(t)),a[e]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&$E(i)>=$E(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?$E(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?$E(this.targetProj_.getExtent()):null;const c=qE(n),h=GE(n),d=FE(n),p=LE(n),f=this.transformInv_(c),g=this.transformInv_(h),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(AE(n)/(s*s*256*256)))):0);if(this.addQuad_(c,h,d,p,f,g,m,y,_),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const n=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];n[0][0]-t>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-t>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-t>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i.5&&c<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=$E(gE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&c&&(p=c>.25||p)),!p&&this.maxSourceExtent_&&isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(u[3])&&!VE(u,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const e=[(t[0]+n[0])/2,(t[1]+n[1])/2],i=this.transformInv_(e);let s;s=d?(aE(r[0],h)+aE(o[0],h))/2-aE(i[0],h):(r[0]+o[0])/2-i[0];const a=(r[1]+o[1])/2-i[1];p=s*s+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])){const u=[(e[0]+n[0])/2,(e[1]+n[1])/2],c=this.transformInv_(u),h=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(h);this.addQuad_(t,e,u,h,r,s,c,d,l-1),this.addQuad_(h,u,n,i,d,c,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],c=this.transformInv_(u),h=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(h);this.addQuad_(t,u,h,i,r,c,d,a,l-1),this.addQuad_(u,e,n,h,c,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,i,r,o,a),14&f||this.addTriangle_(t,n,e,r,o,s),f&&(13&f||this.addTriangle_(e,i,t,s,a,r),7&f||this.addTriangle_(e,i,n,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(e){const n=e.source;PE(t,n[0]),PE(t,n[1]),PE(t,n[2])}),t}getTriangles(){return this.triangles_}}class pj extends SD{constructor(t,e,n,i,r,s,o,a,l,u,c,h){super(r,0,h),this.renderEdges_=void 0!==c&&c,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=i,this.wrappedTileCoord_=s||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?BE(d,p):d;if(0===AE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?BE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=zE(n);let s=cj(t,e,r,i);return(!isFinite(s)||s<=0)&&OE(n,function(n){return s=cj(t,e,n,i),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(_)||_<=0)return void(this.state=4);const v=void 0!==u?u:.5;if(this.triangulation_=new dj(t,n,g,f,_*v,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(_);let b=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(b[1]=nE(b[1],f[1],f[3]),b[3]=nE(b[3],f[1],f[3])):b=BE(b,f)),AE(b)){let n=0,i=0;t.canWrapX()&&(n=$E(m),i=Math.floor((b[0]-m[0])/n)),XE(b.slice(),t,!0).forEach(t=>{const r=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,o);if(r){const t=i*n;this.sourceTiles_.push({tile:r,offset:t})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const n=e.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=e.offset,i[2]+=e.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=e.offset,r[2]+=e.offset),t.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=hj(i,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const n=e.getState();if(0==n||1==n){t++;const n=vS(e,Yx,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(wS(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){0==t.getState()&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(wS),this.sourcesListenerKeys_=null}release(){this.canvas_&&(jT(this.canvas_.getContext("2d")),aj.push(this.canvas_),this.canvas_=null),super.release()}}class fj{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const t=this.pop();t instanceof iS&&t.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const n=this.entries_[t];return ZS(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(t){const e=this.entries_[t];return ZS(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){ZS(!(t in this.entries_),"Tried to set a value for a key that is used already");const n={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[t]=n,++this.count_}setSize(t){this.highWaterMark=t}}function gj(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function mj(t,e,n,i,r){return`${CS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function yj(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const i=t[n],r=i.has(e);return r||i.add(e),!r}function _j(t,e,n){const i=t[n];return!!i&&i.delete(e)}function vj(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=BE(e,pk(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=BE(e,n))}return e}class bj extends hA{constructor(t,e){super(t),e=e||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new CD(0,0,0,0),this.tempTileCoord_=gj(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new fj(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new fj(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=mj(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,u=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!u||sk(u,l)?void 0:this.getSourceTileCache()),!a)return null;r.set(o,a)}return a}getTile(t,e,n,i){return this.getOrCreateTile(t,e,n,i)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),i=wk(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!vE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let u=a.getZForResolution(s.resolution);u>=a.getMinZoom();--u){const t=a.getTileCoordForCoordAndZ(i,u),n=this.getTile(u,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(u),c=OP(a.getTileSize(u)),h=a.getResolution(u);let d;if(n instanceof ED||n instanceof pj)d=n.getImage();else{if(!(n instanceof sj))continue;if(d=nj(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/h-t[1]*c[0])),f=Math.floor(l*((r[1]-i[1])/h-t[2]*c[1])),g=Math.round(l*o.getGutterForProjection(s.projection));return this.getImageData(d,p+g,f+g)}return null}prepareFrame(t){this.renderedProjection?t.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=t.viewState.projection):this.renderedProjection=t.viewState.projection;const e=this.getLayer().getSource();if(!e)return!1;const n=e.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===e.getKey()&&(this.tileCache_.clear(),this.sourceTileCache_?.clear())):this.renderedSourceRevision_=n,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(t,e,n,i,r){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),u=CS(a);u in t.wantedTiles||(t.wantedTiles[u]={});const c=t.wantedTiles[u],h=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),h?h.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?jE(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),r=l.getResolution(g);for(let e=n.minX;e<=n.maxX;++e)for(let s=n.minY;s<=n.maxY;++s){if(p&&!l.tileCoordIntersectsViewport([g,e,s],f))continue;const n=this.getTile(g,e,s,t);if(!n)continue;if(!yj(i,n,g))continue;const o=n.getKey();if(c[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=gj(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,u,l.getTileCoordCenter(i),r])}}}}findStaleTile_(t,e){const n=this.tileCache_,i=t[0],r=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a0&&setTimeout(()=>{this.enqueueTiles(t,E,h-1,x,S-1)},0),!(h in x))return this.container;const C=CS(this),k=t.time;for(const A of x[h]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(C,k)){A.endTransition(C);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){_j(x,A,h),t.animate=!0;continue}if(this.findAltTiles_(c,n,h+1,x))continue;const i=c.getMinZoom();for(let t=h-1;t>=i&&!this.findAltTiles_(c,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);Sk(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),u.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let I;P.sort(rS);const M=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=c.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=c.getTileCoordForCoordAndZ(qE(w),e),h=c.getTileCoordExtent(l),p=wk(this.tempTransform,[g*(h[0]-w[0])/d,g*(w[3]-h[3])/d]),f=g*u.getGutterForProjection(r);for(const r of x[e]){if(2!==r.getState())continue;const n=r.tileCoord,i=l[1]-n[1],a=Math.round(p[0]-(i-1)*s),c=l[2]-n[2],h=Math.round(p[1]-(c-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-c*o),m=a-d,y=h-g,_=1===P.length;let v=!1;I=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=M.length;t{const n=CS(u),i=e.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache(),this.sourceTileCache_?.expireCache()};t.postRenderFunctions.push(e)}return this.container}updateCacheSize(t){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*t)}drawTile(t,e,n,i,r,s,o,a){let l;if(t instanceof sj){if(l=nj(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const u=this.getRenderContext(e),c=CS(this),h=e.layerStatesArray[e.layerIndex],d=h.opacity*(a?t.getAlpha(c,e.time):1),p=d!==u.globalAlpha;p&&(u.save(),u.globalAlpha=d),u.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&u.restore(),d!==h.opacity?e.animate=!0:a&&t.endTransition(c)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const i=CS(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const wj="preload",xj="useInterimTilesOnError";class Sj extends VR{constructor(t){t=t||{};const e=Object.assign({},t),n=t.cacheSize;delete t.cacheSize,delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(wj)}setPreload(t){this.set(wj,t)}getUseInterimTilesOnError(){return this.get(xj)}setUseInterimTilesOnError(t){this.set(xj,t)}getData(t){return super.getData(t)}}class Ej extends Sj{constructor(t){super(t)}createRenderer(){return new bj(this,{cacheSize:this.getCacheSize()})}}const Cj={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},kj={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class Tj extends bj{constructor(t,e){super(t,e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}enqueueTilesForNextExtent(){return"vector"!==this.getLayer().getRenderMode()}drawTile(t,e,n,i,r,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,i,r,s,o,a)}getTile(t,e,n,i){const r=this.getOrCreateTile(t,e,n,i);if(!r)return null;const s=i.viewState,o=s.resolution,a=i.viewHints,l=this.getLayer().getSource(),u=l.getTileGridForProjection(s.projection),c=!(a[0]||a[1]),h=u.getZForResolution(o,l.zDirection)===t;return c&&h?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=u.getResolution(t)),r}prepareFrame(t){const e=this.getLayer().getRevision();return this.renderedLayerRevision_!==e&&(this.renderedLayerRevision_=e,this.renderedTiles.length=0),super.prepareFrame(t)}updateExecutorGroup_(t,e,n){const i=this.getLayer(),r=i.getRevision(),s=i.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(i);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==r&&a.renderedRenderOrder==s)return;const l=i.getSource(),u=!!i.getDeclutter(),c=l.getTileGrid(),h=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=CS(i);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;ft.value):null;let m;t:for(let y=0,_=d.length;y<_;++y){const e=d[y];if(!VE(l.getTileCoordExtent(e.wrappedTileCoord),u))continue;const i=e.executorGroups[p];for(let r=0,a=i.length;r{const n=this.getLayer(),i=n.getSource(),r=this.renderedProjection,s=r.getExtent(),o=this.renderedResolution,a=i.getTileGridForProjection(r),l=wk(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),c=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!c||c.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!bE(s,a.getTileCoordExtent(c.tileCoord))&&JE(l,r);const h=CS(n),d=qE(a.getTileCoordExtent(c.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=c.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=c.hitDetectionImageData[h];if(!g){const t=OP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=tA(t,[this.getRenderTransform(a.getTileCoordCenter(c.wrappedTileCoord),o,0,QO,t[0]*QO,t[1]*QO,0)],f,n.getStyleFunction(),a.getTileCoordExtent(c.wrappedTileCoord),c.getReplayState(n).renderedResolution,e),c.hitDetectionImageData[h]=g}e(eA(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const o=n.getSourceTiles();for(let r=0,a=o.length;r=0;--i)n[i].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,KO,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=CS(this.getLayer()),i=e.reduce((t,e,i)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:i})),t),[]),r=i.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=i.length;o{r.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:r}=i[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(s),t.draw(s),a&&s.restore(),s.globalAlpha=o,t.clear()}),e[t].length=0)})})}getTileRenderTransform(t,e){const n=e.pixelRatio,i=e.viewState,r=i.center,s=i.resolution,o=i.rotation,a=e.size,l=Math.round(a[0]*n),u=Math.round(a[1]*n),c=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),h=t.tileCoord,d=c.getTileCoordExtent(t.wrappedTileCoord),p=c.getTileCoordExtent(h,this.tempExtent)[0]-d[0];return vk(xk(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,u,p))}postRender(t,e){const n=e.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?kj[s].filter(t=>!KO.includes(t)):kj[s],u=e.viewState,c=u.rotation,h=r.getSource(),d=h.getTileGridForProjection(u.projection).getZForResolution(u.resolution,h.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=CS(r);let _=!0;for(let v=p.length-1;v>=0;--v){const n=p[v];_=_&&!n.getReplayState(r).dirty;const s=n.executorGroups[y].filter(t=>t.hasExecutors(l));if(0===s.length)continue;const o=this.getTileRenderTransform(n,e),u=n.tileCoord[0];let h=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new FO,x=w.getContext();for(let t=0,e=f.length;t{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){wS(this.sourceListenerKey_),this.sourceListenerKey_=null}}class Mj extends yS{constructor(t,e){super(t),this.image=e}}class Oj extends MA{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();return e&&(t=e[oS(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||sk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&sk(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&TE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new Ij(r,i,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,i){if(this.loader){const r=function(t,e,n){const i=e/n,r=zE(t),s=hE($E(t)/i,4),o=hE(UE(t)/i,4);return NE(r,i,0,[s+2*hE(0*s/2,4),o+2*hE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&bE(this.wantedExtent_,r)||bE(this.image.getExtent(),r))&&(this.wantedResolution_&&Pj(this.wantedResolution_)===s||Pj(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new iM(r,s,n,this.loader),this.image.addEventListener(Yx,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let n;switch(e.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new Mj(n,e))}}const Aj=[0,0,0];class Lj{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,ZS(function(t){const e=((t,e)=>e-t)||rS;return t.every(function(n,i){if(0===i)return!0;const r=e(t[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let i=0,r=this.resolutions_.length-1;i{const i=new CD(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));if(n){const t=this.getTileRangeForExtentAndZ(n,e);i.minX=Math.max(t.minX,i.minX),i.maxX=Math.min(t.maxX,i.maxX),i.minY=Math.max(t.minY,i.minY),i.maxY=Math.min(t.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const i=this.getTileRangeForExtentAndZ(t,e);for(let r=i.minX,s=i.maxX;r<=s;++r)for(let t=i.minY,o=i.maxY;t<=o;++t)n([e,r,t])}forEachTileCoordParentTileRange(t,e,n,i){let r,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),r=kD(s,s,o,o,n)):r=this.getTileRangeForExtentAndZ(a,l,n),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,n){if(t[0]this.maxZoom||e0?i:Math.max(s/n[0],r/n[1]);const o=e+1,a=new Array(o);for(let l=0;ln||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(i,r)}(t,i)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class Uj extends yS{constructor(t,e){super(t),this.tile=e}}function Bj(t){return function(e){const n=e.buffers,i=e.meta,r=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(r){const e=new Array(a);for(let t=0;tthis.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const t=this.queue_.shift();this.job_=t;const e=t.inputs[0].width,n=t.inputs[0].height,i=t.inputs.map(function(t){return t.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},i);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let a=0;athis.getTileInternal(t,e,n,i,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,i,r,s){const o=this.getKey(),a=mj(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,i,r,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=QC(t);if(n){const t=CS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function iU(t,e){if(NS){const n=t.getCrossOrigin();let i="same-origin",r="same-origin";return"anonymous"===n||""===n?(i="cors",r="omit"):"use-credentials"===n&&(i="cors",r="include"),void fetch(e,{mode:i,credentials:r}).then(t=>{if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.blob()}).then(t=>createImageBitmap(t)).then(e=>{const n=t.getImage();n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),e.close?.(),n.dispatchEvent(new Event("load"))}).catch(()=>{t.getImage().dispatchEvent(new Event("error"))})}t.getImage().src=e}class rU extends nU{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:QC("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)!function(t,e,n){const i=document.createElement("script"),r="olc_"+CS(e);function s(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=t+(t.includes("?")?"&":"?")+"callback="+r;const o=setTimeout(function(){s(),n&&n()},1e4);window[r]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(i)}(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=QC("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=ok(e,n);i=HE(t.bounds,r)}const r=Nj(n),s=t.minzoom||0,o=zj({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=tU(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return VE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class sU extends eU{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||Nj(e),i=t.tileGrid||zj({extent:n,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,projection:e,state:t.state,tileGrid:i,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:oU,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:PD,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(e);let s=r.getTileCoordExtent(i);const o=i[0],a=r.getResolution(o);mE(s,-a,s);const l=this.projection;e&&this.projection&&!sk(e,l)&&(s=ck(s,e,l));const u=this.tileGrid,c=u.getExtent();c&&BE(s,c,s);let h=a;e&&l&&!sk(e,l)&&(h=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(h,this.zDirection);u.forEachTileCoord(s,d,i=>{const r=this.tileUrlFunction(i,t,e);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[r];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const i=s.getState();if(2===i||3===i){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===i?n.errorTileKeys[e]=!0:s.removeEventListener(Yx,t),0===n.loadingSourceTiles&&n.setState(mS(n.errorTileKeys)?2:3)}};s.addEventListener(Yx,t),n.loadingSourceTiles++}0===o&&(s.extent=u.getTileCoordExtent(i),s.projection=this.projection,s.resolution=u.getResolution(i[0]),s.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(t=>3===t.getState())?3:2)}return n.sourceTiles}removeSourceTiles(t){const e=t.getKey(),n=t.sourceTiles;for(let i=0,r=n.length;i{c=c&&!this.tileUrlFunction(t,i,l)})}const h=new RD(s,c?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return h.key=this.getKey(),h}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!sk(i,t))return Fj(t);const r=this.tileGrid,s=r.getResolutions().slice(),o=s.map(function(t,e){return r.getOrigin(e)}),a=s.map(function(t,e){return r.getTileSize(e)}),l=43;for(let t=s.length;td?h-A+d:d-A,O=Math.atan(Math.sqrt(I*I+M*M)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),L=Math.cos(O),F=255*q,j=Math.min(Math.max(2*e.sunEl,0),1),U=1.875-1.75*e.opacity,B=.5!==e.opacity?d*((Math.pow(U,O)-1)/(Math.pow(U,d)-1)):O,D={r:(1-L)*v.r*j*255,g:(1-L)*v.g*j*255,b:(1-L)*v.b*j*255,a:(1-L)*v.a*j*255},z=Math.abs(((A+f)/Math.PI+.5)%2-1),N={r:(y.r*(1-z)+_.r*z)*F,g:(y.g*(1-z)+_.g*z)*F,b:(y.b*(1-z)+_.b*z)*F,a:(y.a*(1-z)+_.a*z)*F},T=4*(x*i+w),o[T]=D.r*(1-z)+N.r,o[T+1]=D.g*(1-z)+N.g,o[T+2]=D.b*(1-z)+N.b,o[T+3]=s[T+3]*e.opacity*j*Math.sin(B);return new ImageData(o,i,r)}function lU(t,e){const n=t[0],i=n.width,r=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=i-1,l=r-1,u=[0,0,0,0];let c,h,d;const p=(f=e.saturation)>0?1-1/(1.001-f):-f;var f;const g=(m=e.contrast)>0?1/(1-m):1+m;var m;const y=function(t){t*=Math.PI/180;const e=Math.sin(t),n=Math.cos(t);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}(e.hueRotate),_=y,v=[y[2],y[0],y[1]],b=[y[1],y[2],y[0]],w=e.brightnessLow,x=e.brightnessHigh;for(h=0;h<=l;++h)for(c=0;c<=a;++c){d=4*(h*i+c),u[0]=s[d],u[1]=s[d+1],u[2]=s[d+2],u[3]=s[d+3];const t=u[0],e=u[1],n=u[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function hU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function dU(t,e,n){const i=new rU({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=QC(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=ik([n[0],n[1]],e),i=ik([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return QC(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,c=r.maxzoom||22,h={attributions:i.getAttributions(),projection:o,tileGrid:new Lj({origin:l?qE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:uU(o,e.tileSize).slice(0,c+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?h.urls=r.tiles:h.url=r.tiles,h}function pU(t,e,n){return new Promise(function(i,r){ZD(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=dU(t,e,n);s.tileLoadFunction=r,s.format=new KN({layerName:"mvt:layer"});const o=new sU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function fU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function gU(t,e,n){const i=new Ej;return function(t,e,n){return new Promise(function(i,r){ZD(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new rU({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=dU(t,e,n).tileGrid,n.projection&&(s.projection=QC(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=fU(n);let r=o(t,e,n);if(-1!=r.indexOf(i)){const e=s.getTileGrid().getTileCoordExtent(t);r=r.replace(i,e.toString())}return r}),s.set("mapbox-source",t),i(s)}).catch(function(t){r(t)})})}(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}function mU(t,e,n){const i=n.projection?new IN({dataProjection:n.projection}):new IN,r=t.data,s={};if("string"==typeof r){const[s]=FD(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=fU(n);return s.replace(i,`${t.join(",")}`)},r=new zA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{KD("GeoJSON","function"==typeof e?e(t,i,s):e,n).then(t=>{const e=r.getFormat().readFeatures(t,{featureProjection:s});r.addFeatures(e),o(e)}).catch(()=>{r.removeLoadedExtent(t),a()})},strategy:yA});return r.set("mapbox-source",t),r}const o=new zA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{KD("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:i});o.addFeatures(e),r(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=i.readFeatures(r,{featureProjection:"EPSG:3857"});const o=new zA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function yU(t,e,n,i){const r=BD(t),s=t.layers,o=n.type,a=n.source||hU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=NS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new VR({source:new MA({}),render(r){const s=function(t,e,n,i){const r={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;r.paint=o,dN.zoom=VD(e,n.resolutions||GD),dN.distanceFromCenter=0;const l=gN(r,"paint","background-color",zD,i);return void 0!==o["background-opacity"]&&(a=gN(r,"paint","background-opacity",zD,i)),"none"==s.visibility?void 0:_N(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)u=function(t,e,n){const i=new Rj({declutter:!0,visible:!1});return pU(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}(l,e,i);else if("raster"==l.type){const t=["raster-saturation","raster-contrast","raster-brightness-max","raster-brightness-min","raster-hue-rotate"];Object.keys(n.paint||{}).find(e=>t.includes(e))?(u=function(t,e,n){const i=gU(t,e,n);return new ej({source:new Vj({operationType:"image",operation:lU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){dN.zoom=VD(t.resolution,i.resolutions||GD),dN.distanceFromCenter=0;const e=t.data;e.saturation=gN(n,"paint","raster-saturation",zD,r),e.contrast=gN(n,"paint","raster-contrast",zD,r),e.brightnessHigh=gN(n,"paint","raster-brightness-max",zD,r),e.brightnessLow=gN(n,"paint","raster-brightness-min",zD,r),e.hueRotate=gN(n,"paint","raster-hue-rotate",zD,r)})):u=gU(l,e,i),u.setVisible(!n.layout||"none"!==n.layout.visibility),u.on("prerender",function(t,e,n){let i=null;return function(r){t.paint&&"raster-opacity"in t.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[t.id],function(t,e,n,i){dN.zoom=n,dN.distanceFromCenter=0;const r=gN(t,"paint","raster-opacity",zD,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new pA({declutter:!0,source:mU(t,e,n),visible:!1})}(l,e,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const i=gU(t,e,n);return new ej({source:new Vj({operationType:"image",operation:aU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=tk(i.projection||"EPSG:3857",t.resolution,zE(t.extent),"m"),dN.zoom=VD(t.resolution,i.resolutions||GD),dN.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*gN(n,"paint","hillshade-exaggeration",zD,r),e.sunAz=gN(n,"paint","hillshade-illumination-direction",zD,r),e.sunEl=35,e.opacity=.3,e.highlightColor=gN(n,"paint","hillshade-highlight-color",zD,r),e.shadowColor=gN(n,"paint","hillshade-shadow-color",zD,r),e.accentColor=gN(n,"paint","hillshade-accent-color",zD,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const c=a;return u&&u.set("mapbox-source",c),u}function _U(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,c=l.length;u0||n>0)&&t.setMaxResolution(Math.min(WD(Math.max(0,o-1e-12),GD),WD(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(WD(a,GD))}}else o>0&&t.setMaxResolution(WD(Math.max(0,o-1e-12),GD));c instanceof zA||c instanceof sU?function(t,e,n="",i={},r){let s,o,a,l,u=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(s=i,a={}):(s=i.styleUrl,a=i),!1===a.updateSource&&(u=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:AD(s,a.accessToken),a=cU(s,a)),new Promise(function(n,i){XD(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof pA||t instanceof Rj))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const c=t instanceof Rj?"vector":"geojson";if(l?o=Array.isArray(l)?e.layers.find(function(t){return t.id===l[0]}).source:l:(o=e.layers.find(function(t){return t.source&&e.sources[t.source].type===c}).source,l=o),!o)return i(new Error(`No ${c} source found in the glStyle.`));function h(){if(!u)return Promise.resolve();if(t instanceof Rj)return pU(e.sources[o],s,a).then(function(e){const n=t.getSource();n?e!==n&&(n.setTileUrlFunction(e.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof e.getUrls&&n.setUrls(e.getUrls()),n.format_||(n.format_=e.format_),n.getAttributions()||n.setAttributions(e.getAttributions()),n.getTileLoadFunction()===oU&&n.setTileLoadFunction(e.getTileLoadFunction()),sk(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const i=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&i.getMinZoom()>0&&t.setMaxResolution(WD(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=e.sources[o];let i=t.getSource();i&&i.get("mapbox-source")===n||(i=mU(n,s,a));const r=t.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):t.setSource(i),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),h().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=QC(a.projection).getUnits();"m"!==t&&(r=GD.map(e=>e/sC[t]))}let s;const u=t.getSource();u instanceof sU&&u.format_ instanceof KN&&(s=u.format_.layerName_),p=function(t,e,n,i=GD,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");xN[function(t,e){return UD(t)+"."+CS(e)}(e,t)]=Array.from(arguments);const l={};("string"==typeof s||s instanceof Request||s instanceof Response||s instanceof Promise)&&(s={default:s});for(const w in s){const e=s[w];fS(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const i=new Image;if("string"==typeof e)i.crossOrigin="anonymous",i.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const r=await t.blob();n=URL.createObjectURL(r),i.src=n}i.addEventListener("load",function e(){i.removeEventListener("load",e),l[w]={image:i,size:[i.width,i.height]},t.changed(),n&&URL.revokeObjectURL(n)}),i.addEventListener("error",function t(){URL.revokeObjectURL(n),i.removeEventListener("error",t)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const t=self;t.postMessage({action:"loadImage",src:e}),t.addEventListener("message",function(t){"imageLoaded"===t.data.action&&t.data.src===e&&(l[w]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const u=jA(e.layers),c={},h=[],d={},p={},f=BD(e),g=function(t){let e=ND[t.id];return e||(e={},ND[UD(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=h.maxzoom)continue;const k=h.filter;if(!k||yN(x,k,T,g)){let i,u,g,b,w,x;const k=c.index;if(3==S&&("fill"==h.type||"fill-extrusion"==h.type))if(u=gN(h,"paint",h.type+"-opacity",T,f,R),h.type+"-pattern"in C){const t=gN(h,"paint",h.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?bN(t,m):t.toString(),n=wN(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new DM({fill:new AM}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=$D(s.width,s.height),a=o.getContext("2d");a.globalAlpha=u,a.drawImage(n.image,s.x,s.y,s.width,s.height,0,0,s.width,s.height),i=a.createPattern(o,"repeat"),p[t]=i}g.setColor(i)}}}else i=_N(gN(h,"paint",h.type+"-color",T,f,R),u),h.type+"-outline-color"in C&&(w=_N(gN(h,"paint",h.type+"-outline-color",T,f,R),u)),w||(w=i),(i||w)&&(++P,x=v[P],(!x||i&&!x.getFill()||!i&&x.getFill()||w&&!x.getStroke()||!w&&x.getStroke()||x.getText())&&(x=new DM({fill:i?new AM:void 0,stroke:w?new zM:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(k));if(1!=S&&"line"==h.type){i="line-pattern"in C?void 0:_N(gN(h,"paint","line-color",T,f,R),gN(h,"paint","line-opacity",T,f,R));const t=gN(h,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new DM({stroke:new zM}),v[P]=x),b=x.getStroke(),b.setLineCap(gN(h,"layout","line-cap",T,f,R)),b.setLineJoin(gN(h,"layout","line-join",T,f,R)),b.setMiterLimit(gN(h,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?gN(h,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let I,M,O,A,L,F,z,D,N,j=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=gN(h,"layout","icon-image",T,f,R);if(e){let i;I="string"==typeof e?bN(e,m):e.toString();const o=a?a(t,I):void 0,u=wN(I,l);if(r&&r[I]&&u||o){const t=gN(h,"layout","icon-rotation-alignment",T,f,R);if(2==S){const e=n.getGeometry();if(e.getFlatMidpoint||e.getFlatMidpoints){const n=e.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/s,2),Math.pow((n[3]-n[1])/s,2)))>150){const n="MultiLineString"===e.getType()?e.getFlatMidpoints():e.getFlatMidpoint();if(fN||(pN=[NaN,NaN],fN=new PA("Point",pN,[],2,{},void 0)),i=fN,pN[0]=n[0],pN[1]=n[1],"line"===gN(h,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),i=e.getFlatCoordinates();for(let e=0,r=i.length-t;e=l){B=Math.atan2(s-a,o-r);break}}}}}}if(2!==S||i){const e=gN(h,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?gN(h,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=gN(h,"paint","icon-halo-color",T,f,R),s=gN(h,"paint","icon-halo-width",T,f,R);let a=`${I}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),M=d[a],!M){const l=mN(h,T,"icon",f);let c;"icon-offset"in E&&(c=gN(h,"layout","icon-offset",T,f,R).slice(0),c[0]*=e,c[1]*=-e);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(o){const n={color:p,rotateWithView:"map"===t,displacement:c,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),M=new FM(n)}else{const o=r[I];let a,h,d;if(s)o.sdf?(a=JD(tN(u.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,i),p=void 0):a=JD(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=tN(u.image,{x:0,y:0,width:u.size[0],height:u.size[1]},{r:1,g:1,b:1});u.image=t,u.unSDFed=!0}a=u.image,h=[o.width,o.height],d=[o.x,o.y]}M=new FM({color:p,img:a,imgSize:u.size,size:h,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:c,declutterMode:l})}d[a]=M}}M&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new DM,v[P]=x),x.setGeometry(i),M.setRotation(B+qD(gN(h,"layout","icon-rotate",T,f,R))),M.setOpacity(gN(h,"paint","icon-opacity",T,f,R)),M.setAnchor(hN[gN(h,"layout","icon-anchor",T,f,R)]),x.setImage(M),U=x.getText(),x.setText(void 0),x.setZIndex(k),j=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===h.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new DM,v[P]=x);const t="circle-radius"in C?gN(h,"paint","circle-radius",T,f,R):5,e=_N(gN(h,"paint","circle-stroke-color",T,f,R),gN(h,"paint","circle-stroke-opacity",T,f,R)),n=gN(h,"paint","circle-translate",T,f,R),i=_N(gN(h,"paint","circle-color",T,f,R),gN(h,"paint","circle-opacity",T,f,R)),r=gN(h,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];M=d[s],M||(M=new OM({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new zM({width:r,color:e}):void 0,fill:i?new AM({color:i}):void 0,declutterMode:"none"}),d[s]=M),x.setImage(M),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),j=!0}if("text-field"in E){z=Math.round(gN(h,"layout","text-size",T,f,R));const t=gN(h,"layout","text-font",T,f,R);F=gN(h,"layout","text-line-height",T,f,R),L=wD(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,z,F),L.includes("sans-serif")||(L+=",sans-serif"),D=gN(h,"layout","text-letter-spacing",T,f,R),N=gN(h,"layout","text-max-width",T,f,R);const n=gN(h,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const i=n.fontStack?n.fontStack.split(","):t,r=wD(o?o(i):i,z*(n.scale||1),F);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(nN(s,D),r),e;s=aN(s,r,N,D).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):bN(n,m).trim(),u=gN(h,"paint","text-opacity",T,f,R)}if(A&&u&&!O){j||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new DM,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=mN(h,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new BM({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=gN(h,"layout","text-transform",T,f,R);"uppercase"==e?A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toUpperCase()):A.toUpperCase():"lowercase"==e&&(A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toLowerCase()):A.toLowerCase());const n=Array.isArray(A)?A:2==S?nN(A,D):aN(A,L,N,D);if(U.setText(n),U.setFont(L),U.setRotation(qD(gN(h,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=gN(h,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=gN(h,"layout","text-anchor",T,f,R),r=j||1==S?"point":gN(h,"layout","symbol-placement",T,f,R);let s;if("line-center"===r?(U.setPlacement("line"),s="center"):U.setPlacement(r),"line"===r&&"function"==typeof U.setRepeat){const t=gN(h,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=gN(h,"paint","text-halo-width",T,f,R);const a=gN(h,"layout","text-offset",T,f,R),l=gN(h,"paint","text-translate",T,f,R);let c=0,d=0;if("point"==r){s="center",-1!==i.indexOf("left")?(s="left",d=o):-1!==i.indexOf("right")&&(s="right",d=-o);const t=gN(h,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(qD(gN(h,"layout","text-max-angle",T,f,R))*A.length/n.length),U.setRotateWithView(!1);U.setTextAlign(s);let p="middle";0==i.indexOf("bottom")?(p="bottom",c=-o-.5*(F-1)*z):0==i.indexOf("top")&&(p="top",c=o+.5*(F-1)*z),U.setTextBaseline(p);const g=gN(h,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*z+d+l[0]),U.setOffsetY(a[1]*z+c+l[1]),_.setColor(_N(gN(h,"paint","text-color",T,f,R),u)),U.setFill(_);const m=_N(gN(h,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*z;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=gN(h,"layout","text-padding",T,f,R),w=U.getPadding();b!==w[0]&&(w[0]=b,w[1]=b,w[2]=b,w[3]=b),x.setZIndex(k)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",h),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),b}(t,e,l,r,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(NS)return t;let n;for(let i=0,r=t.length;i{await document.fonts.ready;for(let t=0,i=n.length;tt.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",s).replace("{-fontstyle}",o.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",o);if(!document.querySelector('link[href="'+t+'"]')){const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)}}}})(),t):t}(t,e),a.getImage,s),t.getStyle()?h().then(n).catch(i):i(new Error(`Nothing to show for source [${o}]`))}}if(e.sprite){const t=function(t,e,n){if("string"==typeof t)return[{id:"default",url:OD(t,e,n)}];for(const i of t)i.url=OD(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=NS?1:window.devicePixelRatio>=1.5?.5:1;const n=.5==d?"@2x":"";Promise.all(t.map(function(t){const e=new URL(t.url);let r=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){KD("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,KD("Sprite",r,a).then(t).catch(n)})}).then(function(r){let s;if(void 0===r&&i(new Error("No sprites found.")),s=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const t=a.transformRequest(s,"SpriteImage")||s;(t instanceof Request||t instanceof Promise)&&(s=t)}g[t.id]=s;for(const e in r){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=r[e]}}).catch(function(t){i(new Error(`Sprites cannot be loaded: ${r}: ${t.message}`))})})).then(m).catch(i)}else m()}).catch(i)})}(t,n,e,Object.assign({styleUrl:i},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const i=jA(n.layers),r=t.get("mapbox-layers"),s=i.filter(function(t){return r.includes(t.id)}).some(function(t){return!t.layout||!t.layout.visibility||"visible"===t.layout.visibility});t.get("visible")!==s&&t.setVisible(s)}t.on("change",n),n()}(t,r),l()}).catch(u):l()}else u(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const h=r.getLayers();-1===h.getArray().indexOf(t)&&h.push(t),t.getSource()?c():t.once("change:source",c)})}class vU extends Dx{static{ux(this.prototype,"osm",[hf])}#A=void hx(this,"osm");static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage");mapInstance;bookmarkSource;setupMap=Wx(t=>{if(this.mapInstance)return;const e=new UR;this.bookmarkSource=new zA;const n=new pA({source:this.bookmarkSource,style:new DM({image:new OM({radius:7,fill:new AM({color:"#ffcc33"}),stroke:new zM({color:"#fff",width:2})})}),zIndex:10});this.mapInstance=new vO({target:t,layers:[e,n],controls:HT({zoom:!1}),view:new ET({center:ik([99.05738,7.55087]),zoom:13,projection:"EPSG:3857"})}),function(t,e,n={}){let i,r;if(NS){if(!(t instanceof vO||t instanceof UR))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");r=t}else r="string"==typeof t||t instanceof HTMLElement?new vO({target:t}):t;{const t=e.startsWith("data:")?location.href:AD(e,n.accessToken);n=cU(t,n),i=new Promise(function(i,s){XD(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof vO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?QC(i.projection):s.getProjection();s=new ET(Object.assign(s.getProperties(),{maxResolution:GD[0]/sC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(ik(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(GD[0]/sC[s.getProjection().getUnits()]/Math.pow(2,t.zoom)),s.getCenter()&&void 0!==s.getZoom()||s.fit(s.getProjection().getExtent(),{nearest:!0,size:e.getSize()})}e.set("mapbox-style",t),e.set("mapbox-metadata",{styleUrl:n,options:i});const o=t.layers;let a,l,u,c=[];for(let h=0,d=o.length;h{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e);this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.handleMapMove()}),this.storage.rs.scope("/places/").on("change",t=>{console.log("RemoteStorage change detected:",t),this.handleMapMove()})});updateBookmarks=Wx(()=>{this.storage.version>=0&&this.handleMapMove()});async loadBookmarks(t=[]){try{t&&0!==t.length||(t=this.storage.savedPlaces),this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new _A({geometry:new tT(ik([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(e){console.error("Failed to load bookmarks:",e)}}handleMapMove=async()=>{if(!this.mapInstance)return;const t=this.mapInstance.getSize(),e=this.mapInstance.getView().calculateExtent(t),[n,i]=rk([e[0],e[1]]),[r,s]=rk([e[2],e[3]]),o={minLat:i,minLon:n,maxLat:s,maxLon:r};await this.storage.loadPlacesInBounds(o),this.loadBookmarks(this.storage.savedPlaces)};handleMapClick=async t=>{const e=this.mapInstance.getFeaturesAtPixel(t.pixel);let n=null,i=null,r=null;if(e&&e.length>0){const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const s=e[0].getProperties();s.name&&(i=s.name,r=s.class||s.subclass)}if(this.args.isSidebarOpen)return n?(console.log("Clicked bookmark while sidebar open (switching):",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n))):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.log("Clicked bookmark:",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n));const s=rk(t.coordinate),[o,a]=s;try{const t=i?30:50;let e=await this.osm.getNearbyPois(a,o,t);e=e.map(t=>{const e=t.lat||t.center?.lat,n=t.lon||t.center?.lon;return{...t,_distance:e&&n?fx(a,o,e,n):9999}}).sort((t,e)=>t._distance-e._distance);let n=null;if(i&&e.length>0&&(n=e.find(t=>t.tags&&(t.tags.name===i||t.tags["name:en"]===i)),!n)){const t=e[0];if(t._distance<=20){const e=t.tags.amenity||t.tags.shop||t.tags.tourism;r&&e&&(r===e||e.includes(r))?(console.log("Heuristic match found (distance + type):",t),n=t):t._distance<=10&&(console.log("Heuristic match found (proximity):",t),n=t)}}this.args.onPlacesFound&&this.args.onPlacesFound(e,n)}catch(Gz){console.error("Failed to fetch POIs:",Gz)}};static{Di(Eg({id:"SKcemzjO",block:'[[[11,0],[24,5,"position: absolute; inset: 0;"],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[12],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}const bU=Ay;function wU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:Ch(t)?0!==t.length:!!t}class xU extends Yv{compute(t){for(let e=0,n=t.length;e[V_,xU,bU],isStrictMode:!0}),this)}}class EU extends Yv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{cx(this.prototype,"showPlaces",[cc])}selectFromList(t){if(t){const e=t.id||t.osmId;e&&this.router.transitionTo("place",e)}}static{cx(this.prototype,"selectFromList",[cc])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{cx(this.prototype,"closeSidebar",[cc])}refreshBookmarks(){this.storage.notifyChange()}static{cx(this.prototype,"refreshBookmarks",[cc])}static{Di(Eg({id:"blSKCVz1",block:'[[[1,[28,[32,0],["M/\\\\RCO"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onPlacesFound","@isSidebarOpen","@onOutsideClick"],[[30,0,["showPlaces"]],[30,0,["isSidebarOpen"]],[30,0,["closeSidebar"]]]],null],[1,"\\n\\n"],[41,[28,[32,2],[[28,[32,3],[[30,0,["router","currentRouteName"]],"index"],null],[30,0,["nearbyPlaces"]]],null],[[[1," "],[8,[32,4],null,[["@places","@onSelect","@onClose"],[[30,0,["nearbyPlaces"]],[30,0,["selectFromList"]],[30,0,["closeSidebar"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[qx,vU,EU,CU,SU],isStrictMode:!0}),this)}}const TU=Object.freeze(Object.defineProperty({__proto__:null,default:kU},Symbol.toStringTag,{value:"Module"}));class RU extends Zd{static{ux(this.prototype,"osm",[hf])}#A=void hx(this,"osm");static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage")}const PU=Object.freeze(Object.defineProperty({__proto__:null,default:RU},Symbol.toStringTag,{value:"Module"}));class IU extends Dx{static{ux(this.prototype,"router",[hf])}#F=void hx(this,"router");static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage");static{ux(this.prototype,"localPlace",[ys],function(){return null})}#D=void hx(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model;return!this.localPlace||this.localPlace.id!==t.id&&this.localPlace.osmId!==t.osmId||!this.localPlace.createdAt||t.createdAt?t:this.localPlace}handleUpdate(t){console.log("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{cx(this.prototype,"handleUpdate",[cc])}refreshMap(){this.storage.notifyChange()}static{cx(this.prototype,"refreshMap",[cc])}close(){this.router.transitionTo("index")}static{cx(this.prototype,"close",[cc])}static{Di(Eg({id:"UQo8iDu3",block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[SU],isStrictMode:!0}),this)}}const MU=Object.freeze(Object.defineProperty({__proto__:null,default:IU},Symbol.toStringTag,{value:"Module"}));class OU extends Zd{static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage");static{ux(this.prototype,"osm",[hf])}#A=void hx(this,"osm");async model(t){const e=t.place_id;let n=this.storage.findPlaceById(e);if(n)return console.log("Found in bookmarks:",n.title),n;console.log("Not in bookmarks, fetching from OSM:",e);try{const t=await this.osm.getPoiById(e);if(t)return{title:t.tags.name||t.tags["name:en"]||"Untitled Place",lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,tags:t.tags,url:t.tags.website,osmId:String(t.id),description:t.tags.description}}catch(i){console.error("Failed to fetch POI",i)}return null}}const AU=Object.freeze(Object.defineProperty({__proto__:null,default:OU},Symbol.toStringTag,{value:"Module"})),LU=Object.assign({},Mw,{"marco/app":t,"marco/config/environment":zw,"marco/deprecation-workflow":Nw,"marco/router":qw,"marco/services/osm":Gw,"marco/services/storage":px,"marco/utils/geo":gx,"marco/utils/geohash-coverage":ax,"marco/services/page-title":Rx,"marco/templates/application":TU,"marco/routes/application":PU,"marco/templates/place":MU,"marco/routes/place":AU},{});class FU{constructor(t,e,n){this.limit=t,this.func=e,this.store=n,this.size=0,this.misses=0,this.hits=0,this.store=n||new Map}get(t){let e=this.store.get(t);return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,e=this.set(t,this.func(t)),e)}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}}const zU=/[ _]/g,DU=new FU(1e3,t=>{return(e=t,WU.get(e)).replace(zU,"-");var e}),NU=/^(\-|_)+(.)?/,jU=/(.)(\-|\_|\.|\s)+(.)?/g,UU=/(^|\/|\.)([a-z])/g,BU=new FU(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),qU=/([a-z\d])([A-Z]+)/g,GU=/\-|\s+/g,$U=new FU(1e3,t=>t.replace(qU,"$1_$2").replace(GU,"_").toLowerCase()),VU=/([a-z\d])([A-Z])/g,WU=new FU(1e3,t=>t.replace(VU,"$1_$2").toLowerCase());class HU{constructor(t){this._entries=t||globalThis.requirejs.entries}moduleNames(){return Object.keys(this._entries)}has(t){return t in this._entries}get(...t){return globalThis.require(...t)}}class KU{static moduleBasedResolver=!0;moduleBasedResolver=!0;_deprecatedPodModulePrefix=!1;_normalizeCache=Object.create(null);static create(t){return new this(t)}moduleNameLookupPatterns=[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName,this.nestedColocationComponentModuleName];static withModules(t){return class extends(this){static explicitModules=t}}constructor(t){if(Object.assign(this,t),!this._moduleRegistry){let t=this.constructor.explicitModules;t?this._moduleRegistry={moduleNames:()=>Object.keys(t),has:e=>Boolean(t[e]),get:e=>t[e],addModules(e){t=Object.assign({},t,e)}}:(void 0===globalThis.requirejs.entries&&(globalThis.requirejs.entries=globalThis.requirejs._eak_seen),this._moduleRegistry=new HU)}this.pluralizedTypes=this.pluralizedTypes||Object.create(null),this.pluralizedTypes.config||(this.pluralizedTypes.config="config")}makeToString(t,e){return this.namespace.modulePrefix+"@"+e+":"}shouldWrapInClassFactory(){return!1}parseName(t){if(!0===t.parsedName)return t;let e,n,i,r=t.split("@");if(3===r.length){if(0===r[0].length){e=`@${r[1]}`;let t=r[2].split(":");n=t[0],i=t[1]}else e=`@${r[1]}`,n=r[0].slice(0,-1),i=r[2];"template:components"===n&&(i=`components/${i}`,n="template")}else if(2===r.length){let t=r[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],i=`@${r[1]}`):(e=t[1],n=t[0],i=r[1]);else{let t=r[1].split(":");e=r[0],n=t[0],i=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(i=`components/${i}`,e=e.slice(11))}else r=t.split(":"),n=r[0],i=r[1];let s=i,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:i,root:o,resolveMethodName:"resolve"+(a=n,BU.get(a))};var a}resolveOther(t){XU("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let i=this._extractDefaultExport(e,t);if(void 0===i)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(i,t)&&(n=i,i={create:t=>"function"==typeof n.extend?n.extend(t):n}),i}var n}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this._normalize(t))}resolve(t){if("resolver:current"===t)return{create:()=>this};let e,n=this.parseName(t),i=n.resolveMethodName;return"function"==typeof this[i]&&(e=this[i](n)),null==e&&(e=this.resolveOther(n)),e}addModules(t){if(!this._moduleRegistry.addModules)throw new Error("addModules is only supported when your Resolver has been configured to use static modules via Resolver.withModules()");this._moduleRegistry.addModules(t)}_normalize(t){let e=t.split(":");if(e.length>1){let t=e[0];return"component"===t||"helper"===t||"modifier"===t||"template"===t&&0===e[1].indexOf("components/")?t+":"+e[1].replace(/_/g,"-"):t+":"+(n=e[1].replace(/\./g,"/"),DU.get(n))}return t;var n}pluralize(t){return this.pluralizedTypes[t]||(this.pluralizedTypes[t]=t+"s")}podBasedLookupWithPrefix(t,e){let n=e.fullNameWithoutType;return"template"===e.type&&(n=n.replace(/^components\//,"")),t+"/"+n+"/"+e.type}podBasedModuleName(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(e,t)}podBasedComponentsInSubdir(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;if(e+="/components","component"===t.type||/^components/.test(t.fullNameWithoutType))return this.podBasedLookupWithPrefix(e,t)}resolveEngine(t){let e=t.fullNameWithoutType+"/engine";if(this._moduleRegistry.has(e))return this._extractDefaultExport(e)}resolveRouteMap(t){let e=t.fullNameWithoutType,n=e+"/routes";if(this._moduleRegistry.has(n)){let t=this._extractDefaultExport(n);return XU(`The route map for ${e} should be wrapped by 'buildRoutes' before exporting.`,t.isRouteMap),t}}resolveTemplate(t){return this.resolveOther(t)}mainModuleName(t){if("main"===t.fullNameWithoutType)return t.prefix+"/"+t.type}defaultModuleName(t){return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType}nestedColocationComponentModuleName(t){if("component"===t.type)return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType+"/index"}prefix(t){let e=this.namespace.modulePrefix;return this.namespace[t.type+"Prefix"]&&(e=this.namespace[t.type+"Prefix"]),e}findModuleName(t){let e,n=this.moduleNameLookupPatterns;for(let i=0,r=n.length;ii.length+r.length)return t+":"+e.slice(s+i.length,o);let a=n+"/"+this.pluralize(t)+"/";return 0===e.indexOf(a)&&e.length>a.length?t+":"+e.slice(a.length):void 0}_extractDefaultExport(t){let e=this._moduleRegistry.get(t,null,null,!0);return e&&e.default&&(e=e.default),e}}function XU(t,e){if(!e)throw new Error(t)}const YU={};function ZU(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");i=e.map(t=>{if((t=function(t){return"/"+t}(t))in YU)return;YU[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const i=document.createElement("link");return i.rel=e?"stylesheet":"modulepreload",e||(i.as="script"),i.crossOrigin="",i.href=t,r&&i.setAttribute("nonce",r),document.head.appendChild(i),e?new Promise((e,n)=>{i.addEventListener("load",e),i.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(i.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var i;function r(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return import("./modules-4-12-BQKlU62x.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class JU extends Pw{modulePrefix=Fw.modulePrefix;podModulePrefix=Fw.podModulePrefix;Resolver=KU.withModules(LU);inspector=ZU(this)}JU.create(Fw.APP);export{to as $,Mr as A,is as B,cr as C,gs as D,ns as E,rs as F,yr as G,mr as H,Hr as I,wr as J,Zs as K,ps as L,Ys as M,Ws as N,Ur as O,Gr as P,Ds as Q,Tr as R,Ir as S,vs as T,ls as U,ms as V,_r as W,es as X,Ie as Y,lr as Z,hs as _,y as a,Tl as a$,fs as a0,fr as a1,nr as a2,ur as a3,Vr as a4,Ji as a5,Rr as a6,Qs as a7,Js as a8,zs as a9,Hv as aA,Ni as aB,Px as aC,Di as aD,U as aE,Ph as aF,ac as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,he as aN,g as aO,d as aP,m as aQ,p as aR,c as aS,f as aT,qt as aU,jt as aV,Nt as aW,Ht as aX,Vt as aY,Pl as aZ,Rl as a_,Cr as aa,Xs as ab,Ar as ac,Ms as ad,As as ae,Nr as af,kr as ag,vr as ah,eo as ai,Ns as aj,no as ak,er as al,tr as am,ys as an,xs as ao,Mt as ap,Ot as aq,St as ar,It as as,At as at,xt as au,zt as av,Ft as aw,cv as ax,xv as ay,Ci as az,v as b,$u as b$,Ll as b0,Vu as b1,Cl as b2,zl as b3,Ol as b4,Il as b5,Wu as b6,Vi as b7,N as b8,W as b9,W_ as bA,Kc as bB,kc as bC,xc as bD,Sc as bE,pc as bF,Cc as bG,_c as bH,fc as bI,Ic as bJ,Tc as bK,Pc as bL,vc as bM,gc as bN,dc as bO,bc as bP,wc as bQ,wl as bR,Fc as bS,Nl as bT,au as bU,hu as bV,pu as bW,Iu as bX,Bu as bY,Uu as bZ,Ul as b_,$ as ba,Ga as bb,ut as bc,j as bd,B as be,Bs as bf,M as bg,lt as bh,Bi as bi,it as bj,Z as bk,Q as bl,Us as bm,J as bn,qi as bo,ot as bp,rt as bq,ct as br,st as bs,pt as bt,L as bu,et as bv,oh as bw,vw as bx,sh as by,Oc as bz,Re as c,bu as c0,uu as c1,Tu as c2,mu as c3,_u as c4,xu as c5,Gu as c6,qu as c7,fu as c8,Eu as c9,Su as ca,vu as cb,Iw as cc,fw as cd,Ah as ce,Dh as cf,hc as cg,Fl as ch,qc as ci,rc as cj,Lc as ck,oc as cl,aa as cm,pf as cn,qa as co,Hi as cp,Nx as cq,ji as cr,Gn as cs,$_ as ct,dn as cu,Ke as cv,us as d,bs as e,Yr as f,Pe as g,Hs as h,R as i,as as j,cs as k,ws as l,Lr as m,Fs as n,Er as o,Wt as p,Ks as q,Or as r,b as s,Ss as t,Ps as u,Rs as v,ts as w,Wr as x,Kr as y,Qr as z}; diff --git a/dist/assets/main-XqPKEqbZ.css b/dist/assets/main-XqPKEqbZ.css deleted file mode 100644 index a2679c5..0000000 --- a/dist/assets/main-XqPKEqbZ.css +++ /dev/null @@ -1 +0,0 @@ -html,body{height:100%}body{margin:0}#root,#ember-testing{height:100%}[style*="position: absolute; inset: 0;"]{background:#f8f9fa}#remotestorage-widget{position:absolute;top:10px;right:10px;z-index:1000}.sidebar{position:absolute;top:0;left:0;bottom:0;width:300px;background:#fff;z-index:2000;box-shadow:2px 0 5px #0000001a;display:flex;flex-direction:column}.sidebar-header{padding:1rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:1.2rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.back-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;margin-right:.5rem}.place-details{padding:.5rem}.place-details h3{margin-top:0;margin-bottom:.5rem}.place-meta{color:#666;text-transform:capitalize;margin-bottom:1rem}.btn-primary{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;width:100%;font-size:1rem}.btn-primary:hover{background:#0056b3}.places-list{list-style:none;padding:0;margin:0}.places-list li{margin-bottom:.5rem}.place-item{width:100%;text-align:left;background:#f8f9fa;border:1px solid #ddd;padding:.75rem;border-radius:4px;cursor:pointer;transition:background .2s}.place-item:hover{background:#e9ecef}.place-name{font-weight:700;margin-bottom:.25rem}.place-type{font-size:.85rem;color:#666;text-transform:capitalize}.empty-state{text-align:center;color:#666;margin-top:2rem}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer} diff --git a/dist/assets/modules-4-12-BQKlU62x.js b/dist/assets/modules-4-12-BEG81zpm.js similarity index 98% rename from dist/assets/modules-4-12-BQKlU62x.js rename to dist/assets/modules-4-12-BEG81zpm.js index 6b3c1d4..bafe77b 100644 --- a/dist/assets/modules-4-12-BQKlU62x.js +++ b/dist/assets/modules-4-12-BEG81zpm.js @@ -1 +1 @@ -import{a as e,i as t,b as a,s as r,p as s,c as n,g as o,d as i,e as l,A as c,C as d,f as b,D as g,L as u,N as h,h as _,P as p,j as y,S as m,T as C,_ as f,k as j,l as O,m as v,n as S,o as D,q as P,r as A,t as T,u as M,v as E,w as I,x as w,y as x,z as N,B as R,E as V,F,G as k,H as z,I as U,J as L,K as G,M as W,O as B,Q as Y,R as H,U as q,V as J,W as K,X,Y as Q,Z,$,a0 as ee,a1 as te,a2 as ae,a3 as re,a4 as se,a5 as ne,a6 as oe,a7 as ie,a8 as le,a9 as de,aa as be,ab as ge,ac as ue,ad as he,ae as _e,af as pe,ag as ye,ah as me,ai as Ce,aj as fe,ak as je,al as Oe,am as ve,an as Se,ao as De,ap as Pe,aq as Ae,ar as Te,as as Me,at as Ee,au as Ie,av as we,aw as xe,ax as Ne,ay as Re,az as Ve,aA as Fe,aB as ke,aC as ze,aD as Ue,aE as Le,aF as Ge,aG as We,aH as Be,aI as Ye,aJ as He,aK as qe,aL as Je,aM as Ke,aN as Xe,aO as Qe,aP as Ze,aQ as $e,aR as et,aS as tt,aT as at,aU as rt,aV as st,aW as nt,aX as ot,aY as it,aZ as lt,a_ as dt,a$ as bt,b0 as gt,b1 as ut,b2 as ht,b3 as _t,b4 as pt,b5 as yt,b6 as mt,b7 as Ct,b8 as ft,b9 as jt,ba as Ot,bb as vt,bc as St,bd as Dt,be as Pt,bf as At,bg as Tt,bh as Mt,bi as Et,bj as It,bk as wt,bl as xt,bm as Nt,bn as Rt,bo as Vt,bp as Ft,bq as kt,br as zt,bs as Ut,bt as Lt,bu as Gt,bv as Wt,bw as Bt,bx as Yt,by as Ht,bz as qt,bA as Jt,bB as Kt,bC as Xt,bD as Qt,bE as Zt,bF as $t,bG as ea,bH as ta,bI as aa,bJ as ra,bK as sa,bL as na,bM as oa,bN as ia,bO as la,bP as ca,bQ as da,bR as ba,bS as ga,bT as ua,bU as ha,bV as _a,bW as pa,bX as ya,bY as ma,bZ as Ca,b_ as fa,b$ as ja,c0 as Oa,c1 as va,c2 as Sa,c3 as Da,c4 as Pa,c5 as Aa,c6 as Ta,c7 as Ma,c8 as Ea,c9 as Ia,ca as wa,cb as xa}from"./main-CLXi7ljE.js";export{cc as Application,cd as ApplicationNamespace,ce as Array,cf as Controller,cg as EmberObject,ch as EnumerableMutable,cq as GlimmerComponent,cr as GlimmerManager,cs as GlimmerReference,ct as GlimmerRuntime,cu as GlimmerUtil,cv as GlimmerValidator,ci as Instrumentation,cg as Object,cj as ObjectCore,ck as ObjectEvented,cl as ObjectObservable,co as Owner,cm as Runloop,cn as Service,cp as VERSION}from"./main-CLXi7ljE.js";const Na=()=>{};let Ra=Na,Va=Na,Fa=Na,ka=Na,za=Na,Ua=Na,La=Na,Ga=Na;const Wa=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:e,captureRenderTree:function(e){let t=e.lookup("renderer:-dom");if(!t)throw new Error("BUG: owner is missing renderer");return t.debugRenderTree.capture()},debug:Fa,debugFreeze:za,debugSeal:ka,deprecate:function(){},deprecateFunc:function(){return arguments[arguments.length-1]},getDebugFunction:Ga,info:Ra,inspect:t,isTesting:a,registerDeprecationHandler:()=>{},registerWarnHandler:()=>{},runInDebug:Ua,setDebugFunction:La,setTesting:r,warn:Va},Symbol.toStringTag,{value:"Module"}));function Ba(e,t){let a=s(e);return a?a.valueFor(t):void 0}const Ya=new WeakMap,Ha=Object.freeze(Object.defineProperty({__proto__:null,ASYNC_OBSERVERS:c,ComputedDescriptor:d,ComputedProperty:b,DEBUG_INJECTION_FUNCTIONS:g,Libraries:u,NAMESPACES:h,NAMESPACES_BY_ID:_,PROPERTY_DID_CHANGE:p,PROXY_CONTENT:y,SYNC_OBSERVERS:m,TrackedDescriptor:C,_getPath:f,_getProp:j,_setProp:O,activateObserver:v,addArrayObserver:S,addListener:D,addNamespace:P,addObserver:A,alias:T,arrayContentDidChange:M,arrayContentWillChange:E,autoComputed:I,beginPropertyChanges:w,cached:(...e)=>{const[t,a,r]=e,s=new WeakMap,i=r.get;r.get=function(){return s.has(this)||s.set(this,n(i.bind(this))),o(s.get(this))}},changeProperties:x,computed:N,createCache:n,defineDecorator:R,defineProperty:V,defineValue:F,deprecateProperty:function(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set(e){l(this,a,e)},get(){return i(this,a)}})},descriptorForDecorator:k,descriptorForProperty:z,eachProxyArrayDidChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayDidChange(e,t,a,r)},eachProxyArrayWillChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayWillChange(e,t,a,r)},endPropertyChanges:U,expandProperties:L,findNamespace:G,findNamespaces:W,flushAsyncObservers:B,get:i,getCachedValueFor:Ba,getProperties:Y,getValue:o,hasListeners:H,hasUnknownProperty:q,inject:J,isClassicDecorator:K,isComputed:X,isConst:Q,isElementDescriptor:Z,isNamespaceSearchDisabled:$,libraries:ee,makeComputedDecorator:te,markObjectAsDirty:ae,nativeDescDecorator:re,notifyPropertyChange:se,objectAt:ne,on:oe,processAllNamespaces:ie,processNamespace:le,removeArrayObserver:de,removeListener:be,removeNamespace:ge,removeObserver:ue,replace:he,replaceInNativeArray:_e,revalidateObservers:pe,sendEvent:ye,set:l,setClassicDecorator:me,setNamespaceSearchDisabled:Ce,setProperties:fe,setUnprocessedMixins:je,tagForObject:Oe,tagForProperty:ve,tracked:Se,trySet:De},Symbol.toStringTag,{value:"Module"})),qa=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Te,associateDestroyableChild:Me,destroy:Ee,enableDestroyableTracking:Ie,isDestroyed:we,isDestroying:xe,registerDestructor:function(e,t){return Pe(e,t)},unregisterDestructor:function(e,t){return Ae(e,t)}},Symbol.toStringTag,{value:"Module"})),Ja=Object.freeze(Object.defineProperty({__proto__:null,Input:Ne,Textarea:Re,capabilities:Ve,default:Fe,getComponentTemplate:ke,setComponentManager:ze,setComponentTemplate:Ue},Symbol.toStringTag,{value:"Module"})),Ka=Object.freeze(Object.defineProperty({__proto__:null,cacheFor:Ba,guidFor:Le},Symbol.toStringTag,{value:"Module"})),Xa=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"})),Qa={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function Za(e,t){return"[]"===t?(e._revalidate(),e._arrTag):"length"===t?(e._revalidate(),e._lengthTag):qe(e,t)}class $a extends We{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(e){super.init(e),Be(this,Za)}[p](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(e){let t=i(this,"arrangedContent");return ne(t,e)}replace(e,t,a){this.replaceContent(e,t,a)}replaceContent(e,t,a){let r=i(this,"content");he(r,e,t,a)}objectAt(e){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){let e=i(this,"arrangedContent");if(e){let t=this._objects.length=i(e,"length");for(let e=this._objectsDirtyIndex;es)&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,M(this,t,a,r,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!He(this._arrangedContentTag,this._arrangedContentRevision))){let e=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(e):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(e),this._arrangedContentIsUpdating=!1);let t=this._arrangedContentTag=qe(this,"arrangedContent");this._arrangedContentRevision=Je(this._arrangedContentTag),Ke(e)?(this._lengthTag=Xe([t,ve(e,"length")]),this._arrTag=Xe([t,ve(e,"[]")])):this._lengthTag=this._arrTag=t}}}$a.reopen(Ge,{arrangedContent:T("content")});const er=Object.freeze(Object.defineProperty({__proto__:null,default:$a},Symbol.toStringTag,{value:"Module"})),tr=Object.freeze(Object.defineProperty({__proto__:null,ENV:Qe,context:Ze,getENV:$e,getLookup:et,global:tt,setLookup:at},Symbol.toStringTag,{value:"Module"})),ar=Object.freeze(Object.defineProperty({__proto__:null,Meta:rt,UNDEFINED:st,counters:nt,meta:ot,peekMeta:s,setMeta:it},Symbol.toStringTag,{value:"Module"})),rr=Object.freeze(Object.defineProperty({__proto__:null,ActionHandler:lt,Comparable:dt,ContainerProxyMixin:bt,MutableEnumerable:gt,RSVP:ut,RegistryProxyMixin:ht,TargetActionSupport:_t,_ProxyMixin:pt,_contentFor:yt,onerrorDefault:mt},Symbol.toStringTag,{value:"Module"})),sr=Object.freeze(Object.defineProperty({__proto__:null,Cache:Ct,GUID_KEY:ft,ROOT:jt,canInvoke:function(e,t){return null!=e&&"function"==typeof e[t]},checkHasSuper:Ot,dictionary:vt,enumerableSymbol:St,generateGuid:Dt,getDebugName:Pt,getName:At,guidFor:Le,intern:Tt,isInternalSymbol:Mt,isObject:Ke,isProxy:Et,lookupDescriptor:It,observerListenerMetaFor:wt,setListeners:xt,setName:Nt,setObservers:Rt,setProxy:Vt,setWithMandatorySetter:Ft,setupMandatorySetter:kt,symbol:zt,teardownMandatorySetter:Ut,toString:Lt,uuid:Gt,wrap:Wt},Symbol.toStringTag,{value:"Module"})),nr=Object.freeze(Object.defineProperty({__proto__:null,ActionSupport:Bt,ComponentLookup:Yt,CoreView:Ht,EventDispatcher:qt,MUTABLE_CELL:Jt,ViewStates:Kt,addChildView:Xt,clearElementView:Qt,clearViewElement:Zt,constructStyleDeprecationMessage:$t,getChildViews:ea,getElementView:ta,getRootViews:aa,getViewBoundingClientRect:ra,getViewBounds:sa,getViewClientRects:na,getViewElement:oa,getViewId:ia,isSimpleClick:la,setElementView:ca,setViewElement:da},Symbol.toStringTag,{value:"Module"})),or=ba.create({reason:null,isPending:N("isSettled",function(){return!i(this,"isSettled")}).readOnly(),isSettled:N("isRejected","isFulfilled",function(){return i(this,"isRejected")||i(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:N({get(){throw new Error("PromiseProxy's promise must be set")},set(e,t){return function(e,t){return fe(e,{isFulfilled:!1,isRejected:!1}),t.then(t=>(e.isDestroyed||e.isDestroying||fe(e,{content:t,isFulfilled:!0}),t),t=>{throw e.isDestroyed||e.isDestroying||fe(e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}(this,t)}}),then:ir("then"),catch:ir("catch"),finally:ir("finally")});function ir(e){return function(...t){return i(this,"promise")[e](...t)}}const lr=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"}));class dr extends ga{}dr.PrototypeMixin.reopen(pt);const br=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),gr=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:ua,Promise:ha,all:_a,allSettled:pa,asap:ya,async:ma,cast:Ca,configure:fa,default:ja,defer:Oa,denodeify:va,filter:Sa,hash:Da,hashSettled:Pa,map:Aa,off:Ta,on:Ma,race:Ea,reject:Ia,resolve:wa,rethrow:xa},Symbol.toStringTag,{value:"Module"}));export{Xa as ArrayMutable,er as ArrayProxy,Ja as Component,Wa as Debug,qa as EmberDestroyable,tr as InternalsEnvironment,ar as InternalsMeta,Ha as InternalsMetal,rr as InternalsRuntime,sr as InternalsUtils,nr as InternalsViews,Ka as ObjectInternals,lr as ObjectPromiseProxyMixin,br as ObjectProxy,gr as RSVP}; +import{a as e,i as t,b as a,s as r,p as s,c as n,g as o,d as i,e as l,A as c,C as d,f as b,D as g,L as u,N as h,h as _,P as p,j as y,S as m,T as C,_ as f,k as j,l as O,m as v,n as S,o as D,q as P,r as A,t as T,u as M,v as E,w as I,x as w,y as x,z as N,B as R,E as V,F,G as k,H as z,I as U,J as L,K as G,M as W,O as B,Q as Y,R as H,U as q,V as J,W as K,X,Y as Q,Z,$,a0 as ee,a1 as te,a2 as ae,a3 as re,a4 as se,a5 as ne,a6 as oe,a7 as ie,a8 as le,a9 as de,aa as be,ab as ge,ac as ue,ad as he,ae as _e,af as pe,ag as ye,ah as me,ai as Ce,aj as fe,ak as je,al as Oe,am as ve,an as Se,ao as De,ap as Pe,aq as Ae,ar as Te,as as Me,at as Ee,au as Ie,av as we,aw as xe,ax as Ne,ay as Re,az as Ve,aA as Fe,aB as ke,aC as ze,aD as Ue,aE as Le,aF as Ge,aG as We,aH as Be,aI as Ye,aJ as He,aK as qe,aL as Je,aM as Ke,aN as Xe,aO as Qe,aP as Ze,aQ as $e,aR as et,aS as tt,aT as at,aU as rt,aV as st,aW as nt,aX as ot,aY as it,aZ as lt,a_ as dt,a$ as bt,b0 as gt,b1 as ut,b2 as ht,b3 as _t,b4 as pt,b5 as yt,b6 as mt,b7 as Ct,b8 as ft,b9 as jt,ba as Ot,bb as vt,bc as St,bd as Dt,be as Pt,bf as At,bg as Tt,bh as Mt,bi as Et,bj as It,bk as wt,bl as xt,bm as Nt,bn as Rt,bo as Vt,bp as Ft,bq as kt,br as zt,bs as Ut,bt as Lt,bu as Gt,bv as Wt,bw as Bt,bx as Yt,by as Ht,bz as qt,bA as Jt,bB as Kt,bC as Xt,bD as Qt,bE as Zt,bF as $t,bG as ea,bH as ta,bI as aa,bJ as ra,bK as sa,bL as na,bM as oa,bN as ia,bO as la,bP as ca,bQ as da,bR as ba,bS as ga,bT as ua,bU as ha,bV as _a,bW as pa,bX as ya,bY as ma,bZ as Ca,b_ as fa,b$ as ja,c0 as Oa,c1 as va,c2 as Sa,c3 as Da,c4 as Pa,c5 as Aa,c6 as Ta,c7 as Ma,c8 as Ea,c9 as Ia,ca as wa,cb as xa}from"./main-BPbDmD4L.js";export{cc as Application,cd as ApplicationNamespace,ce as Array,cf as Controller,cg as EmberObject,ch as EnumerableMutable,cq as GlimmerComponent,cr as GlimmerManager,cs as GlimmerReference,ct as GlimmerRuntime,cu as GlimmerUtil,cv as GlimmerValidator,ci as Instrumentation,cg as Object,cj as ObjectCore,ck as ObjectEvented,cl as ObjectObservable,co as Owner,cm as Runloop,cn as Service,cp as VERSION}from"./main-BPbDmD4L.js";const Na=()=>{};let Ra=Na,Va=Na,Fa=Na,ka=Na,za=Na,Ua=Na,La=Na,Ga=Na;const Wa=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:e,captureRenderTree:function(e){let t=e.lookup("renderer:-dom");if(!t)throw new Error("BUG: owner is missing renderer");return t.debugRenderTree.capture()},debug:Fa,debugFreeze:za,debugSeal:ka,deprecate:function(){},deprecateFunc:function(){return arguments[arguments.length-1]},getDebugFunction:Ga,info:Ra,inspect:t,isTesting:a,registerDeprecationHandler:()=>{},registerWarnHandler:()=>{},runInDebug:Ua,setDebugFunction:La,setTesting:r,warn:Va},Symbol.toStringTag,{value:"Module"}));function Ba(e,t){let a=s(e);return a?a.valueFor(t):void 0}const Ya=new WeakMap,Ha=Object.freeze(Object.defineProperty({__proto__:null,ASYNC_OBSERVERS:c,ComputedDescriptor:d,ComputedProperty:b,DEBUG_INJECTION_FUNCTIONS:g,Libraries:u,NAMESPACES:h,NAMESPACES_BY_ID:_,PROPERTY_DID_CHANGE:p,PROXY_CONTENT:y,SYNC_OBSERVERS:m,TrackedDescriptor:C,_getPath:f,_getProp:j,_setProp:O,activateObserver:v,addArrayObserver:S,addListener:D,addNamespace:P,addObserver:A,alias:T,arrayContentDidChange:M,arrayContentWillChange:E,autoComputed:I,beginPropertyChanges:w,cached:(...e)=>{const[t,a,r]=e,s=new WeakMap,i=r.get;r.get=function(){return s.has(this)||s.set(this,n(i.bind(this))),o(s.get(this))}},changeProperties:x,computed:N,createCache:n,defineDecorator:R,defineProperty:V,defineValue:F,deprecateProperty:function(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set(e){l(this,a,e)},get(){return i(this,a)}})},descriptorForDecorator:k,descriptorForProperty:z,eachProxyArrayDidChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayDidChange(e,t,a,r)},eachProxyArrayWillChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayWillChange(e,t,a,r)},endPropertyChanges:U,expandProperties:L,findNamespace:G,findNamespaces:W,flushAsyncObservers:B,get:i,getCachedValueFor:Ba,getProperties:Y,getValue:o,hasListeners:H,hasUnknownProperty:q,inject:J,isClassicDecorator:K,isComputed:X,isConst:Q,isElementDescriptor:Z,isNamespaceSearchDisabled:$,libraries:ee,makeComputedDecorator:te,markObjectAsDirty:ae,nativeDescDecorator:re,notifyPropertyChange:se,objectAt:ne,on:oe,processAllNamespaces:ie,processNamespace:le,removeArrayObserver:de,removeListener:be,removeNamespace:ge,removeObserver:ue,replace:he,replaceInNativeArray:_e,revalidateObservers:pe,sendEvent:ye,set:l,setClassicDecorator:me,setNamespaceSearchDisabled:Ce,setProperties:fe,setUnprocessedMixins:je,tagForObject:Oe,tagForProperty:ve,tracked:Se,trySet:De},Symbol.toStringTag,{value:"Module"})),qa=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Te,associateDestroyableChild:Me,destroy:Ee,enableDestroyableTracking:Ie,isDestroyed:we,isDestroying:xe,registerDestructor:function(e,t){return Pe(e,t)},unregisterDestructor:function(e,t){return Ae(e,t)}},Symbol.toStringTag,{value:"Module"})),Ja=Object.freeze(Object.defineProperty({__proto__:null,Input:Ne,Textarea:Re,capabilities:Ve,default:Fe,getComponentTemplate:ke,setComponentManager:ze,setComponentTemplate:Ue},Symbol.toStringTag,{value:"Module"})),Ka=Object.freeze(Object.defineProperty({__proto__:null,cacheFor:Ba,guidFor:Le},Symbol.toStringTag,{value:"Module"})),Xa=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"})),Qa={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function Za(e,t){return"[]"===t?(e._revalidate(),e._arrTag):"length"===t?(e._revalidate(),e._lengthTag):qe(e,t)}class $a extends We{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(e){super.init(e),Be(this,Za)}[p](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(e){let t=i(this,"arrangedContent");return ne(t,e)}replace(e,t,a){this.replaceContent(e,t,a)}replaceContent(e,t,a){let r=i(this,"content");he(r,e,t,a)}objectAt(e){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){let e=i(this,"arrangedContent");if(e){let t=this._objects.length=i(e,"length");for(let e=this._objectsDirtyIndex;es)&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,M(this,t,a,r,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!He(this._arrangedContentTag,this._arrangedContentRevision))){let e=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(e):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(e),this._arrangedContentIsUpdating=!1);let t=this._arrangedContentTag=qe(this,"arrangedContent");this._arrangedContentRevision=Je(this._arrangedContentTag),Ke(e)?(this._lengthTag=Xe([t,ve(e,"length")]),this._arrTag=Xe([t,ve(e,"[]")])):this._lengthTag=this._arrTag=t}}}$a.reopen(Ge,{arrangedContent:T("content")});const er=Object.freeze(Object.defineProperty({__proto__:null,default:$a},Symbol.toStringTag,{value:"Module"})),tr=Object.freeze(Object.defineProperty({__proto__:null,ENV:Qe,context:Ze,getENV:$e,getLookup:et,global:tt,setLookup:at},Symbol.toStringTag,{value:"Module"})),ar=Object.freeze(Object.defineProperty({__proto__:null,Meta:rt,UNDEFINED:st,counters:nt,meta:ot,peekMeta:s,setMeta:it},Symbol.toStringTag,{value:"Module"})),rr=Object.freeze(Object.defineProperty({__proto__:null,ActionHandler:lt,Comparable:dt,ContainerProxyMixin:bt,MutableEnumerable:gt,RSVP:ut,RegistryProxyMixin:ht,TargetActionSupport:_t,_ProxyMixin:pt,_contentFor:yt,onerrorDefault:mt},Symbol.toStringTag,{value:"Module"})),sr=Object.freeze(Object.defineProperty({__proto__:null,Cache:Ct,GUID_KEY:ft,ROOT:jt,canInvoke:function(e,t){return null!=e&&"function"==typeof e[t]},checkHasSuper:Ot,dictionary:vt,enumerableSymbol:St,generateGuid:Dt,getDebugName:Pt,getName:At,guidFor:Le,intern:Tt,isInternalSymbol:Mt,isObject:Ke,isProxy:Et,lookupDescriptor:It,observerListenerMetaFor:wt,setListeners:xt,setName:Nt,setObservers:Rt,setProxy:Vt,setWithMandatorySetter:Ft,setupMandatorySetter:kt,symbol:zt,teardownMandatorySetter:Ut,toString:Lt,uuid:Gt,wrap:Wt},Symbol.toStringTag,{value:"Module"})),nr=Object.freeze(Object.defineProperty({__proto__:null,ActionSupport:Bt,ComponentLookup:Yt,CoreView:Ht,EventDispatcher:qt,MUTABLE_CELL:Jt,ViewStates:Kt,addChildView:Xt,clearElementView:Qt,clearViewElement:Zt,constructStyleDeprecationMessage:$t,getChildViews:ea,getElementView:ta,getRootViews:aa,getViewBoundingClientRect:ra,getViewBounds:sa,getViewClientRects:na,getViewElement:oa,getViewId:ia,isSimpleClick:la,setElementView:ca,setViewElement:da},Symbol.toStringTag,{value:"Module"})),or=ba.create({reason:null,isPending:N("isSettled",function(){return!i(this,"isSettled")}).readOnly(),isSettled:N("isRejected","isFulfilled",function(){return i(this,"isRejected")||i(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:N({get(){throw new Error("PromiseProxy's promise must be set")},set(e,t){return function(e,t){return fe(e,{isFulfilled:!1,isRejected:!1}),t.then(t=>(e.isDestroyed||e.isDestroying||fe(e,{content:t,isFulfilled:!0}),t),t=>{throw e.isDestroyed||e.isDestroying||fe(e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}(this,t)}}),then:ir("then"),catch:ir("catch"),finally:ir("finally")});function ir(e){return function(...t){return i(this,"promise")[e](...t)}}const lr=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"}));class dr extends ga{}dr.PrototypeMixin.reopen(pt);const br=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),gr=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:ua,Promise:ha,all:_a,allSettled:pa,asap:ya,async:ma,cast:Ca,configure:fa,default:ja,defer:Oa,denodeify:va,filter:Sa,hash:Da,hashSettled:Pa,map:Aa,off:Ta,on:Ma,race:Ea,reject:Ia,resolve:wa,rethrow:xa},Symbol.toStringTag,{value:"Module"}));export{Xa as ArrayMutable,er as ArrayProxy,Ja as Component,Wa as Debug,qa as EmberDestroyable,tr as InternalsEnvironment,ar as InternalsMeta,Ha as InternalsMetal,rr as InternalsRuntime,sr as InternalsUtils,nr as InternalsViews,Ka as ObjectInternals,lr as ObjectPromiseProxyMixin,br as ObjectProxy,gr as RSVP}; diff --git a/dist/index.html b/dist/index.html index 776cb18..89bf246 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,8 +6,8 @@ - - + +