From b2c8c9a10a5824f87805f6327f463d7f5e8f6284 Mon Sep 17 00:00:00 2001 From: acelaya Date: Tue, 5 Sep 2023 07:19:36 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20preview-env=20from=20@=20shlin?= =?UTF-8?q?kio/shlink-web-client@4677c242426bb4e3533be5f2264b4dbeda6cfddb?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/{index-01da60f7.js => index-78017748.js} | 4 ++-- feature/improve-component-di/index.html | 2 +- feature/improve-component-di/service-worker.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) rename feature/improve-component-di/assets/{index-01da60f7.js => index-78017748.js} (99%) diff --git a/feature/improve-component-di/assets/index-01da60f7.js b/feature/improve-component-di/assets/index-78017748.js similarity index 99% rename from feature/improve-component-di/assets/index-01da60f7.js rename to feature/improve-component-di/assets/index-78017748.js index a003cede..2213c307 100644 --- a/feature/improve-component-di/assets/index-01da60f7.js +++ b/feature/improve-component-di/assets/index-78017748.js @@ -916,7 +916,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho */class dbe{static getParser(t,n=!1){if(typeof t!="string")throw new Error("UserAgent should be a string");return new EA(t,n)}static parse(t){return new EA(t).getResult()}static get BROWSER_MAP(){return XF}static get ENGINE_MAP(){return Oa}static get OS_MAP(){return pr}static get PLATFORMS_MAP(){return on}}const $m="Others",fbe=["Android Browser","Chrome","Chromium","Firefox","Internet Explorer","Microsoft Edge","Opera","Safari","Samsung Internet for Android","Vivaldi","WeChat"],hbe=e=>{if(!fo(e))return{browser:$m,os:$m};const{browser:{name:t},os:{name:n}}=dbe.parse(e);return{os:n??$m,browser:t&&fbe.includes(t)?t:$m}},pbe=e=>{var t;return fo(e)?((t=e.split("/")[e.includes("://")?2:0])==null?void 0:t.split(":")[0])??"":"Direct"},lO=(e,t)=>Object.values({...K5(t,t.map(()=>0)),...e}),TA={monthly:"Month",weekly:"Week",daily:"Day",hourly:"Hour"},mbe={hourly:e=>({hours:e}),daily:e=>({days:e}),weekly:e=>({weeks:e}),monthly:e=>({months:e})},gbe={hourly:yfe,daily:TT,weekly:wfe,monthly:Xv},cO={hourly:e=>Pu(e,"yyyy-MM-dd HH:00"),daily:e=>tl(e),weekly(e){const t=tl(_h(e)),n=tl(Efe(e));return`${t} - ${n}`},monthly:e=>Pu(e,"yyyy-MM")},vbe=e=>{const t=new Date,n=oa(e);return _T([[()=>TT(t,n)<=2,b1("hourly")],[()=>Xv(t,n)<=1,b1("daily")],[()=>Xv(t,n)<=6,b1("weekly")]])()??"monthly"},OA=(e,t)=>Y5(n=>cO[e](oa(n.date)),t),ybe=(e,t)=>t.reduce((n,r)=>{const i=cO[e](oa(r.date));return n[i]=n[i]??[],n[i].push(r),n},{}),_be=(e,t)=>{const n=gbe[e],r=cO[e],i=oa(t[0].date),o=oa(t[t.length-1].date),a=n(i,o),s=mbe[e];return[r(o),...DT(a,l=>r(sfe(o,s(l))))]},bbe=(e,t,n,r)=>{if(r)return[Object.keys(t),Object.values(t)];const i=_be(n,e);return[i,lO(t,i)]},CA=(e,t,n)=>({label:t,data:e,fill:!1,tension:.2,borderColor:n,backgroundColor:n});let Y1=null;const wbe=(e,t,[n],r)=>{if(!r||!n)return;const{index:i}=n;Y1===e[i]?(r([]),Y1=null):(r(e[i]&&t[e[i]]?t[e[i]]:[]),Y1=e[i]??null)},xbe=({title:e,visits:t,highlightedVisits:n,highlightedLabel:r="Selected",setSelectedVisits:i})=>{const[o,a]=$.useState(t.length>0?vbe(t[t.length-1].date):"monthly"),[s,l]=Tn(!0),c=$.useRef(null),d=$.useRef(null),f=$.useMemo(()=>ybe(o,t),[o,t]),p=$.useMemo(()=>OA(o,Jx(t)),[o,t]),[m,v]=$.useMemo(()=>bbe(t,p,o,s),[t,o,s]),y=$.useMemo(()=>lO(OA(o,Jx(n)),m),[n,o,m]),x=()=>{const E=CA(v,"Visits",kE);if(n.length===0)return[E];const C=CA(y,r,GI);return[E,C]},_=()=>({labels:m,datasets:x()}),w={maintainAspectRatio:!1,plugins:{legend:{display:!1},tooltip:{intersect:!1,axis:"x",callbacks:{label:QF}}},scales:{y:{beginAtZero:!0,ticks:{precision:0,callback:Sn}},x:{title:{display:!0,text:TA[o]}}},onHover:ZF},S=E=>g.jsx(X1e,{ref:E,data:_(),options:w,onClick:C=>wbe(m,f,KF(E.current,C),i)});return g.jsxs(Zr,{children:[g.jsxs(vu,{role:"heading",children:[e,g.jsx("div",{className:"float-end",children:g.jsxs(Hh,{children:[g.jsx(zu,{caret:!0,color:"link",className:"btn-sm p-0",children:"Group by"}),g.jsx(Bu,{end:!0,children:Object.entries(TA).map(([E,C])=>g.jsx(Ue,{active:o===E,onClick:()=>a(E),children:C},E))})]})}),g.jsx("div",{className:"float-end me-2",children:g.jsx(yu,{checked:s,onChange:l,children:g.jsx("small",{children:"Skip dates with no visits"})})})]}),g.jsxs(gu,{className:"line-chart-card__body",children:[n.length>0&&S(c),n.length===0&&S(d)]})]})},Sbe=({toggleClassName:e,ranges:t,value:n,setValue:r})=>g.jsxs(Hh,{children:[g.jsx(zu,{caret:!0,color:"link",className:e,children:"Paginate"}),g.jsxs(Bu,{end:!0,children:[t.map(i=>g.jsxs(Ue,{active:i===n,onClick:()=>r(i),children:[g.jsx("b",{children:i})," items per page"]},i)),g.jsx(Ue,{divider:!0}),g.jsx(Ue,{disabled:n===1/0,onClick:()=>r(1/0),children:g.jsx("i",{children:"Clear pagination"})})]})]}),Ebe=e=>e.startsWith("hidden")?"":e,Tbe=e=>!!e&&Object.keys(e).length>0,Obe=e=>e.length>20?e.length*10:void 0,Cbe=(e,t,n)=>{const r={data:e,label:n?"Non-selected":"Visits",backgroundColor:Cte,borderColor:kE,borderWidth:2};return t.every(i=>i===0)?[r]:[r,{label:n??"Selected",data:t,backgroundColor:kte,borderColor:GI,borderWidth:2}]},kbe=(e,t,n,r)=>({labels:e,datasets:Cbe(t,n,r)}),Pbe=(e,[t],n)=>{!n||!t||n(e[t.index])},Lbe=({stats:e,highlightedStats:t,highlightedLabel:n,onClick:r,max:i})=>{const o=Eo(e).map(Ebe),a=pT(Tbe(t)?Eo(t).reduce((v,y)=>(v[y]&&(v[y]-=t[y]),v),{...e}):e),s=lO(t??{},o),l=$.useRef(null),c=$.useRef(null),d={plugins:{legend:{display:!1},tooltip:{mode:"y",filter:({label:v})=>v!=="",callbacks:{label:QF}}},scales:{x:{beginAtZero:!0,stacked:!0,max:i,ticks:{precision:0,callback:Sn}},y:{stacked:!0}},onHover:ZF,indexAxis:"y"},f=kbe(o,a,s,n),p=Obe(o),m=(v,y)=>g.jsx(J1e,{ref:y,data:f,options:d,height:p,onClick:x=>Pbe(o,KF(y.current,x),r)},`${p}_${v}`);return g.jsxs(g.Fragment,{children:[t!==void 0&&m("with_stats",l),t===void 0&&m("without_stats",c)]})},jbe=e=>qv(e)==="String"?zde(e):e,kA=([e])=>e,PA=([,e])=>e,Um=({stats:e,highlightedStats:t,title:n,sortingItems:r,extraHeaderContent:i,withPagination:o=!0,...a})=>{const[s,l]=$.useState({}),[c,d]=$.useState(1),[f,p]=$.useState(50),m=(k,j)=>{const A=$M(k),U=s.field?$de(Qn(s.field===Object.keys(j)[0]?kA:PA,jbe),A):A;return!s.dir||s.dir==="ASC"?U:Jx(U)},v=k=>{const j=k[c-1];if(c[`hidden_${U}`,0])]},y=k=>g.jsx(eO,{currentPage:c,pagesCount:k,setCurrentPage:d}),x=(k,j,A)=>{const U=m(k,j),N=U.map(kA),z=A&&$M({...K5(N,N.map(()=>0)),...A});if(U.length<=f)return{currentPageStats:Pm(U),currentPageHighlightedStats:z&&Pm(z)};const W=yh(f,U),X=z&&yh(f,z);return{currentPageStats:Pm(v(W)),currentPageHighlightedStats:X&&Pm(v(X)),pagination:y(W.length),max:Rme(Math.max(...U.map(PA)))}},{currentPageStats:_,currentPageHighlightedStats:w,pagination:S,max:E}=x(e,r,t&&Object.keys(t).length>0?t:void 0),C=Object.keys(_);return g.jsx(WF,{title:()=>g.jsxs(g.Fragment,{children:[n,g.jsx("div",{className:"float-end",children:g.jsx(Yh,{isButton:!1,right:!0,items:r,order:s,onChange:(k,j)=>{l({field:k,dir:j}),d(1)}})}),o&&Object.keys(e).length>50&&g.jsx("div",{className:"float-end",children:g.jsx(Sbe,{toggleClassName:"btn-sm p-0 me-3",ranges:[50,100,200,500],value:f,setValue:k=>{p(k),d(1)}})}),i&&g.jsx("div",{className:"float-end",children:i(S?C:void 0)})]}),footer:S,children:g.jsx(Lbe,{stats:_,highlightedStats:w,max:E,...a})})},Mbe=()=>{const e=Oo(),{search:t}=yn(),{filtering:n,domain:r}=$.useMemo(Qn(()=>Fl(t),({startDate:i,endDate:o,orphanVisitsType:a,excludeBots:s,domain:l})=>({domain:l,filtering:{dateRange:i!=null||o!=null?C8(i,o):void 0,visitsFilter:{orphanVisitsType:a,excludeBots:Bl(s)?void 0:s==="true"}}})),[t]);return[n,i=>{const{dateRange:o,visitsFilter:a}=Mde(n,i),{excludeBots:s,orphanVisitsType:l}=a,c={startDate:(o==null?void 0:o.startDate)&&ms(o.startDate)||"",endDate:(o==null?void 0:o.endDate)&&ms(o.endDate)||"",excludeBots:s===void 0?void 0:M8(s),orphanVisitsType:l,domain:r},d=d0(c),f=Li(d)?"":`?${d}`;e(f,{replace:!0,relative:"route"})}]};function JF(e,t){const n=$.useRef(t);$.useEffect(function(){t!==n.current&&e.attributionControl!=null&&(n.current!=null&&e.attributionControl.removeAttribution(n.current),t!=null&&e.attributionControl.addAttribution(t)),n.current=t},[e,t])}const Abe=1;function Rbe(e){return Object.freeze({__version:Abe,map:e})}function Nbe(e,t){return Object.freeze({...e,...t})}const e$=$.createContext(null),t$=e$.Provider;function n$(){const e=$.useContext(e$);if(e==null)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of ");return e}function Dbe(e){function t(n,r){const{instance:i,context:o}=e(n).current;return $.useImperativeHandle(r,()=>i),n.children==null?null:Y.createElement(t$,{value:o},n.children)}return $.forwardRef(t)}function Ibe(e){function t(n,r){const[i,o]=$.useState(!1),{instance:a}=e(n,o).current;$.useImperativeHandle(r,()=>a),$.useEffect(function(){i&&a.update()},[a,i,n.children]);const s=a._contentNode;return s?Al.createPortal(n.children,s):null}return $.forwardRef(t)}function Fbe(e){function t(n,r){const{instance:i}=e(n).current;return $.useImperativeHandle(r,()=>i),null}return $.forwardRef(t)}function r$(e,t){const n=$.useRef();$.useEffect(function(){return t!=null&&e.instance.on(t),n.current=t,function(){n.current!=null&&e.instance.off(n.current),n.current=null}},[e,t])}function uO(e,t){const n=e.pane??t.pane;return n?{...e,pane:n}:e}function $be(e,t){return function(n,r){const i=n$(),o=e(uO(n,i),i);return JF(i.map,n.attribution),r$(o.current,n.eventHandlers),t(o.current,i,n,r),o}}var T2={exports:{}};/* @preserve * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */(function(e,t){(function(n,r){r(t)})(Fc,function(n){var r="1.9.4";function i(u){var h,b,T,P;for(b=1,T=arguments.length;b"u"||!L||!L.Mixin)){u=S(u)?u:[u];for(var h=0;h0?Math.floor(u):Math.ceil(u)};q.prototype={clone:function(){return new q(this.x,this.y)},add:function(u){return this.clone()._add(D(u))},_add:function(u){return this.x+=u.x,this.y+=u.y,this},subtract:function(u){return this.clone()._subtract(D(u))},_subtract:function(u){return this.x-=u.x,this.y-=u.y,this},divideBy:function(u){return this.clone()._divideBy(u)},_divideBy:function(u){return this.x/=u,this.y/=u,this},multiplyBy:function(u){return this.clone()._multiplyBy(u)},_multiplyBy:function(u){return this.x*=u,this.y*=u,this},scaleBy:function(u){return new q(this.x*u.x,this.y*u.y)},unscaleBy:function(u){return new q(this.x/u.x,this.y/u.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=I(this.x),this.y=I(this.y),this},distanceTo:function(u){u=D(u);var h=u.x-this.x,b=u.y-this.y;return Math.sqrt(h*h+b*b)},equals:function(u){return u=D(u),u.x===this.x&&u.y===this.y},contains:function(u){return u=D(u),Math.abs(u.x)<=Math.abs(this.x)&&Math.abs(u.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function D(u,h,b){return u instanceof q?u:S(u)?new q(u[0],u[1]):u==null?u:typeof u=="object"&&"x"in u&&"y"in u?new q(u.x,u.y):new q(u,h,b)}function H(u,h){if(u)for(var b=h?[u,h]:u,T=0,P=b.length;T=this.min.x&&b.x<=this.max.x&&h.y>=this.min.y&&b.y<=this.max.y},intersects:function(u){u=ie(u);var h=this.min,b=this.max,T=u.min,P=u.max,B=P.x>=h.x&&T.x<=b.x,oe=P.y>=h.y&&T.y<=b.y;return B&&oe},overlaps:function(u){u=ie(u);var h=this.min,b=this.max,T=u.min,P=u.max,B=P.x>h.x&&T.xh.y&&T.y=h.lat&&P.lat<=b.lat&&T.lng>=h.lng&&P.lng<=b.lng},intersects:function(u){u=K(u);var h=this._southWest,b=this._northEast,T=u.getSouthWest(),P=u.getNorthEast(),B=P.lat>=h.lat&&T.lat<=b.lat,oe=P.lng>=h.lng&&T.lng<=b.lng;return B&&oe},overlaps:function(u){u=K(u);var h=this._southWest,b=this._northEast,T=u.getSouthWest(),P=u.getNorthEast(),B=P.lat>h.lat&&T.lath.lng&&T.lng1,nn=function(){var u=!1;try{var h=Object.defineProperty({},"passive",{get:function(){u=!0}});window.addEventListener("testPassiveEventSupport",f,h),window.removeEventListener("testPassiveEventSupport",f,h)}catch{}return u}(),fr=function(){return!!document.createElement("canvas").getContext}(),Vn=!!(document.createElementNS&&Me("svg").createSVGRect),Hn=!!Vn&&function(){var u=document.createElement("div");return u.innerHTML="",(u.firstChild&&u.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),_n=!Vn&&function(){try{var u=document.createElement("div");u.innerHTML='';var h=u.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}}(),ji=navigator.platform.indexOf("Mac")===0,Mi=navigator.platform.indexOf("Linux")===0;function Wn(u){return navigator.userAgent.toLowerCase().indexOf(u)>=0}var ze={ie:_e,ielt9:Se,edge:ke,webkit:Ce,android:je,android23:ce,androidStock:ye,opera:ve,chrome:xe,gecko:Pe,safari:Ne,phantom:Qe,opera12:et,win:Ge,ie3d:Kt,webkit3d:Vt,gecko3d:On,any3d:dr,mobile:Zi,mobileWebkit:zn,mobileWebkit3d:Xu,msPointer:Qi,pointer:hp,touch:mp,touchNative:pp,mobileOpera:Ju,mobileGecko:Os,retina:hn,passiveEvents:nn,canvas:fr,svg:Vn,vml:_n,inlineSvg:Hn,mac:ji,linux:Mi},xO=ze.msPointer?"MSPointerDown":"pointerdown",SO=ze.msPointer?"MSPointerMove":"pointermove",EO=ze.msPointer?"MSPointerUp":"pointerup",TO=ze.msPointer?"MSPointerCancel":"pointercancel",D0={touchstart:xO,touchmove:SO,touchend:EO,touchcancel:TO},OO={touchstart:iU,touchmove:gp,touchend:gp,touchcancel:gp},ql={},CO=!1;function J$(u,h,b){return h==="touchstart"&&rU(),OO[h]?(b=OO[h].bind(this,b),u.addEventListener(D0[h],b,!1),b):(console.warn("wrong event specified:",h),f)}function eU(u,h,b){if(!D0[h]){console.warn("wrong event specified:",h);return}u.removeEventListener(D0[h],b,!1)}function tU(u){ql[u.pointerId]=u}function nU(u){ql[u.pointerId]&&(ql[u.pointerId]=u)}function kO(u){delete ql[u.pointerId]}function rU(){CO||(document.addEventListener(xO,tU,!0),document.addEventListener(SO,nU,!0),document.addEventListener(EO,kO,!0),document.addEventListener(TO,kO,!0),CO=!0)}function gp(u,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var b in ql)h.touches.push(ql[b]);h.changedTouches=[h],u(h)}}function iU(u,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&Yn(h),gp(u,h)}function oU(u){var h={},b,T;for(T in u)b=u[T],h[T]=b&&b.bind?b.bind(u):b;return u=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var aU=200;function sU(u,h){u.addEventListener("dblclick",h);var b=0,T;function P(B){if(B.detail!==1){T=B.detail;return}if(!(B.pointerType==="mouse"||B.sourceCapabilities&&!B.sourceCapabilities.firesTouchEvents)){var oe=AO(B);if(!(oe.some(function(pe){return pe instanceof HTMLLabelElement&&pe.attributes.for})&&!oe.some(function(pe){return pe instanceof HTMLInputElement||pe instanceof HTMLSelectElement}))){var de=Date.now();de-b<=aU?(T++,T===2&&h(oU(B))):T=1,b=de}}}return u.addEventListener("click",P),{dblclick:h,simDblclick:P}}function lU(u,h){u.removeEventListener("dblclick",h.dblclick),u.removeEventListener("click",h.simDblclick)}var I0=_p(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ed=_p(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),PO=ed==="webkitTransition"||ed==="OTransition"?ed+"End":"transitionend";function LO(u){return typeof u=="string"?document.getElementById(u):u}function td(u,h){var b=u.style[h]||u.currentStyle&&u.currentStyle[h];if((!b||b==="auto")&&document.defaultView){var T=document.defaultView.getComputedStyle(u,null);b=T?T[h]:null}return b==="auto"?null:b}function pt(u,h,b){var T=document.createElement(u);return T.className=h||"",b&&b.appendChild(T),T}function Ht(u){var h=u.parentNode;h&&h.removeChild(u)}function vp(u){for(;u.firstChild;)u.removeChild(u.firstChild)}function Kl(u){var h=u.parentNode;h&&h.lastChild!==u&&h.appendChild(u)}function Zl(u){var h=u.parentNode;h&&h.firstChild!==u&&h.insertBefore(u,h.firstChild)}function F0(u,h){if(u.classList!==void 0)return u.classList.contains(h);var b=yp(u);return b.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(b)}function Ze(u,h){if(u.classList!==void 0)for(var b=v(h),T=0,P=b.length;T0?2*window.devicePixelRatio:1;function NO(u){return ze.edge?u.wheelDeltaY/2:u.deltaY&&u.deltaMode===0?-u.deltaY/dU:u.deltaY&&u.deltaMode===1?-u.deltaY*20:u.deltaY&&u.deltaMode===2?-u.deltaY*60:u.deltaX||u.deltaZ?0:u.wheelDelta?(u.wheelDeltaY||u.wheelDelta)/2:u.detail&&Math.abs(u.detail)<32765?-u.detail*20:u.detail?u.detail/-32765*60:0}function Z0(u,h){var b=h.relatedTarget;if(!b)return!0;try{for(;b&&b!==u;)b=b.parentNode}catch{return!1}return b!==u}var fU={__proto__:null,on:qe,off:Ct,stopPropagation:Ps,disableScrollPropagation:K0,disableClickPropagation:od,preventDefault:Yn,stop:Ls,getPropagationPath:AO,getMousePosition:RO,getWheelDelta:NO,isExternalTarget:Z0,addListener:qe,removeListener:Ct},DO=le.extend({run:function(u,h,b,T){this.stop(),this._el=u,this._inProgress=!0,this._duration=b||.25,this._easeOutPower=1/Math.max(T||.5,.2),this._startPos=ks(u),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=z(this._animate,this),this._step()},_step:function(u){var h=+new Date-this._startTime,b=this._duration*1e3;hthis.options.maxZoom)?this.setZoom(u):this},panInsideBounds:function(u,h){this._enforcingBounds=!0;var b=this.getCenter(),T=this._limitCenter(b,this._zoom,K(u));return b.equals(T)||this.panTo(T,h),this._enforcingBounds=!1,this},panInside:function(u,h){h=h||{};var b=D(h.paddingTopLeft||h.padding||[0,0]),T=D(h.paddingBottomRight||h.padding||[0,0]),P=this.project(this.getCenter()),B=this.project(u),oe=this.getPixelBounds(),de=ie([oe.min.add(b),oe.max.subtract(T)]),pe=de.getSize();if(!de.contains(B)){this._enforcingBounds=!0;var we=B.subtract(de.getCenter()),De=de.extend(B).getSize().subtract(pe);P.x+=we.x<0?-De.x:De.x,P.y+=we.y<0?-De.y:De.y,this.panTo(this.unproject(P),h),this._enforcingBounds=!1}return this},invalidateSize:function(u){if(!this._loaded)return this;u=i({animate:!1,pan:!0},u===!0?{animate:!0}:u);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var b=this.getSize(),T=h.divideBy(2).round(),P=b.divideBy(2).round(),B=T.subtract(P);return!B.x&&!B.y?this:(u.animate&&u.pan?this.panBy(B):(u.pan&&this._rawPanBy(B),this.fire("move"),u.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:b}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(u){if(u=this._locateOptions=i({timeout:1e4,watch:!1},u),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=a(this._handleGeolocationResponse,this),b=a(this._handleGeolocationError,this);return u.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,b,u):navigator.geolocation.getCurrentPosition(h,b,u),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(u){if(this._container._leaflet_id){var h=u.code,b=u.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+b+"."})}},_handleGeolocationResponse:function(u){if(this._container._leaflet_id){var h=u.coords.latitude,b=u.coords.longitude,T=new re(h,b),P=T.toBounds(u.coords.accuracy*2),B=this._locateOptions;if(B.setView){var oe=this.getBoundsZoom(P);this.setView(T,B.maxZoom?Math.min(oe,B.maxZoom):oe)}var de={latlng:T,bounds:P,timestamp:u.timestamp};for(var pe in u.coords)typeof u.coords[pe]=="number"&&(de[pe]=u.coords[pe]);this.fire("locationfound",de)}},addHandler:function(u,h){if(!h)return this;var b=this[u]=new h(this);return this._handlers.push(b),this.options[u]&&b.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Ht(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(W(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var u;for(u in this._layers)this._layers[u].remove();for(u in this._panes)Ht(this._panes[u]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(u,h){var b="leaflet-pane"+(u?" leaflet-"+u.replace("Pane","")+"-pane":""),T=pt("div",b,h||this._mapPane);return u&&(this._panes[u]=T),T},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var u=this.getPixelBounds(),h=this.unproject(u.getBottomLeft()),b=this.unproject(u.getTopRight());return new V(h,b)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(u,h,b){u=K(u),b=D(b||[0,0]);var T=this.getZoom()||0,P=this.getMinZoom(),B=this.getMaxZoom(),oe=u.getNorthWest(),de=u.getSouthEast(),pe=this.getSize().subtract(b),we=ie(this.project(de,T),this.project(oe,T)).getSize(),De=ze.any3d?this.options.zoomSnap:1,We=pe.x/we.x,Xe=pe.y/we.y,hr=h?Math.max(We,Xe):Math.min(We,Xe);return T=this.getScaleZoom(hr,T),De&&(T=Math.round(T/(De/100))*(De/100),T=h?Math.ceil(T/De)*De:Math.floor(T/De)*De),Math.max(P,Math.min(B,T))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new q(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(u,h){var b=this._getTopLeftPoint(u,h);return new H(b,b.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(u){return this.options.crs.getProjectedBounds(u===void 0?this.getZoom():u)},getPane:function(u){return typeof u=="string"?this._panes[u]:u},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(u,h){var b=this.options.crs;return h=h===void 0?this._zoom:h,b.scale(u)/b.scale(h)},getScaleZoom:function(u,h){var b=this.options.crs;h=h===void 0?this._zoom:h;var T=b.zoom(u*b.scale(h));return isNaN(T)?1/0:T},project:function(u,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(ae(u),h)},unproject:function(u,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(D(u),h)},layerPointToLatLng:function(u){var h=D(u).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(u){var h=this.project(ae(u))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(u){return this.options.crs.wrapLatLng(ae(u))},wrapLatLngBounds:function(u){return this.options.crs.wrapLatLngBounds(K(u))},distance:function(u,h){return this.options.crs.distance(ae(u),ae(h))},containerPointToLayerPoint:function(u){return D(u).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(u){return D(u).add(this._getMapPanePos())},containerPointToLatLng:function(u){var h=this.containerPointToLayerPoint(D(u));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(u){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ae(u)))},mouseEventToContainerPoint:function(u){return RO(u,this._container)},mouseEventToLayerPoint:function(u){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(u))},mouseEventToLatLng:function(u){return this.layerPointToLatLng(this.mouseEventToLayerPoint(u))},_initContainer:function(u){var h=this._container=LO(u);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");qe(h,"scroll",this._onScroll,this),this._containerId=l(h)},_initLayout:function(){var u=this._container;this._fadeAnimated=this.options.fadeAnimation&&ze.any3d,Ze(u,"leaflet-container"+(ze.touch?" leaflet-touch":"")+(ze.retina?" leaflet-retina":"")+(ze.ielt9?" leaflet-oldie":"")+(ze.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=td(u,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(u.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var u=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),pn(this._mapPane,new q(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Ze(u.markerPane,"leaflet-zoom-hide"),Ze(u.shadowPane,"leaflet-zoom-hide"))},_resetView:function(u,h,b){pn(this._mapPane,new q(0,0));var T=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var P=this._zoom!==h;this._moveStart(P,b)._move(u,h)._moveEnd(P),this.fire("viewreset"),T&&this.fire("load")},_moveStart:function(u,h){return u&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(u,h,b,T){h===void 0&&(h=this._zoom);var P=this._zoom!==h;return this._zoom=h,this._lastCenter=u,this._pixelOrigin=this._getNewPixelOrigin(u),T?b&&b.pinch&&this.fire("zoom",b):((P||b&&b.pinch)&&this.fire("zoom",b),this.fire("move",b)),this},_moveEnd:function(u){return u&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return W(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(u){pn(this._mapPane,this._getMapPanePos().subtract(u))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(u){this._targets={},this._targets[l(this._container)]=this;var h=u?Ct:qe;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),ze.any3d&&this.options.transform3DLimit&&(u?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){W(this._resizeRequest),this._resizeRequest=z(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var u=this._getMapPanePos();Math.max(Math.abs(u.x),Math.abs(u.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(u,h){for(var b=[],T,P=h==="mouseout"||h==="mouseover",B=u.target||u.srcElement,oe=!1;B;){if(T=this._targets[l(B)],T&&(h==="click"||h==="preclick")&&this._draggableMoved(T)){oe=!0;break}if(T&&T.listens(h,!0)&&(P&&!Z0(B,u)||(b.push(T),P))||B===this._container)break;B=B.parentNode}return!b.length&&!oe&&!P&&this.listens(h,!0)&&(b=[this]),b},_isClickDisabled:function(u){for(;u&&u!==this._container;){if(u._leaflet_disable_click)return!0;u=u.parentNode}},_handleDOMEvent:function(u){var h=u.target||u.srcElement;if(!(!this._loaded||h._leaflet_disable_events||u.type==="click"&&this._isClickDisabled(h))){var b=u.type;b==="mousedown"&&H0(h),this._fireDOMEvent(u,b)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(u,h,b){if(u.type==="click"){var T=i({},u);T.type="preclick",this._fireDOMEvent(T,T.type,b)}var P=this._findEventTargets(u,h);if(b){for(var B=[],oe=0;oe0?Math.round(u-h)/2:Math.max(0,Math.ceil(u))-Math.max(0,Math.floor(h))},_limitZoom:function(u){var h=this.getMinZoom(),b=this.getMaxZoom(),T=ze.any3d?this.options.zoomSnap:1;return T&&(u=Math.round(u/T)*T),Math.max(h,Math.min(b,u))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){rn(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(u,h){var b=this._getCenterOffset(u)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(b)?!1:(this.panBy(b,h),!0)},_createAnimProxy:function(){var u=this._proxy=pt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(u),this.on("zoomanim",function(h){var b=I0,T=this._proxy.style[b];Cs(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),T===this._proxy.style[b]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Ht(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var u=this.getCenter(),h=this.getZoom();Cs(this._proxy,this.project(u,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(u){this._animatingZoom&&u.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(u,h,b){if(this._animatingZoom)return!0;if(b=b||{},!this._zoomAnimated||b.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var T=this.getZoomScale(h),P=this._getCenterOffset(u)._divideBy(1-1/T);return b.animate!==!0&&!this.getSize().contains(P)?!1:(z(function(){this._moveStart(!0,b.noMoveStart||!1)._animateZoom(u,h,!0)},this),!0)},_animateZoom:function(u,h,b,T){this._mapPane&&(b&&(this._animatingZoom=!0,this._animateToCenter=u,this._animateToZoom=h,Ze(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:u,zoom:h,noUpdate:T}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&rn(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function hU(u,h){return new ct(u,h)}var Ai=G.extend({options:{position:"topright"},initialize:function(u){y(this,u)},getPosition:function(){return this.options.position},setPosition:function(u){var h=this._map;return h&&h.removeControl(this),this.options.position=u,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(u){this.remove(),this._map=u;var h=this._container=this.onAdd(u),b=this.getPosition(),T=u._controlCorners[b];return Ze(h,"leaflet-control"),b.indexOf("bottom")!==-1?T.insertBefore(h,T.firstChild):T.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Ht(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(u){this._map&&u&&u.screenX>0&&u.screenY>0&&this._map.getContainer().focus()}}),ad=function(u){return new Ai(u)};ct.include({addControl:function(u){return u.addTo(this),this},removeControl:function(u){return u.remove(),this},_initControlPos:function(){var u=this._controlCorners={},h="leaflet-",b=this._controlContainer=pt("div",h+"control-container",this._container);function T(P,B){var oe=h+P+" "+h+B;u[P+B]=pt("div",oe,b)}T("top","left"),T("top","right"),T("bottom","left"),T("bottom","right")},_clearControlPos:function(){for(var u in this._controlCorners)Ht(this._controlCorners[u]);Ht(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var IO=Ai.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(u,h,b,T){return b1,this._baseLayersList.style.display=u?"":"none"),this._separator.style.display=h&&u?"":"none",this},_onLayerChange:function(u){this._handlingClick||this._update();var h=this._getLayer(l(u.target)),b=h.overlay?u.type==="add"?"overlayadd":"overlayremove":u.type==="add"?"baselayerchange":null;b&&this._map.fire(b,h)},_createRadioElement:function(u,h){var b='",T=document.createElement("div");return T.innerHTML=b,T.firstChild},_addItem:function(u){var h=document.createElement("label"),b=this._map.hasLayer(u.layer),T;u.overlay?(T=document.createElement("input"),T.type="checkbox",T.className="leaflet-control-layers-selector",T.defaultChecked=b):T=this._createRadioElement("leaflet-base-layers_"+l(this),b),this._layerControlInputs.push(T),T.layerId=l(u.layer),qe(T,"click",this._onInputClick,this);var P=document.createElement("span");P.innerHTML=" "+u.name;var B=document.createElement("span");h.appendChild(B),B.appendChild(T),B.appendChild(P);var oe=u.overlay?this._overlaysList:this._baseLayersList;return oe.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var u=this._layerControlInputs,h,b,T=[],P=[];this._handlingClick=!0;for(var B=u.length-1;B>=0;B--)h=u[B],b=this._getLayer(h.layerId).layer,h.checked?T.push(b):h.checked||P.push(b);for(B=0;B=0;P--)h=u[P],b=this._getLayer(h.layerId).layer,h.disabled=b.options.minZoom!==void 0&&Tb.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var u=this._section;this._preventClick=!0,qe(u,"click",Yn),this.expand();var h=this;setTimeout(function(){Ct(u,"click",Yn),h._preventClick=!1})}}),pU=function(u,h,b){return new IO(u,h,b)},Q0=Ai.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(u){var h="leaflet-control-zoom",b=pt("div",h+" leaflet-bar"),T=this.options;return this._zoomInButton=this._createButton(T.zoomInText,T.zoomInTitle,h+"-in",b,this._zoomIn),this._zoomOutButton=this._createButton(T.zoomOutText,T.zoomOutTitle,h+"-out",b,this._zoomOut),this._updateDisabled(),u.on("zoomend zoomlevelschange",this._updateDisabled,this),b},onRemove:function(u){u.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(u){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(u.shiftKey?3:1))},_createButton:function(u,h,b,T,P){var B=pt("a",b,T);return B.innerHTML=u,B.href="#",B.title=h,B.setAttribute("role","button"),B.setAttribute("aria-label",h),od(B),qe(B,"click",Ls),qe(B,"click",P,this),qe(B,"click",this._refocusOnMap,this),B},_updateDisabled:function(){var u=this._map,h="leaflet-disabled";rn(this._zoomInButton,h),rn(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||u._zoom===u.getMinZoom())&&(Ze(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||u._zoom===u.getMaxZoom())&&(Ze(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});ct.mergeOptions({zoomControl:!0}),ct.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Q0,this.addControl(this.zoomControl))});var mU=function(u){return new Q0(u)},FO=Ai.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(u){var h="leaflet-control-scale",b=pt("div",h),T=this.options;return this._addScales(T,h+"-line",b),u.on(T.updateWhenIdle?"moveend":"move",this._update,this),u.whenReady(this._update,this),b},onRemove:function(u){u.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(u,h,b){u.metric&&(this._mScale=pt("div",h,b)),u.imperial&&(this._iScale=pt("div",h,b))},_update:function(){var u=this._map,h=u.getSize().y/2,b=u.distance(u.containerPointToLatLng([0,h]),u.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(b)},_updateScales:function(u){this.options.metric&&u&&this._updateMetric(u),this.options.imperial&&u&&this._updateImperial(u)},_updateMetric:function(u){var h=this._getRoundNum(u),b=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,b,h/u)},_updateImperial:function(u){var h=u*3.2808399,b,T,P;h>5280?(b=h/5280,T=this._getRoundNum(b),this._updateScale(this._iScale,T+" mi",T/b)):(P=this._getRoundNum(h),this._updateScale(this._iScale,P+" ft",P/h))},_updateScale:function(u,h,b){u.style.width=Math.round(this.options.maxWidth*b)+"px",u.innerHTML=h},_getRoundNum:function(u){var h=Math.pow(10,(Math.floor(u)+"").length-1),b=u/h;return b=b>=10?10:b>=5?5:b>=3?3:b>=2?2:1,h*b}}),gU=function(u){return new FO(u)},vU='',X0=Ai.extend({options:{position:"bottomright",prefix:''+(ze.inlineSvg?vU+" ":"")+"Leaflet"},initialize:function(u){y(this,u),this._attributions={}},onAdd:function(u){u.attributionControl=this,this._container=pt("div","leaflet-control-attribution"),od(this._container);for(var h in u._layers)u._layers[h].getAttribution&&this.addAttribution(u._layers[h].getAttribution());return this._update(),u.on("layeradd",this._addAttribution,this),this._container},onRemove:function(u){u.off("layeradd",this._addAttribution,this)},_addAttribution:function(u){u.layer.getAttribution&&(this.addAttribution(u.layer.getAttribution()),u.layer.once("remove",function(){this.removeAttribution(u.layer.getAttribution())},this))},setPrefix:function(u){return this.options.prefix=u,this._update(),this},addAttribution:function(u){return u?(this._attributions[u]||(this._attributions[u]=0),this._attributions[u]++,this._update(),this):this},removeAttribution:function(u){return u?(this._attributions[u]&&(this._attributions[u]--,this._update()),this):this},_update:function(){if(this._map){var u=[];for(var h in this._attributions)this._attributions[h]&&u.push(h);var b=[];this.options.prefix&&b.push(this.options.prefix),u.length&&b.push(u.join(", ")),this._container.innerHTML=b.join(' ')}}});ct.mergeOptions({attributionControl:!0}),ct.addInitHook(function(){this.options.attributionControl&&new X0().addTo(this)});var yU=function(u){return new X0(u)};Ai.Layers=IO,Ai.Zoom=Q0,Ai.Scale=FO,Ai.Attribution=X0,ad.layers=pU,ad.zoom=mU,ad.scale=gU,ad.attribution=yU;var Ji=G.extend({initialize:function(u){this._map=u},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ji.addTo=function(u,h){return u.addHandler(h,this),this};var _U={Events:te},$O=ze.touch?"touchstart mousedown":"mousedown",ya=le.extend({options:{clickTolerance:3},initialize:function(u,h,b,T){y(this,T),this._element=u,this._dragStartTarget=h||u,this._preventOutline=b},enable:function(){this._enabled||(qe(this._dragStartTarget,$O,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ya._dragging===this&&this.finishDrag(!0),Ct(this._dragStartTarget,$O,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(u){if(this._enabled&&(this._moved=!1,!F0(this._element,"leaflet-zoom-anim"))){if(u.touches&&u.touches.length!==1){ya._dragging===this&&this.finishDrag();return}if(!(ya._dragging||u.shiftKey||u.which!==1&&u.button!==1&&!u.touches)&&(ya._dragging=this,this._preventOutline&&H0(this._element),B0(),nd(),!this._moving)){this.fire("down");var h=u.touches?u.touches[0]:u,b=jO(this._element);this._startPoint=new q(h.clientX,h.clientY),this._startPos=ks(this._element),this._parentScale=W0(b);var T=u.type==="mousedown";qe(document,T?"mousemove":"touchmove",this._onMove,this),qe(document,T?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(u){if(this._enabled){if(u.touches&&u.touches.length>1){this._moved=!0;return}var h=u.touches&&u.touches.length===1?u.touches[0]:u,b=new q(h.clientX,h.clientY)._subtract(this._startPoint);!b.x&&!b.y||Math.abs(b.x)+Math.abs(b.y)B&&(oe=de,B=pe);B>b&&(h[oe]=1,e_(u,h,b,T,oe),e_(u,h,b,oe,P))}function SU(u,h){for(var b=[u[0]],T=1,P=0,B=u.length;Th&&(b.push(u[T]),P=T);return Ph.max.x&&(b|=2),u.yh.max.y&&(b|=8),b}function EU(u,h){var b=h.x-u.x,T=h.y-u.y;return b*b+T*T}function sd(u,h,b,T){var P=h.x,B=h.y,oe=b.x-P,de=b.y-B,pe=oe*oe+de*de,we;return pe>0&&(we=((u.x-P)*oe+(u.y-B)*de)/pe,we>1?(P=b.x,B=b.y):we>0&&(P+=oe*we,B+=de*we)),oe=u.x-P,de=u.y-B,T?oe*oe+de*de:new q(P,B)}function oi(u){return!S(u[0])||typeof u[0][0]!="object"&&typeof u[0][0]<"u"}function YO(u){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),oi(u)}function GO(u,h){var b,T,P,B,oe,de,pe,we;if(!u||u.length===0)throw new Error("latlngs not passed");oi(u)||(console.warn("latlngs are not flat! Only the first ring will be used"),u=u[0]);var De=ae([0,0]),We=K(u),Xe=We.getNorthWest().distanceTo(We.getSouthWest())*We.getNorthEast().distanceTo(We.getNorthWest());Xe<1700&&(De=J0(u));var hr=u.length,Cn=[];for(b=0;bT){pe=(B-T)/P,we=[de.x-pe*(de.x-oe.x),de.y-pe*(de.y-oe.y)];break}var Sr=h.unproject(D(we));return ae([Sr.lat+De.lat,Sr.lng+De.lng])}var TU={__proto__:null,simplify:zO,pointToSegmentDistance:VO,closestPointOnSegment:wU,clipSegment:WO,_getEdgeIntersection:xp,_getBitCode:js,_sqClosestPointOnSegment:sd,isFlat:oi,_flat:YO,polylineCenter:GO},t_={project:function(u){return new q(u.lng,u.lat)},unproject:function(u){return new re(u.y,u.x)},bounds:new H([-180,-90],[180,90])},n_={R:6378137,R_MINOR:6356752314245179e-9,bounds:new H([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(u){var h=Math.PI/180,b=this.R,T=u.lat*h,P=this.R_MINOR/b,B=Math.sqrt(1-P*P),oe=B*Math.sin(T),de=Math.tan(Math.PI/4-T/2)/Math.pow((1-oe)/(1+oe),B/2);return T=-b*Math.log(Math.max(de,1e-10)),new q(u.lng*h*b,T)},unproject:function(u){for(var h=180/Math.PI,b=this.R,T=this.R_MINOR/b,P=Math.sqrt(1-T*T),B=Math.exp(-u.y/b),oe=Math.PI/2-2*Math.atan(B),de=0,pe=.1,we;de<15&&Math.abs(pe)>1e-7;de++)we=P*Math.sin(oe),we=Math.pow((1-we)/(1+we),P/2),pe=Math.PI/2-2*Math.atan(B*we)-oe,oe+=pe;return new re(oe*h,u.x*h/b)}},OU={__proto__:null,LonLat:t_,Mercator:n_,SphericalMercator:F},CU=i({},O,{code:"EPSG:3395",projection:n_,transformation:function(){var u=.5/(Math.PI*n_.R);return J(u,.5,-u,.5)}()}),qO=i({},O,{code:"EPSG:4326",projection:t_,transformation:J(1/180,1,-1/180,.5)}),kU=i({},he,{projection:t_,transformation:J(1,0,-1,0),scale:function(u){return Math.pow(2,u)},zoom:function(u){return Math.log(u)/Math.LN2},distance:function(u,h){var b=h.lng-u.lng,T=h.lat-u.lat;return Math.sqrt(b*b+T*T)},infinite:!0});he.Earth=O,he.EPSG3395=CU,he.EPSG3857=se,he.EPSG900913=ge,he.EPSG4326=qO,he.Simple=kU;var Ri=le.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(u){return u.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(u){return u&&u.removeLayer(this),this},getPane:function(u){return this._map.getPane(u?this.options[u]||u:this.options.pane)},addInteractiveTarget:function(u){return this._map._targets[l(u)]=this,this},removeInteractiveTarget:function(u){return delete this._map._targets[l(u)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(u){var h=u.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var b=this.getEvents();h.on(b,this),this.once("remove",function(){h.off(b,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});ct.include({addLayer:function(u){if(!u._layerAdd)throw new Error("The provided object is not a Layer.");var h=l(u);return this._layers[h]?this:(this._layers[h]=u,u._mapToAdd=this,u.beforeAdd&&u.beforeAdd(this),this.whenReady(u._layerAdd,u),this)},removeLayer:function(u){var h=l(u);return this._layers[h]?(this._loaded&&u.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:u}),u.fire("remove")),u._map=u._mapToAdd=null,this):this},hasLayer:function(u){return l(u)in this._layers},eachLayer:function(u,h){for(var b in this._layers)u.call(h,this._layers[b]);return this},_addLayers:function(u){u=u?S(u)?u:[u]:[];for(var h=0,b=u.length;hthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&h[0]instanceof re&&h[0].equals(h[b-1])&&h.pop(),h},_setLatLngs:function(u){Lo.prototype._setLatLngs.call(this,u),oi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return oi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var u=this._renderer._bounds,h=this.options.weight,b=new q(h,h);if(u=new H(u.min.subtract(b),u.max.add(b)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(u))){if(this.options.noClip){this._parts=this._rings;return}for(var T=0,P=this._rings.length,B;Tu.y!=P.y>u.y&&u.x<(P.x-T.x)*(u.y-T.y)/(P.y-T.y)+T.x&&(h=!h);return h||Lo.prototype._containsPoint.call(this,u,!0)}});function DU(u,h){return new Jl(u,h)}var jo=Po.extend({initialize:function(u,h){y(this,h),this._layers={},u&&this.addData(u)},addData:function(u){var h=S(u)?u:u.features,b,T,P;if(h){for(b=0,T=h.length;b0&&P.push(P[0].slice()),P}function ec(u,h){return u.feature?i({},u.feature,{geometry:h}):kp(h)}function kp(u){return u.type==="Feature"||u.type==="FeatureCollection"?u:{type:"Feature",properties:{},geometry:u}}var a_={toGeoJSON:function(u){return ec(this,{type:"Point",coordinates:o_(this.getLatLng(),u)})}};Sp.include(a_),r_.include(a_),Ep.include(a_),Lo.include({toGeoJSON:function(u){var h=!oi(this._latlngs),b=Cp(this._latlngs,h?1:0,!1,u);return ec(this,{type:(h?"Multi":"")+"LineString",coordinates:b})}}),Jl.include({toGeoJSON:function(u){var h=!oi(this._latlngs),b=h&&!oi(this._latlngs[0]),T=Cp(this._latlngs,b?2:h?1:0,!0,u);return h||(T=[T]),ec(this,{type:(b?"Multi":"")+"Polygon",coordinates:T})}}),Ql.include({toMultiPoint:function(u){var h=[];return this.eachLayer(function(b){h.push(b.toGeoJSON(u).geometry.coordinates)}),ec(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(u){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(u);var b=h==="GeometryCollection",T=[];return this.eachLayer(function(P){if(P.toGeoJSON){var B=P.toGeoJSON(u);if(b)T.push(B.geometry);else{var oe=kp(B);oe.type==="FeatureCollection"?T.push.apply(T,oe.features):T.push(oe)}}}),b?ec(this,{geometries:T,type:"GeometryCollection"}):{type:"FeatureCollection",features:T}}});function QO(u,h){return new jo(u,h)}var IU=QO,Pp=Ri.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(u,h,b){this._url=u,this._bounds=K(h),y(this,b)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Ze(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Ht(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(u){return this.options.opacity=u,this._image&&this._updateOpacity(),this},setStyle:function(u){return u.opacity&&this.setOpacity(u.opacity),this},bringToFront:function(){return this._map&&Kl(this._image),this},bringToBack:function(){return this._map&&Zl(this._image),this},setUrl:function(u){return this._url=u,this._image&&(this._image.src=u),this},setBounds:function(u){return this._bounds=K(u),this._map&&this._reset(),this},getEvents:function(){var u={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(u.zoomanim=this._animateZoom),u},setZIndex:function(u){return this.options.zIndex=u,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var u=this._url.tagName==="IMG",h=this._image=u?this._url:pt("img");if(Ze(h,"leaflet-image-layer"),this._zoomAnimated&&Ze(h,"leaflet-zoom-animated"),this.options.className&&Ze(h,this.options.className),h.onselectstart=f,h.onmousemove=f,h.onload=a(this.fire,this,"load"),h.onerror=a(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),u){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(u){var h=this._map.getZoomScale(u.zoom),b=this._map._latLngBoundsToNewLayerBounds(this._bounds,u.zoom,u.center).min;Cs(this._image,b,h)},_reset:function(){var u=this._image,h=new H(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),b=h.getSize();pn(u,h.min),u.style.width=b.x+"px",u.style.height=b.y+"px"},_updateOpacity:function(){ii(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var u=this.options.errorOverlayUrl;u&&this._url!==u&&(this._url=u,this._image.src=u)},getCenter:function(){return this._bounds.getCenter()}}),FU=function(u,h,b){return new Pp(u,h,b)},XO=Pp.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var u=this._url.tagName==="VIDEO",h=this._image=u?this._url:pt("video");if(Ze(h,"leaflet-image-layer"),this._zoomAnimated&&Ze(h,"leaflet-zoom-animated"),this.options.className&&Ze(h,this.options.className),h.onselectstart=f,h.onmousemove=f,h.onloadeddata=a(this.fire,this,"load"),u){for(var b=h.getElementsByTagName("source"),T=[],P=0;P0?T:[h.src];return}S(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var B=0;BP?(h.height=P+"px",Ze(u,B)):rn(u,B),this._containerWidth=this._container.offsetWidth},_animateZoom:function(u){var h=this._map._latLngToNewLayerPoint(this._latlng,u.zoom,u.center),b=this._getAnchor();pn(this._container,h.add(b))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var u=this._map,h=parseInt(td(this._container,"marginBottom"),10)||0,b=this._container.offsetHeight+h,T=this._containerWidth,P=new q(this._containerLeft,-b-this._containerBottom);P._add(ks(this._container));var B=u.layerPointToContainerPoint(P),oe=D(this.options.autoPanPadding),de=D(this.options.autoPanPaddingTopLeft||oe),pe=D(this.options.autoPanPaddingBottomRight||oe),we=u.getSize(),De=0,We=0;B.x+T+pe.x>we.x&&(De=B.x+T-we.x+pe.x),B.x-De-de.x<0&&(De=B.x-de.x),B.y+b+pe.y>we.y&&(We=B.y+b-we.y+pe.y),B.y-We-de.y<0&&(We=B.y-de.y),(De||We)&&(this.options.keepInView&&(this._autopanning=!0),u.fire("autopanstart").panBy([De,We]))}},_getAnchor:function(){return D(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),BU=function(u,h){return new Lp(u,h)};ct.mergeOptions({closePopupOnClick:!0}),ct.include({openPopup:function(u,h,b){return this._initOverlay(Lp,u,h,b).openOn(this),this},closePopup:function(u){return u=arguments.length?u:this._popup,u&&u.close(),this}}),Ri.include({bindPopup:function(u,h){return this._popup=this._initOverlay(Lp,this._popup,u,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(u){return this._popup&&(this instanceof Po||(this._popup._source=this),this._popup._prepareOpen(u||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(u){return this._popup&&this._popup.setContent(u),this},getPopup:function(){return this._popup},_openPopup:function(u){if(!(!this._popup||!this._map)){Ls(u);var h=u.layer||u.target;if(this._popup._source===h&&!(h instanceof _a)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(u.latlng);return}this._popup._source=h,this.openPopup(u.latlng)}},_movePopup:function(u){this._popup.setLatLng(u.latlng)},_onKeyPress:function(u){u.originalEvent.keyCode===13&&this._openPopup(u)}});var jp=eo.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(u){eo.prototype.onAdd.call(this,u),this.setOpacity(this.options.opacity),u.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(u){eo.prototype.onRemove.call(this,u),u.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var u=eo.prototype.getEvents.call(this);return this.options.permanent||(u.preclick=this.close),u},_initLayout:function(){var u="leaflet-tooltip",h=u+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=pt("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+l(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(u){var h,b,T=this._map,P=this._container,B=T.latLngToContainerPoint(T.getCenter()),oe=T.layerPointToContainerPoint(u),de=this.options.direction,pe=P.offsetWidth,we=P.offsetHeight,De=D(this.options.offset),We=this._getAnchor();de==="top"?(h=pe/2,b=we):de==="bottom"?(h=pe/2,b=0):de==="center"?(h=pe/2,b=we/2):de==="right"?(h=0,b=we/2):de==="left"?(h=pe,b=we/2):oe.xthis.options.maxZoom||bT?this._retainParent(P,B,oe,T):!1)},_retainChildren:function(u,h,b,T){for(var P=2*u;P<2*u+2;P++)for(var B=2*h;B<2*h+2;B++){var oe=new q(P,B);oe.z=b+1;var de=this._tileCoordsToKey(oe),pe=this._tiles[de];if(pe&&pe.active){pe.retain=!0;continue}else pe&&pe.loaded&&(pe.retain=!0);b+1this.options.maxZoom||this.options.minZoom!==void 0&&P1){this._setView(u,b);return}for(var We=P.min.y;We<=P.max.y;We++)for(var Xe=P.min.x;Xe<=P.max.x;Xe++){var hr=new q(Xe,We);if(hr.z=this._tileZoom,!!this._isValidTile(hr)){var Cn=this._tiles[this._tileCoordsToKey(hr)];Cn?Cn.current=!0:oe.push(hr)}}if(oe.sort(function(Sr,nc){return Sr.distanceTo(B)-nc.distanceTo(B)}),oe.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var ai=document.createDocumentFragment();for(Xe=0;Xeb.max.x)||!h.wrapLat&&(u.yb.max.y))return!1}if(!this.options.bounds)return!0;var T=this._tileCoordsToBounds(u);return K(this.options.bounds).overlaps(T)},_keyToBounds:function(u){return this._tileCoordsToBounds(this._keyToTileCoords(u))},_tileCoordsToNwSe:function(u){var h=this._map,b=this.getTileSize(),T=u.scaleBy(b),P=T.add(b),B=h.unproject(T,u.z),oe=h.unproject(P,u.z);return[B,oe]},_tileCoordsToBounds:function(u){var h=this._tileCoordsToNwSe(u),b=new V(h[0],h[1]);return this.options.noWrap||(b=this._map.wrapLatLngBounds(b)),b},_tileCoordsToKey:function(u){return u.x+":"+u.y+":"+u.z},_keyToTileCoords:function(u){var h=u.split(":"),b=new q(+h[0],+h[1]);return b.z=+h[2],b},_removeTile:function(u){var h=this._tiles[u];h&&(Ht(h.el),delete this._tiles[u],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(u)}))},_initTile:function(u){Ze(u,"leaflet-tile");var h=this.getTileSize();u.style.width=h.x+"px",u.style.height=h.y+"px",u.onselectstart=f,u.onmousemove=f,ze.ielt9&&this.options.opacity<1&&ii(u,this.options.opacity)},_addTile:function(u,h){var b=this._getTilePos(u),T=this._tileCoordsToKey(u),P=this.createTile(this._wrapCoords(u),a(this._tileReady,this,u));this._initTile(P),this.createTile.length<2&&z(a(this._tileReady,this,u,null,P)),pn(P,b),this._tiles[T]={el:P,coords:u,current:!0},h.appendChild(P),this.fire("tileloadstart",{tile:P,coords:u})},_tileReady:function(u,h,b){h&&this.fire("tileerror",{error:h,tile:b,coords:u});var T=this._tileCoordsToKey(u);b=this._tiles[T],b&&(b.loaded=+new Date,this._map._fadeAnimated?(ii(b.el,0),W(this._fadeFrame),this._fadeFrame=z(this._updateOpacity,this)):(b.active=!0,this._pruneTiles()),h||(Ze(b.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:b.el,coords:u})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ze.ielt9||!this._map._fadeAnimated?z(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(u){return u.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(u){var h=new q(this._wrapX?d(u.x,this._wrapX):u.x,this._wrapY?d(u.y,this._wrapY):u.y);return h.z=u.z,h},_pxBoundsToTileRange:function(u){var h=this.getTileSize();return new H(u.min.unscaleBy(h).floor(),u.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var u in this._tiles)if(!this._tiles[u].loaded)return!1;return!0}});function HU(u){return new cd(u)}var tc=cd.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(u,h){this._url=u,h=y(this,h),h.detectRetina&&ze.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(u,h){return this._url===u&&h===void 0&&(h=!0),this._url=u,h||this.redraw(),this},createTile:function(u,h){var b=document.createElement("img");return qe(b,"load",a(this._tileOnLoad,this,h,b)),qe(b,"error",a(this._tileOnError,this,h,b)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(b.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(b.referrerPolicy=this.options.referrerPolicy),b.alt="",b.src=this.getTileUrl(u),b},getTileUrl:function(u){var h={r:ze.retina?"@2x":"",s:this._getSubdomain(u),x:u.x,y:u.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var b=this._globalTileRange.max.y-u.y;this.options.tms&&(h.y=b),h["-y"]=b}return w(this._url,i(h,this.options))},_tileOnLoad:function(u,h){ze.ielt9?setTimeout(a(u,this,null,h),0):u(null,h)},_tileOnError:function(u,h,b){var T=this.options.errorTileUrl;T&&h.getAttribute("src")!==T&&(h.src=T),u(b,h)},_onTileRemove:function(u){u.tile.onload=null},_getZoomForUrl:function(){var u=this._tileZoom,h=this.options.maxZoom,b=this.options.zoomReverse,T=this.options.zoomOffset;return b&&(u=h-u),u+T},_getSubdomain:function(u){var h=Math.abs(u.x+u.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var u,h;for(u in this._tiles)if(this._tiles[u].coords.z!==this._tileZoom&&(h=this._tiles[u].el,h.onload=f,h.onerror=f,!h.complete)){h.src=C;var b=this._tiles[u].coords;Ht(h),delete this._tiles[u],this.fire("tileabort",{tile:h,coords:b})}},_removeTile:function(u){var h=this._tiles[u];if(h)return h.el.setAttribute("src",C),cd.prototype._removeTile.call(this,u)},_tileReady:function(u,h,b){if(!(!this._map||b&&b.getAttribute("src")===C))return cd.prototype._tileReady.call(this,u,h,b)}});function tC(u,h){return new tc(u,h)}var nC=tc.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(u,h){this._url=u;var b=i({},this.defaultWmsParams);for(var T in h)T in this.options||(b[T]=h[T]);h=y(this,h);var P=h.detectRetina&&ze.retina?2:1,B=this.getTileSize();b.width=B.x*P,b.height=B.y*P,this.wmsParams=b},onAdd:function(u){this._crs=this.options.crs||u.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,tc.prototype.onAdd.call(this,u)},getTileUrl:function(u){var h=this._tileCoordsToNwSe(u),b=this._crs,T=ie(b.project(h[0]),b.project(h[1])),P=T.min,B=T.max,oe=(this._wmsVersion>=1.3&&this._crs===qO?[P.y,P.x,B.y,B.x]:[P.x,P.y,B.x,B.y]).join(","),de=tc.prototype.getTileUrl.call(this,u);return de+x(this.wmsParams,de,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+oe},setParams:function(u,h){return i(this.wmsParams,u),h||this.redraw(),this}});function WU(u,h){return new nC(u,h)}tc.WMS=nC,tC.wms=WU;var Mo=Ri.extend({options:{padding:.1},initialize:function(u){y(this,u),l(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Ze(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var u={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(u.zoomanim=this._onAnimZoom),u},_onAnimZoom:function(u){this._updateTransform(u.center,u.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(u,h){var b=this._map.getZoomScale(h,this._zoom),T=this._map.getSize().multiplyBy(.5+this.options.padding),P=this._map.project(this._center,h),B=T.multiplyBy(-b).add(P).subtract(this._map._getNewPixelOrigin(u,h));ze.any3d?Cs(this._container,B,b):pn(this._container,B)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var u in this._layers)this._layers[u]._reset()},_onZoomEnd:function(){for(var u in this._layers)this._layers[u]._project()},_updatePaths:function(){for(var u in this._layers)this._layers[u]._update()},_update:function(){var u=this.options.padding,h=this._map.getSize(),b=this._map.containerPointToLayerPoint(h.multiplyBy(-u)).round();this._bounds=new H(b,b.add(h.multiplyBy(1+u*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),rC=Mo.extend({options:{tolerance:0},getEvents:function(){var u=Mo.prototype.getEvents.call(this);return u.viewprereset=this._onViewPreReset,u},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Mo.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var u=this._container=document.createElement("canvas");qe(u,"mousemove",this._onMouseMove,this),qe(u,"click dblclick mousedown mouseup contextmenu",this._onClick,this),qe(u,"mouseout",this._handleMouseOut,this),u._leaflet_disable_events=!0,this._ctx=u.getContext("2d")},_destroyContainer:function(){W(this._redrawRequest),delete this._ctx,Ht(this._container),Ct(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var u;this._redrawBounds=null;for(var h in this._layers)u=this._layers[h],u._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Mo.prototype._update.call(this);var u=this._bounds,h=this._container,b=u.getSize(),T=ze.retina?2:1;pn(h,u.min),h.width=T*b.x,h.height=T*b.y,h.style.width=b.x+"px",h.style.height=b.y+"px",ze.retina&&this._ctx.scale(2,2),this._ctx.translate(-u.min.x,-u.min.y),this.fire("update")}},_reset:function(){Mo.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(u){this._updateDashArray(u),this._layers[l(u)]=u;var h=u._order={layer:u,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(u){this._requestRedraw(u)},_removePath:function(u){var h=u._order,b=h.next,T=h.prev;b?b.prev=T:this._drawLast=T,T?T.next=b:this._drawFirst=b,delete u._order,delete this._layers[l(u)],this._requestRedraw(u)},_updatePath:function(u){this._extendRedrawBounds(u),u._project(),u._update(),this._requestRedraw(u)},_updateStyle:function(u){this._updateDashArray(u),this._requestRedraw(u)},_updateDashArray:function(u){if(typeof u.options.dashArray=="string"){var h=u.options.dashArray.split(/[, ]+/),b=[],T,P;for(P=0;P')}}catch{}return function(u){return document.createElement("<"+u+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),YU={_initContainer:function(){this._container=pt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Mo.prototype._update.call(this),this.fire("update"))},_initPath:function(u){var h=u._container=ud("shape");Ze(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",u._path=ud("path"),h.appendChild(u._path),this._updateStyle(u),this._layers[l(u)]=u},_addPath:function(u){var h=u._container;this._container.appendChild(h),u.options.interactive&&u.addInteractiveTarget(h)},_removePath:function(u){var h=u._container;Ht(h),u.removeInteractiveTarget(h),delete this._layers[l(u)]},_updateStyle:function(u){var h=u._stroke,b=u._fill,T=u.options,P=u._container;P.stroked=!!T.stroke,P.filled=!!T.fill,T.stroke?(h||(h=u._stroke=ud("stroke")),P.appendChild(h),h.weight=T.weight+"px",h.color=T.color,h.opacity=T.opacity,T.dashArray?h.dashStyle=S(T.dashArray)?T.dashArray.join(" "):T.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=T.lineCap.replace("butt","flat"),h.joinstyle=T.lineJoin):h&&(P.removeChild(h),u._stroke=null),T.fill?(b||(b=u._fill=ud("fill")),P.appendChild(b),b.color=T.fillColor||T.color,b.opacity=T.fillOpacity):b&&(P.removeChild(b),u._fill=null)},_updateCircle:function(u){var h=u._point.round(),b=Math.round(u._radius),T=Math.round(u._radiusY||b);this._setPath(u,u._empty()?"M0 0":"AL "+h.x+","+h.y+" "+b+","+T+" 0,"+65535*360)},_setPath:function(u,h){u._path.v=h},_bringToFront:function(u){Kl(u._container)},_bringToBack:function(u){Zl(u._container)}},Mp=ze.vml?ud:Me,dd=Mo.extend({_initContainer:function(){this._container=Mp("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Mp("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Ht(this._container),Ct(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Mo.prototype._update.call(this);var u=this._bounds,h=u.getSize(),b=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,b.setAttribute("width",h.x),b.setAttribute("height",h.y)),pn(b,u.min),b.setAttribute("viewBox",[u.min.x,u.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(u){var h=u._path=Mp("path");u.options.className&&Ze(h,u.options.className),u.options.interactive&&Ze(h,"leaflet-interactive"),this._updateStyle(u),this._layers[l(u)]=u},_addPath:function(u){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(u._path),u.addInteractiveTarget(u._path)},_removePath:function(u){Ht(u._path),u.removeInteractiveTarget(u._path),delete this._layers[l(u)]},_updatePath:function(u){u._project(),u._update()},_updateStyle:function(u){var h=u._path,b=u.options;h&&(b.stroke?(h.setAttribute("stroke",b.color),h.setAttribute("stroke-opacity",b.opacity),h.setAttribute("stroke-width",b.weight),h.setAttribute("stroke-linecap",b.lineCap),h.setAttribute("stroke-linejoin",b.lineJoin),b.dashArray?h.setAttribute("stroke-dasharray",b.dashArray):h.removeAttribute("stroke-dasharray"),b.dashOffset?h.setAttribute("stroke-dashoffset",b.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),b.fill?(h.setAttribute("fill",b.fillColor||b.color),h.setAttribute("fill-opacity",b.fillOpacity),h.setAttribute("fill-rule",b.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(u,h){this._setPath(u,ue(u._parts,h))},_updateCircle:function(u){var h=u._point,b=Math.max(Math.round(u._radius),1),T=Math.max(Math.round(u._radiusY),1)||b,P="a"+b+","+T+" 0 1,0 ",B=u._empty()?"M0 0":"M"+(h.x-b)+","+h.y+P+b*2+",0 "+P+-b*2+",0 ";this._setPath(u,B)},_setPath:function(u,h){u._path.setAttribute("d",h)},_bringToFront:function(u){Kl(u._path)},_bringToBack:function(u){Zl(u._path)}});ze.vml&&dd.include(YU);function oC(u){return ze.svg||ze.vml?new dd(u):null}ct.include({getRenderer:function(u){var h=u.options.renderer||this._getPaneRenderer(u.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(u){if(u==="overlayPane"||u===void 0)return!1;var h=this._paneRenderers[u];return h===void 0&&(h=this._createRenderer({pane:u}),this._paneRenderers[u]=h),h},_createRenderer:function(u){return this.options.preferCanvas&&iC(u)||oC(u)}});var aC=Jl.extend({initialize:function(u,h){Jl.prototype.initialize.call(this,this._boundsToLatLngs(u),h)},setBounds:function(u){return this.setLatLngs(this._boundsToLatLngs(u))},_boundsToLatLngs:function(u){return u=K(u),[u.getSouthWest(),u.getNorthWest(),u.getNorthEast(),u.getSouthEast()]}});function GU(u,h){return new aC(u,h)}dd.create=Mp,dd.pointsToPath=ue,jo.geometryToLayer=Tp,jo.coordsToLatLng=i_,jo.coordsToLatLngs=Op,jo.latLngToCoords=o_,jo.latLngsToCoords=Cp,jo.getFeature=ec,jo.asFeature=kp,ct.mergeOptions({boxZoom:!0});var sC=Ji.extend({initialize:function(u){this._map=u,this._container=u._container,this._pane=u._panes.overlayPane,this._resetStateTimeout=0,u.on("unload",this._destroy,this)},addHooks:function(){qe(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ct(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Ht(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(u){if(!u.shiftKey||u.which!==1&&u.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),nd(),B0(),this._startPoint=this._map.mouseEventToContainerPoint(u),qe(document,{contextmenu:Ls,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(u){this._moved||(this._moved=!0,this._box=pt("div","leaflet-zoom-box",this._container),Ze(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(u);var h=new H(this._point,this._startPoint),b=h.getSize();pn(this._box,h.min),this._box.style.width=b.x+"px",this._box.style.height=b.y+"px"},_finish:function(){this._moved&&(Ht(this._box),rn(this._container,"leaflet-crosshair")),rd(),z0(),Ct(document,{contextmenu:Ls,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(u){if(!(u.which!==1&&u.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var h=new V(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(u){u.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ct.addInitHook("addHandler","boxZoom",sC),ct.mergeOptions({doubleClickZoom:!0});var lC=Ji.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(u){var h=this._map,b=h.getZoom(),T=h.options.zoomDelta,P=u.originalEvent.shiftKey?b-T:b+T;h.options.doubleClickZoom==="center"?h.setZoom(P):h.setZoomAround(u.containerPoint,P)}});ct.addInitHook("addHandler","doubleClickZoom",lC),ct.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var cC=Ji.extend({addHooks:function(){if(!this._draggable){var u=this._map;this._draggable=new ya(u._mapPane,u._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),u.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),u.on("zoomend",this._onZoomEnd,this),u.whenReady(this._onZoomEnd,this))}Ze(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){rn(this._map._container,"leaflet-grab"),rn(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var u=this._map;if(u._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=K(this._map.options.maxBounds);this._offsetLimit=ie(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;u.fire("movestart").fire("dragstart"),u.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(u){if(this._map.options.inertia){var h=this._lastTime=+new Date,b=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(b),this._times.push(h),this._prunePositions(h)}this._map.fire("move",u).fire("drag",u)},_prunePositions:function(u){for(;this._positions.length>1&&u-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var u=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(u).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(u,h){return u-(u-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var u=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;u.xh.max.x&&(u.x=this._viscousLimit(u.x,h.max.x)),u.y>h.max.y&&(u.y=this._viscousLimit(u.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(u)}},_onPreDragWrap:function(){var u=this._worldWidth,h=Math.round(u/2),b=this._initialWorldOffset,T=this._draggable._newPos.x,P=(T-h+b)%u+h-b,B=(T+h+b)%u-h-b,oe=Math.abs(P+b)0?B:-B))-h;this._delta=0,this._startTime=null,oe&&(u.options.scrollWheelZoom==="center"?u.setZoom(h+oe):u.setZoomAround(this._lastMousePos,h+oe))}});ct.addInitHook("addHandler","scrollWheelZoom",dC);var qU=600;ct.mergeOptions({tapHold:ze.touchNative&&ze.safari&&ze.mobile,tapTolerance:15});var fC=Ji.extend({addHooks:function(){qe(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ct(this._map._container,"touchstart",this._onDown,this)},_onDown:function(u){if(clearTimeout(this._holdTimeout),u.touches.length===1){var h=u.touches[0];this._startPos=this._newPos=new q(h.clientX,h.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(qe(document,"touchend",Yn),qe(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),qU),qe(document,"touchend touchcancel contextmenu",this._cancel,this),qe(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function u(){Ct(document,"touchend",Yn),Ct(document,"touchend touchcancel",u)},_cancel:function(){clearTimeout(this._holdTimeout),Ct(document,"touchend touchcancel contextmenu",this._cancel,this),Ct(document,"touchmove",this._onMove,this)},_onMove:function(u){var h=u.touches[0];this._newPos=new q(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(u,h){var b=new MouseEvent(u,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});b._simulated=!0,h.target.dispatchEvent(b)}});ct.addInitHook("addHandler","tapHold",fC),ct.mergeOptions({touchZoom:ze.touch,bounceAtZoomLimits:!0});var hC=Ji.extend({addHooks:function(){Ze(this._map._container,"leaflet-touch-zoom"),qe(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){rn(this._map._container,"leaflet-touch-zoom"),Ct(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(u){var h=this._map;if(!(!u.touches||u.touches.length!==2||h._animatingZoom||this._zooming)){var b=h.mouseEventToContainerPoint(u.touches[0]),T=h.mouseEventToContainerPoint(u.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(b.add(T)._divideBy(2))),this._startDist=b.distanceTo(T),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),qe(document,"touchmove",this._onTouchMove,this),qe(document,"touchend touchcancel",this._onTouchEnd,this),Yn(u)}},_onTouchMove:function(u){if(!(!u.touches||u.touches.length!==2||!this._zooming)){var h=this._map,b=h.mouseEventToContainerPoint(u.touches[0]),T=h.mouseEventToContainerPoint(u.touches[1]),P=b.distanceTo(T)/this._startDist;if(this._zoom=h.getScaleZoom(P,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoomh.getMaxZoom()&&P>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,P===1)return}else{var B=b._add(T)._divideBy(2)._subtract(this._centerPoint);if(P===1&&B.x===0&&B.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(B),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),W(this._animRequest);var oe=a(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=z(oe,this,!0),Yn(u)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,W(this._animRequest),Ct(document,"touchmove",this._onTouchMove,this),Ct(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});ct.addInitHook("addHandler","touchZoom",hC),ct.BoxZoom=sC,ct.DoubleClickZoom=lC,ct.Drag=cC,ct.Keyboard=uC,ct.ScrollWheelZoom=dC,ct.TapHold=fC,ct.TouchZoom=hC,n.Bounds=H,n.Browser=ze,n.CRS=he,n.Canvas=rC,n.Circle=r_,n.CircleMarker=Ep,n.Class=G,n.Control=Ai,n.DivIcon=eC,n.DivOverlay=eo,n.DomEvent=fU,n.DomUtil=uU,n.Draggable=ya,n.Evented=le,n.FeatureGroup=Po,n.GeoJSON=jo,n.GridLayer=cd,n.Handler=Ji,n.Icon=Xl,n.ImageOverlay=Pp,n.LatLng=re,n.LatLngBounds=V,n.Layer=Ri,n.LayerGroup=Ql,n.LineUtil=TU,n.Map=ct,n.Marker=Sp,n.Mixin=_U,n.Path=_a,n.Point=q,n.PolyUtil=bU,n.Polygon=Jl,n.Polyline=Lo,n.Popup=Lp,n.PosAnimation=DO,n.Projection=OU,n.Rectangle=aC,n.Renderer=Mo,n.SVG=dd,n.SVGOverlay=JO,n.TileLayer=tc,n.Tooltip=jp,n.Transformation=ee,n.Util=X,n.VideoOverlay=XO,n.bind=a,n.bounds=ie,n.canvas=iC,n.circle=RU,n.circleMarker=AU,n.control=ad,n.divIcon=VU,n.extend=i,n.featureGroup=LU,n.geoJSON=QO,n.geoJson=IU,n.gridLayer=HU,n.icon=jU,n.imageOverlay=FU,n.latLng=ae,n.latLngBounds=K,n.layerGroup=PU,n.map=hU,n.marker=MU,n.point=D,n.polygon=DU,n.polyline=NU,n.popup=BU,n.rectangle=GU,n.setOptions=y,n.stamp=l,n.svg=oC,n.svgOverlay=UU,n.tileLayer=tC,n.tooltip=zU,n.transformation=J,n.version=r,n.videoOverlay=$U;var KU=window.L;n.noConflict=function(){return window.L=KU,this},window.L=n})})(T2,T2.exports);var up=T2.exports;const LA=Gu(up);function dO(e,t,n){return Object.freeze({instance:e,context:t,container:n})}function fO(e,t){return t==null?function(n,r){const i=$.useRef();return i.current||(i.current=e(n,r)),i}:function(n,r){const i=$.useRef();i.current||(i.current=e(n,r));const o=$.useRef(n),{instance:a}=i.current;return $.useEffect(function(){o.current!==n&&(t(a,n,o.current),o.current=n)},[a,n,r]),i}}function Ube(e,t){$.useEffect(function(){return(t.layerContainer??t.map).addLayer(e.instance),function(){var n;(n=t.layerContainer)==null||n.removeLayer(e.instance),t.map.removeLayer(e.instance)}},[t,e])}function i$(e){return function(t){const n=n$(),r=e(uO(t,n),n);return JF(n.map,t.attribution),r$(r.current,t.eventHandlers),Ube(r.current,n),r}}function Bbe(e,t){const n=fO(e,t),r=i$(n);return Dbe(r)}function zbe(e,t){const n=fO(e),r=$be(n,t);return Ibe(r)}function Vbe(e,t){const n=fO(e,t),r=i$(n);return Fbe(r)}function Hbe(e,t,n){const{opacity:r,zIndex:i}=t;r!=null&&r!==n.opacity&&e.setOpacity(r),i!=null&&i!==n.zIndex&&e.setZIndex(i)}function O2(){return O2=Object.assign||function(e){for(var t=1;t(m==null?void 0:m.map)??null,[m]);const y=$.useCallback(_=>{if(_!==null&&m===null){const w=new up.Map(_,d);n!=null&&c!=null?w.setView(n,c):e!=null&&w.fitBounds(e,t),l!=null&&w.whenReady(l),v(Rbe(w))}},[]);$.useEffect(()=>()=>{m==null||m.map.remove()},[m]);const x=m?Y.createElement(t$,{value:m},r):a??null;return Y.createElement("div",O2({},p,{ref:y}),x)}const Ybe=$.forwardRef(Wbe),Gbe=Bbe(function({position:e,...t},n){const r=new up.Marker(e,t);return dO(r,Nbe(n,{overlayContainer:r}))},function(e,t,n){t.position!==n.position&&e.setLatLng(t.position),t.icon!=null&&t.icon!==n.icon&&e.setIcon(t.icon),t.zIndexOffset!=null&&t.zIndexOffset!==n.zIndexOffset&&e.setZIndexOffset(t.zIndexOffset),t.opacity!=null&&t.opacity!==n.opacity&&e.setOpacity(t.opacity),e.dragging!=null&&t.draggable!==n.draggable&&(t.draggable===!0?e.dragging.enable():e.dragging.disable())}),qbe=zbe(function(e,t){const n=new up.Popup(e,t.overlayContainer);return dO(n,t)},function(e,t,{position:n},r){$.useEffect(function(){const{instance:i}=e;function o(s){s.popup===i&&(i.update(),r(!0))}function a(s){s.popup===i&&r(!1)}return t.map.on({popupopen:o,popupclose:a}),t.overlayContainer==null?(n!=null&&i.setLatLng(n),i.openOn(t.map)):t.overlayContainer.bindPopup(i),function(){var s;t.map.off({popupopen:o,popupclose:a}),(s=t.overlayContainer)==null||s.unbindPopup(),t.map.removeLayer(i)}},[e,t,r,n])}),Kbe=Vbe(function({url:e,...t},n){const r=new up.TileLayer(e,uO(t,n));return dO(r,n)},function(e,t,n){Hbe(e,t,n);const{url:r}=t;r!=null&&r!==n.url&&e.setUrl(r)}),Zbe=()=>g.jsx(Kbe,{attribution:'© OpenStreetMap contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),Qbe=e=>{if(e.length===0)return{};if(e.length>1)return{bounds:e.map(mt("latLong"))};const[{latLong:t}]=e;return{zoom:10,center:t}},o$=({toggle:e,isOpen:t,title:n,locations:r=[]})=>g.jsx(fa,{toggle:e,isOpen:t,className:"map-modal__modal",contentClassName:"map-modal__modal-content",children:g.jsxs(Co,{className:"map-modal__modal-body",children:[g.jsxs("h3",{className:"map-modal__modal-title",children:[n,g.jsx("button",{type:"button",className:"btn-close float-end","aria-label":"Close",onClick:e})]}),g.jsxs(Ybe,{...Qbe(r),children:[g.jsx(Zbe,{}),r.map(({cityName:i,latLong:o,count:a},s)=>g.jsx(Gbe,{position:o,children:g.jsxs(qbe,{children:[g.jsx("b",{children:a})," visit",a>1?"s":""," from ",g.jsx("b",{children:i})]})},s))]})]})}),Xbe=({modalTitle:e,activeCities:t,locations:n=[]})=>{const[r,,i,o]=Tn(),[a,s]=Tn(),[l,c]=$.useState([]),d=l0(),f=$.useCallback(p=>{c(p?n.filter(p):n),i()},[n]);return g.jsxs(g.Fragment,{children:[!t&&g.jsx(yt,{color:"link",className:"open-map-modal-btn__btn",id:d,onClick:()=>f(),children:g.jsx(Ae,{icon:qb})}),t&&g.jsxs(Bh,{isOpen:a,toggle:s,children:[g.jsx(zu,{color:"link",className:"open-map-modal-btn__btn",id:d,children:g.jsx(Ae,{icon:qb})}),g.jsxs(Bu,{end:!0,children:[g.jsx(Ue,{onClick:()=>f(),children:"Show all locations"}),g.jsx(Ue,{onClick:()=>f(({cityName:p})=>t.includes(p)),children:"Show locations in current page"})]})]}),g.jsx(Dr,{placement:"left",target:d,children:"Show in map"}),g.jsx(o$,{toggle:o,isOpen:r,title:e,locations:l})]})},Jbe=({onChange:e,selected:t={},className:n,isOrphanVisits:r})=>{const{orphanVisitsType:i,excludeBots:o=!1}=t,a=s=>({active:i===s,onClick:()=>e({...t,orphanVisitsType:s===(t==null?void 0:t.orphanVisitsType)?void 0:s})});return g.jsxs(pa,{text:"Filters",dropdownClassName:n,inline:!0,end:!0,minWidth:250,children:[g.jsx(Ue,{header:!0,children:"Bots:"}),g.jsx(Ue,{active:o,onClick:()=>e({...t,excludeBots:!(t!=null&&t.excludeBots)}),children:"Exclude potential bots"}),r&&g.jsxs(g.Fragment,{children:[g.jsx(Ue,{divider:!0}),g.jsx(Ue,{header:!0,children:"Orphan visits type:"}),g.jsx(Ue,{...a("base_url"),children:"Base URL"}),g.jsx(Ue,{...a("invalid_short_url"),children:"Invalid short URL"}),g.jsx(Ue,{...a("regular_404"),children:"Regular 404"})]}),g.jsx(Ue,{divider:!0}),g.jsx(Ue,{disabled:!fo(t),onClick:()=>e({excludeBots:!1,orphanVisitsType:void 0}),children:g.jsx("i",{children:"Clear filters"})})]})},a$=(e,t)=>!Bl(e)&&fo(e[t]),jA=e=>typeof e=="number"?e:e?parseFloat(e):0,ewe=(e,{os:t})=>{e[t]=(e[t]||0)+1},twe=(e,{browser:t})=>{e[t]=(e[t]||0)+1},nwe=(e,{referer:t})=>{e[t]=(e[t]||0)+1},s$=e=>(t,n)=>{const r=a$(n,e)?n[e]:"Unknown";t[r]=(t[r]||0)+1},rwe=s$("country"),iwe=s$("city"),owe=(e,t)=>{if(!a$(t,"city")||t.city==="Unknown")return;const{city:n,latitude:r,longitude:i}=t,o=e[n]||{cityName:n,count:0,latLong:[jA(r),jA(i)]};o.count+=1,e[n]=o},awe=(e,t)=>{if(!Y1e(t))return;const{visitedUrl:n}=t;e[n]=(e[n]||0)+1},l$=e=>e.reduce((t,n)=>(ewe(t.os,n),twe(t.browsers,n),nwe(t.referrers,n),rwe(t.countries,n),iwe(t.cities,n),owe(t.citiesForMap,n),awe(t.visitedUrls,n),t),{os:{},browsers:{},referrers:{},countries:{},cities:{},citiesForMap:{},visitedUrls:{}}),c$=F5(e=>{const{userAgent:t,date:n,referer:r,visitLocation:i,potentialBot:o}=e,a={date:n,potentialBot:o,...hbe(t),referer:pbe(r),country:(i==null?void 0:i.countryName)||"Unknown",city:(i==null?void 0:i.cityName)||"Unknown",latitude:i==null?void 0:i.latitude,longitude:i==null?void 0:i.longitude};return aO(e)?{...a,type:e.type,visitedUrl:e.visitedUrl}:a}),swe=Object.freeze(Object.defineProperty({__proto__:null,normalizeVisits:c$,processStatsFromVisits:l$},Symbol.toStringTag,{value:"Module"})),qd=20,lwe=({browser:e,os:t,referer:n,country:r,city:i,...o},a)=>`${e} ${t} ${n} ${r} ${i} ${o.visitedUrl}`.toLowerCase().includes(a.toLowerCase()),cwe=(e,t)=>t.filter(n=>lwe(n,e)),uwe=(e,t)=>YI(t,e),dwe=(e,t,n)=>{const r=t?cwe(t,e):[...e],i=uwe(n,r),o=i.length;return{visitsGroups:yh(qd,i),total:o}},fwe=({visits:e,selectedVisits:t=[],setSelectedVisits:n,matchMedia:r=window.matchMedia,isOrphanVisits:i=!1})=>{var o,a;const s="visits-table__header-cell visits-table__sticky",l=()=>r("(max-width: 767px)").matches,[c,d]=$.useState(l()),[f,p]=$.useState(void 0),[m,v]=$.useState({}),y=$.useMemo(()=>dwe(e,f,m),[f,m]),x=$.useRef(!0),[_,w]=$.useState(1),S=_*qd,E=S-qd,C=8+Number(i),k=A=>()=>v({field:A,dir:u0(A,m.field,m.dir)}),j=A=>g.jsx(Pf,{currentOrder:m,field:A,className:"visits-table__header-icon"});return $.useEffect(()=>{const A=()=>d(l());return window.addEventListener("resize",A),()=>window.removeEventListener("resize",A)},[]),$.useEffect(()=>{w(1),!x.current&&n([]),x.current=!1},[f]),g.jsx("div",{className:"table-responsive-md",children:g.jsxs("table",{className:"table table-bordered table-hover table-sm visits-table",children:[g.jsxs("thead",{className:"visits-table__header",children:[g.jsxs("tr",{children:[g.jsx("th",{className:`${s} text-center`,onClick:()=>n(t.length0})})}),g.jsxs("th",{className:`${s} text-center`,onClick:k("potentialBot"),children:[g.jsx(Ae,{icon:iP}),j("potentialBot")]}),g.jsxs("th",{className:s,onClick:k("date"),children:["Date",j("date")]}),g.jsxs("th",{className:s,onClick:k("country"),children:["Country",j("country")]}),g.jsxs("th",{className:s,onClick:k("city"),children:["City",j("city")]}),g.jsxs("th",{className:s,onClick:k("browser"),children:["Browser",j("browser")]}),g.jsxs("th",{className:s,onClick:k("os"),children:["OS",j("os")]}),g.jsxs("th",{className:s,onClick:k("referer"),children:["Referrer",j("referer")]}),i&&g.jsxs("th",{className:s,onClick:k("visitedUrl"),children:["Visited URL",j("visitedUrl")]})]}),g.jsx("tr",{children:g.jsx("td",{colSpan:C,className:"p-0",children:g.jsx(Wh,{noBorder:!0,large:!1,onChange:p})})})]}),g.jsxs("tbody",{children:[!((o=y.visitsGroups[_-1])!=null&&o.length)&&g.jsx("tr",{children:g.jsx("td",{colSpan:C,className:"text-center",children:"No visits found with current filtering"})}),(a=y.visitsGroups[_-1])==null?void 0:a.map((A,U)=>{const N=t.includes(A);return g.jsxs("tr",{style:{cursor:"pointer"},className:rt({"table-active":N}),onClick:()=>n(N?t.filter(z=>z!==A):[...t,A]),children:[g.jsx("td",{className:"text-center",children:N&&g.jsx(Ae,{icon:qf,className:"text-primary"})}),g.jsx("td",{className:"text-center",children:A.potentialBot&&g.jsxs(g.Fragment,{children:[g.jsx(Ae,{icon:iP,id:`botIcon${U}`}),g.jsx(Dr,{placement:"right",target:`botIcon${U}`,children:"Potentially a visit from a bot or crawler"})]})}),g.jsx("td",{children:g.jsx(oy,{date:A.date})}),g.jsx("td",{children:A.country}),g.jsx("td",{children:A.city}),g.jsx("td",{children:A.browser}),g.jsx("td",{children:A.os}),g.jsx("td",{children:A.referer}),i&&g.jsx("td",{children:A.visitedUrl})]},U)})]}),y.total>qd&&g.jsx("tfoot",{children:g.jsx("tr",{children:g.jsx("td",{colSpan:C,className:"visits-table__footer-cell visits-table__sticky",children:g.jsxs("div",{className:"row",children:[g.jsx("div",{className:"col-md-6",children:g.jsx(eO,{pagesCount:Math.ceil(y.total/qd),currentPage:_,setCurrentPage:w,centered:c})}),g.jsx("div",{className:rt("col-md-6",{"d-flex align-items-center flex-row-reverse":!c,"text-center mt-3":c}),children:g.jsxs("div",{children:["Visits ",g.jsx("b",{children:Sn(E+1)})," to"," ",g.jsx("b",{children:Sn(G5(S,y.total))})," of"," ",g.jsx("b",{children:Sn(y.total)})]})})]})})})})]})})},gc={byTime:{title:"By time",subPath:"by-time",icon:HW},byContext:{title:"By context",subPath:"by-context",icon:KS},byLocation:{title:"By location",subPath:"by-location",icon:qb},list:{title:"List",subPath:"list",icon:f4}};let Bm;const dp=({children:e,visitsInfo:t,getVisits:n,cancelGetVisits:r,exportCsv:i,isOrphanVisits:o=!1})=>{const{visits:a,loading:s,loadingLarge:l,error:c,errorData:d,progress:f,fallbackInterval:p}=t,[{dateRange:m,visitsFilter:v},y]=Mbe(),x=Hl("visits"),_=Qn(({startDate:V,endDate:K})=>({dateRange:{startDate:V??void 0,endDate:K??void 0}}),y),w=$.useRef(m??p??(x==null?void 0:x.defaultInterval)??"last30Days"),[S,E]=$.useState([]),[C,k]=$.useState(),j=$.useRef(!0),{search:A}=yn(),U=V=>V?`${V}${A}`:A,N=$.useMemo(()=>c$(a),[a]),{os:z,browsers:W,referrers:X,countries:G,cities:Z,citiesForMap:te,visitedUrls:le}=$.useMemo(()=>l$(N),[N]),q=$.useMemo(()=>({...v,excludeBots:v.excludeBots??(x==null?void 0:x.excludeBots)}),[v]),I=pT(te),D=V=>{Bm=void 0,E(V)},H=V=>K=>{const re=`${V}_${K}`;Bm===re?(E([]),k(void 0),Bm=void 0):(E(N.filter(Dde(V,K))),k(K),Bm=re)};$.useEffect(()=>r,[]),$.useEffect(()=>{const V=j.current?m??ame(w.current):m;n({dateRange:V,filter:q},j.current),j.current=!1},[m,v]),$.useEffect(()=>{p&&w.current===((x==null?void 0:x.defaultInterval)??"last30Days")&&(w.current=p)},[p]);const ie=()=>l?g.jsxs(Go,{loading:!0,children:["This is going to take a while... :S",g.jsx(MI,{value:f,striped:f===100,className:"mt-3"})]}):s?g.jsx(Go,{loading:!0}):c?g.jsx(Yr,{type:"error",children:g.jsx(ia,{errorData:d,fallbackMessage:"An error occurred while loading visits :("})}):Li(a)?g.jsx(Go,{children:"There are no visits matching current filter"}):g.jsxs(g.Fragment,{children:[g.jsx(WI,{fill:!0,children:Object.values(gc).map(({title:V,icon:K,subPath:re},ae)=>g.jsxs(df,{to:U(re),replace:!0,children:[g.jsx(Ae,{icon:K}),g.jsx("span",{className:"ms-2 d-none d-sm-inline",children:V})]},ae))}),g.jsx(yr,{children:g.jsxs(Ky,{children:[g.jsx(vt,{path:gc.byTime.subPath,element:g.jsx("div",{className:"col-12 mt-3",children:g.jsx(xbe,{title:"Visits during time",visits:N,highlightedVisits:S,highlightedLabel:C,setSelectedVisits:D})})}),g.jsx(vt,{path:gc.byContext.subPath,element:g.jsxs(g.Fragment,{children:[g.jsx("div",{className:rt("mt-3 col-lg-6",{"col-xl-4":!o}),children:g.jsx(SA,{title:"Operating systems",stats:z})}),g.jsx("div",{className:rt("mt-3 col-lg-6",{"col-xl-4":!o}),children:g.jsx(SA,{title:"Browsers",stats:W})}),g.jsx("div",{className:rt("mt-3",{"col-xl-4":!o,"col-lg-6":o}),children:g.jsx(Um,{title:"Referrers",stats:X,withPagination:!1,highlightedStats:Fm(S,"referer"),highlightedLabel:C,sortingItems:{name:"Referrer name",amount:"Visits amount"},onClick:H("referer")})}),o&&g.jsx("div",{className:"mt-3 col-lg-6",children:g.jsx(Um,{title:"Visited URLs",stats:le,highlightedLabel:C,highlightedStats:Fm(S,"visitedUrl"),sortingItems:{visitedUrl:"Visited URL",amount:"Visits amount"},onClick:H("visitedUrl")})})]})}),g.jsx(vt,{path:gc.byLocation.subPath,element:g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"col-lg-6 mt-3",children:g.jsx(Um,{title:"Countries",stats:G,highlightedStats:Fm(S,"country"),highlightedLabel:C,sortingItems:{name:"Country name",amount:"Visits amount"},onClick:H("country")})}),g.jsx("div",{className:"col-lg-6 mt-3",children:g.jsx(Um,{title:"Cities",stats:Z,highlightedStats:Fm(S,"city"),highlightedLabel:C,extraHeaderContent:V=>I.length>0&&g.jsx(Xbe,{modalTitle:"Cities",locations:I,activeCities:V}),sortingItems:{name:"City name",amount:"Visits amount"},onClick:H("city")})})]})}),g.jsx(vt,{path:gc.list.subPath,element:g.jsx("div",{className:"col-12",children:g.jsx(fwe,{visits:N,selectedVisits:S,setSelectedVisits:D,isOrphanVisits:o})})}),g.jsx(vt,{path:"*",element:g.jsx(FS,{replace:!0,to:U(gc.byTime.subPath)})})]})})]});return g.jsxs(g.Fragment,{children:[e,g.jsx("section",{className:"mt-3",children:g.jsxs("div",{className:"row flex-md-row-reverse",children:[g.jsx("div",{className:"col-lg-7 col-xl-6",children:g.jsxs("div",{className:"d-md-flex",children:[g.jsx("div",{className:"flex-fill",children:g.jsx(_F,{updatable:!0,disabled:s,initialDateRange:w.current,defaultText:"All visits",onDatesChange:_})}),g.jsx(Jbe,{className:"ms-0 ms-md-2 mt-3 mt-md-0",isOrphanVisits:o,selected:q,onChange:V=>y({visitsFilter:V})})]})}),a.length>0&&g.jsx("div",{className:"col-lg-5 col-xl-6 mt-3 mt-lg-0",children:g.jsxs("div",{className:"d-flex",children:[g.jsx(z8,{className:"btn-md-block",amount:N.length,onClick:()=>i(N)}),g.jsxs(yt,{outline:!0,disabled:S.length===0,className:"btn-md-block ms-2",onClick:()=>D([]),children:["Clear selection ",S.length>0&&g.jsxs(g.Fragment,{children:["(",Sn(S.length),")"]})]})]})})]})}),g.jsx("section",{className:"mt-3",children:ie()})]})},hwe=({exportVisits:e})=>Es(({getDomainVisits:t,domainVisits:n,cancelGetDomainVisits:r})=>{const i=qu(),{domain:o=""}=Dl(),[a,s=a]=o.split("_");return g.jsx(dp,{getVisits:(l,c)=>t({domain:s,query:lp(l),doIntervalFallback:c}),cancelGetVisits:r,visitsInfo:n,exportCsv:l=>e(`domain_${a}_visits.csv`,l),children:g.jsx(cp,{goBack:i,visits:n.visits,title:`"${a}" visits`})})},()=>[yi.visits]),pwe=({exportVisits:e})=>Es(({getNonOrphanVisits:t,nonOrphanVisits:n,cancelGetNonOrphanVisits:r})=>{const i=qu();return g.jsx(dp,{getVisits:(o,a)=>t({query:lp(o),doIntervalFallback:a}),cancelGetVisits:r,visitsInfo:n,exportCsv:o=>e("non_orphan_visits.csv",o),children:g.jsx(cp,{title:"Non-orphan visits",goBack:i,visits:n.visits})})},()=>[yi.visits]),mwe=({exportVisits:e})=>Es(({getOrphanVisits:t,orphanVisits:n,cancelGetOrphanVisits:r})=>{const i=qu();return g.jsx(dp,{getVisits:(o,a)=>{var s;return t({query:lp(o),orphanVisitsType:(s=o.filter)==null?void 0:s.orphanVisitsType,doIntervalFallback:a})},cancelGetVisits:r,visitsInfo:n,exportCsv:o=>e("orphan_visits.csv",o),isOrphanVisits:!0,children:g.jsx(cp,{title:"Orphan visits",goBack:i,visits:n.visits})})},()=>[yi.orphanVisits]),u$="shlink/orphanVisits",gwe={visits:[],loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},vwe=e=>rp({typePrefix:`${u$}/getNonOrphanVisits`,createLoaders:({query:t={},doIntervalFallback:n=!1})=>{const r=e(),i=async(a,s)=>r.getNonOrphanVisits({...t,page:a,itemsPerPage:s}),o=ip(n,a=>r.getNonOrphanVisits(a));return[i,o]},getExtraFulfilledPayload:({query:t={}})=>({query:t}),shouldCancel:t=>t().orphanVisits.cancelLoad}),ywe=e=>op({name:u$,initialState:gwe,asyncThunkCreator:e,filterCreatedVisits:({query:t={}},n)=>{const{startDate:r,endDate:i}=t;return n.filter(({visit:o})=>ep(o.date,r,i))}}),d$="shlink/orphanVisits",_we={visits:[],loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},bwe=(e,t)=>!t||t===e.type,wwe=e=>rp({typePrefix:`${d$}/getOrphanVisits`,createLoaders:({orphanVisitsType:t,query:n={},doIntervalFallback:r=!1})=>{const i=e(),o=async(s,l)=>i.getOrphanVisits({...n,page:s,itemsPerPage:l}).then(c=>{const d=c.data.filter(f=>aO(f)&&bwe(f,t));return{...c,data:d}}),a=ip(r,s=>i.getOrphanVisits(s));return[o,a]},getExtraFulfilledPayload:({query:t={}})=>({query:t}),shouldCancel:t=>t().orphanVisits.cancelLoad}),xwe=e=>op({name:d$,initialState:_we,asyncThunkCreator:e,filterCreatedVisits:({query:t={}},n)=>{const{startDate:r,endDate:i}=t;return n.filter(({visit:o,shortUrl:a})=>!a&&ep(o.date,r,i))}}),f$="shlink/shortUrlVisits",Swe={visits:[],shortCode:"",domain:void 0,loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},Ewe=e=>rp({typePrefix:`${f$}/getShortUrlVisits`,createLoaders:({shortCode:t,query:n={},doIntervalFallback:r=!1})=>{const i=e(),o=async(s,l)=>i.getShortUrlVisits(t,{...n,page:s,itemsPerPage:l}),a=ip(r,async s=>i.getShortUrlVisits(t,{...s,domain:n.domain}));return[o,a]},getExtraFulfilledPayload:({shortCode:t,query:n={}})=>({shortCode:t,query:n,domain:n.domain}),shouldCancel:t=>t().shortUrlVisits.cancelLoad}),Twe=e=>op({name:f$,initialState:Swe,asyncThunkCreator:e,filterCreatedVisits:({shortCode:t,domain:n,query:r={}},i)=>{const{startDate:o,endDate:a}=r;return i.filter(({shortUrl:s,visit:l})=>s&&Sf(s,t,n)&&ep(l.date,o,a))}}),h$="shlink/tagVisits",Owe={visits:[],tag:"",loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},Cwe=e=>rp({typePrefix:`${h$}/getTagVisits`,createLoaders:({tag:t,query:n={},doIntervalFallback:r=!1})=>{const i=e(),o=async(s,l)=>i.getTagVisits(t,{...n,page:s,itemsPerPage:l}),a=ip(r,async s=>i.getTagVisits(t,s));return[o,a]},getExtraFulfilledPayload:({tag:t,query:n={}})=>({tag:t,query:n}),shouldCancel:t=>t().tagVisits.cancelLoad}),kwe=e=>op({name:h$,initialState:Owe,asyncThunkCreator:e,filterCreatedVisits:({tag:t,query:n={}},r)=>{const{startDate:i,endDate:o}=n;return r.filter(({shortUrl:a,visit:s})=>(a==null?void 0:a.tags.includes(t))&&ep(s.date,i,o))}}),p$="shlink/visitsOverview",zm={nonOrphanVisits:{total:0},orphanVisits:{total:0},loading:!1,error:!1},MA=e=>e.filter(({visit:t})=>t.potentialBot).length,Pwe=e=>Nr(`${p$}/loadVisitsOverview`,()=>e().getVisitsOverview().then(({nonOrphanVisits:t,visitsCount:n,orphanVisits:r,orphanVisitsCount:i})=>({nonOrphanVisits:{total:(t==null?void 0:t.total)??n,nonBots:t==null?void 0:t.nonBots,bots:t==null?void 0:t.bots},orphanVisits:{total:(r==null?void 0:r.total)??i,nonBots:r==null?void 0:r.nonBots,bots:r==null?void 0:r.bots}}))),Lwe=e=>ur({name:p$,initialState:zm,reducers:{},extraReducers:t=>{t.addCase(e.pending,()=>({...zm,loading:!0})),t.addCase(e.rejected,()=>({...zm,error:!0})),t.addCase(e.fulfilled,(n,{payload:r})=>({...zm,...r})),t.addCase(np,({nonOrphanVisits:n,orphanVisits:r,...i},{payload:o})=>{const{nonOrphanVisits:a,orphanVisits:s}=G1e(o.createdVisits),l=a.length,c=MA(a),d=l-c,f=s.length,p=MA(s),m=f-p;return{...i,nonOrphanVisits:{total:n.total+l,bots:n.bots&&n.bots+c,nonBots:n.nonBots&&n.nonBots+d},orphanVisits:{total:r.total+f,bots:r.bots&&r.bots+p,nonBots:r.nonBots&&r.nonBots+m}}})}}),jwe=({shortUrlDetail:e,shortUrlVisits:t,goBack:n})=>{const{shortUrl:r,loading:i}=e,{visits:o}=t,a=(r==null?void 0:r.shortUrl)??"",s=(r==null?void 0:r.longUrl)??"",l=r==null?void 0:r.title;return g.jsxs(cp,{title:g.jsxs(g.Fragment,{children:["Visits for ",g.jsx(qo,{href:a})]}),goBack:n,visits:o,shortUrl:r,children:[g.jsx("hr",{}),g.jsxs("div",{children:["Created: ",(()=>r?g.jsxs("span",{children:[g.jsx("b",{id:"created",className:"short-url-visits-header__created-at",children:g.jsx(oy,{date:r.dateCreated,relative:!0})}),g.jsx(Dr,{placement:"bottom",target:"created",children:g.jsx(oy,{date:r.dateCreated})})]}):g.jsx("small",{children:"Loading..."}))()]}),g.jsxs("div",{className:"long-url-container",children:[`${l?"Title":"Long URL"}: `,i&&g.jsx("small",{children:"Loading..."}),!i&&g.jsx(qo,{href:s,children:l??s})]})]})},Mwe=({exportVisits:e})=>Es(({shortUrlVisits:t,shortUrlDetail:n,getShortUrlVisits:r,getShortUrlDetail:i,cancelGetShortUrlVisits:o})=>{const{shortCode:a=""}=Dl(),{search:s}=yn(),l=qu(),{domain:c}=Fl(s),d=(p,m)=>r({shortCode:yg(a),query:{...lp(p),domain:c},doIntervalFallback:m}),f=p=>{var m;return e(`short-url_${(m=n.shortUrl)==null?void 0:m.shortUrl.replace(/https?:\/\//g,"")}_visits.csv`,p)};return $.useEffect(()=>{i({shortCode:yg(a),domain:c})},[]),g.jsx(dp,{getVisits:d,cancelGetVisits:o,visitsInfo:t,exportCsv:f,children:g.jsx(jwe,{shortUrlDetail:n,shortUrlVisits:t,goBack:l})})},(t,n)=>n.shortCode?[yi.shortUrlVisits(yg(n.shortCode))]:[]),Awe=({tagVisits:e,goBack:t,colorGenerator:n})=>{const{visits:r,tag:i}=e;return g.jsx(cp,{title:g.jsxs("span",{className:"d-flex align-items-center justify-content-center",children:[g.jsx("span",{className:"me-2",children:"Visits for"}),g.jsx(UT,{text:i,colorGenerator:n})]}),goBack:t,visits:r})},Rwe=(e,{exportVisits:t})=>Es(({getTagVisits:n,tagVisits:r,cancelGetTagVisits:i})=>{const o=qu(),{tag:a=""}=Dl();return g.jsx(dp,{getVisits:(s,l)=>n({tag:a,query:lp(s),doIntervalFallback:l}),cancelGetVisits:i,visitsInfo:r,exportCsv:s=>t(`tag_${a}_visits.csv`,s),children:g.jsx(Awe,{tagVisits:r,goBack:o,colorGenerator:e})})},()=>[yi.visits]),Nwe=(e,t)=>{e.serviceFactory("MapModal",()=>o$),e.serviceFactory("ShortUrlVisits",Mwe,"ReportExporter"),e.decorator("ShortUrlVisits",t(["shortUrlVisits","shortUrlDetail","mercureInfo"],["getShortUrlVisits","getShortUrlDetail","cancelGetShortUrlVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("TagVisits",Rwe,"ColorGenerator","ReportExporter"),e.decorator("TagVisits",t(["tagVisits","mercureInfo"],["getTagVisits","cancelGetTagVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("DomainVisits",hwe,"ReportExporter"),e.decorator("DomainVisits",t(["domainVisits","mercureInfo"],["getDomainVisits","cancelGetDomainVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("OrphanVisits",mwe,"ReportExporter"),e.decorator("OrphanVisits",t(["orphanVisits","mercureInfo"],["getOrphanVisits","cancelGetOrphanVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("NonOrphanVisits",pwe,"ReportExporter"),e.decorator("NonOrphanVisits",t(["nonOrphanVisits","mercureInfo"],["getNonOrphanVisits","cancelGetNonOrphanVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("VisitsParser",()=>swe),e.serviceFactory("getShortUrlVisits",Ewe,"apiClientFactory"),e.serviceFactory("cancelGetShortUrlVisits",mt("cancelGetVisits"),"shortUrlVisitsReducerCreator"),e.serviceFactory("getTagVisits",Cwe,"apiClientFactory"),e.serviceFactory("cancelGetTagVisits",mt("cancelGetVisits"),"tagVisitsReducerCreator"),e.serviceFactory("getDomainVisits",ume,"apiClientFactory"),e.serviceFactory("cancelGetDomainVisits",mt("cancelGetVisits"),"domainVisitsReducerCreator"),e.serviceFactory("getOrphanVisits",wwe,"apiClientFactory"),e.serviceFactory("cancelGetOrphanVisits",mt("cancelGetVisits"),"orphanVisitsReducerCreator"),e.serviceFactory("getNonOrphanVisits",vwe,"apiClientFactory"),e.serviceFactory("cancelGetNonOrphanVisits",mt("cancelGetVisits"),"nonOrphanVisitsReducerCreator"),e.serviceFactory("createNewVisits",()=>np),e.serviceFactory("loadVisitsOverview",Pwe,"apiClientFactory"),e.serviceFactory("visitsOverviewReducerCreator",Lwe,"loadVisitsOverview"),e.serviceFactory("visitsOverviewReducer",mt("reducer"),"visitsOverviewReducerCreator"),e.serviceFactory("domainVisitsReducerCreator",dme,"getDomainVisits"),e.serviceFactory("domainVisitsReducer",mt("reducer"),"domainVisitsReducerCreator"),e.serviceFactory("nonOrphanVisitsReducerCreator",ywe,"getNonOrphanVisits"),e.serviceFactory("nonOrphanVisitsReducer",mt("reducer"),"nonOrphanVisitsReducerCreator"),e.serviceFactory("orphanVisitsReducerCreator",xwe,"getOrphanVisits"),e.serviceFactory("orphanVisitsReducer",mt("reducer"),"orphanVisitsReducerCreator"),e.serviceFactory("shortUrlVisitsReducerCreator",Twe,"getShortUrlVisits"),e.serviceFactory("shortUrlVisitsReducer",mt("reducer"),"shortUrlVisitsReducerCreator"),e.serviceFactory("tagVisitsReducerCreator",kwe,"getTagVisits"),e.serviceFactory("tagVisitsReducer",mt("reducer"),"tagVisitsReducerCreator")},Ad=({children:e,to:t,className:n,...r})=>g.jsx(VD,{className:({isActive:i})=>rt("aside-menu__item",n,{"aside-menu__item--selected":i}),to:t,...r,children:e}),Dwe=({routePrefix:e,showOnMobile:t=!1})=>{const{pathname:n}=yn(),r=rt("aside-menu",{"aside-menu--hidden":!t}),i=o=>`${e}${o}`;return g.jsx("aside",{className:r,children:g.jsxs("nav",{className:"nav flex-column aside-menu__nav",children:[g.jsxs(Ad,{to:i("/overview"),children:[g.jsx(Ae,{fixedWidth:!0,icon:bY}),g.jsx("span",{className:"aside-menu__item-text",children:"Overview"})]}),g.jsxs(Ad,{to:i("/list-short-urls/1"),className:rt({"aside-menu__item--selected":n.match("/list-short-urls")!==null}),children:[g.jsx(Ae,{fixedWidth:!0,icon:f4}),g.jsx("span",{className:"aside-menu__item-text",children:"List short URLs"})]}),g.jsxs(Ad,{to:i("/create-short-url"),children:[g.jsx(Ae,{fixedWidth:!0,icon:TY,flip:"horizontal"}),g.jsx("span",{className:"aside-menu__item-text",children:"Create short URL"})]}),g.jsxs(Ad,{to:i("/manage-tags"),children:[g.jsx(Ae,{fixedWidth:!0,icon:h4}),g.jsx("span",{className:"aside-menu__item-text",children:"Manage tags"})]}),g.jsxs(Ad,{to:i("/manage-domains"),children:[g.jsx(Ae,{fixedWidth:!0,icon:eY}),g.jsx("span",{className:"aside-menu__item-text",children:"Manage domains"})]})]})})},Iwe=(e,t,n,r,i,o,a,s,l,c,d)=>({createNotFound:f})=>{const p=yn(),m=zl(),[v,y,x,_]=Tn();$.useEffect(()=>_(),[p]);const w=Jh("domainVisits"),S=rt("shlink-layout__burger-icon",{"shlink-layout__burger-icon--active":v}),E=tge(x,_);return g.jsxs(g.Fragment,{children:[g.jsx(Ae,{icon:KW,className:S,onClick:y}),g.jsx("div",{...E,className:"shlink-layout__swipeable",children:g.jsxs("div",{className:"shlink-layout__swipeable-inner",children:[g.jsx(Dwe,{routePrefix:m,showOnMobile:v}),g.jsx("div",{className:"shlink-layout__container",onClick:()=>_(),children:g.jsx("div",{className:"container-xl",children:g.jsxs(Ky,{children:[g.jsx(vt,{index:!0,element:g.jsx(FS,{replace:!0,to:"overview"})}),g.jsx(vt,{path:"/overview",element:g.jsx(l,{})}),g.jsx(vt,{path:"/list-short-urls/:page",element:g.jsx(t,{})}),g.jsx(vt,{path:"/create-short-url",element:g.jsx(n,{})}),g.jsx(vt,{path:"/short-code/:shortCode/visits/*",element:g.jsx(r,{})}),g.jsx(vt,{path:"/short-code/:shortCode/edit",element:g.jsx(c,{})}),g.jsx(vt,{path:"/tag/:tag/visits/*",element:g.jsx(i,{})}),w&&g.jsx(vt,{path:"/domain/:domain/visits/*",element:g.jsx(o,{})}),g.jsx(vt,{path:"/orphan-visits/*",element:g.jsx(a,{})}),g.jsx(vt,{path:"/non-orphan-visits/*",element:g.jsx(s,{})}),g.jsx(vt,{path:"/manage-tags",element:g.jsx(e,{})}),g.jsx(vt,{path:"/manage-domains",element:g.jsx(d,{})}),f&&g.jsx(vt,{path:"*",element:f("/list-short-urls/1")})]})})})]})})]})},Fwe=!0,$we=e=>w6({devTools:!Fwe,reducer:VE({mercureInfo:e.mercureInfoReducer,shortUrlsList:e.shortUrlsListReducer,shortUrlCreation:e.shortUrlCreationReducer,shortUrlDeletion:e.shortUrlDeletionReducer,shortUrlEdition:e.shortUrlEditionReducer,shortUrlDetail:e.shortUrlDetailReducer,shortUrlVisits:e.shortUrlVisitsReducer,tagVisits:e.tagVisitsReducer,domainVisits:e.domainVisitsReducer,orphanVisits:e.orphanVisitsReducer,nonOrphanVisits:e.nonOrphanVisitsReducer,tagsList:e.tagsListReducer,tagDelete:e.tagDeleteReducer,tagEdit:e.tagEditReducer,domainsList:e.domainsListReducer,visitsOverview:e.visitsOverviewReducer}),middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),Uwe=e=>{e.serviceFactory("Main",Iwe,"TagsList","ShortUrlsList","CreateShortUrl","ShortUrlVisits","TagVisits","DomainVisits","OrphanVisits","NonOrphanVisits","Overview","EditShortUrl","ManageDomains"),e.factory("store",$we)},ko=new rue,{container:Bwe}=ko,zwe=(e,t)=>(...n)=>e[t](...n),Vwe=(e,t)=>({...e,[t]:zwe(Bwe,t)}),fp=(e,t=[])=>jD(e?q5(e):null,t.reduce(Vwe,{}));Uwe(ko);c0e(ko,fp);C_e(ko,fp);Nwe(ko,fp);Eme(ko);wme(ko,fp);$me(ko,fp);W1e(ko);let AA;const Hwe=e=>({serverVersion:t,apiClient:n,settings:r,routesPrefix:i="",createNotFound:o,tagColorsStorage:a})=>{const s=tfe(t),l=$.useRef(),[c,d]=$.useState(),f=Nl(),[p,m]=$.useMemo(()=>f?[$.Fragment,{}]:[zD,{basename:i}],[f,i]);return $.useEffect(()=>{AA=n,e.value("apiClientFactory",()=>AA),a&&e.value("TagColorsStorage",a);const{container:v}=e,{Main:y,store:x,loadMercureInfo:_,listTags:w}=v;l.current=g.jsx(y,{createNotFound:o}),d(x),x.dispatch(_(r)),x.dispatch(w())},[n,a]),c?g.jsx(MD,{store:c,children:g.jsx(Dme,{value:r,children:g.jsx(nfe,{value:s,children:g.jsx(rfe,{value:i,children:g.jsx(p,{...m,children:l.current})})})})}):g.jsx(g.Fragment,{})},Wwe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",Ywe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",Gwe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",qwe=()=>{delete LA.Icon.Default.prototype._getIconUrl,LA.Icon.Default.mergeOptions({iconRetinaUrl:Ywe,iconUrl:Wwe,shadowUrl:Gwe})};qwe();const Kwe=Hwe(ko);function uy(e){return t=>{const{resetSelectedServer:n}=t;return $.useEffect(()=>{n()},[n]),g.jsx(e,{...t})}}let Zwe=class extends $.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){const{console:n=globalThis.console}=this.props;n.error(t)}render(){const{hasError:t}=this.state,{location:n=globalThis.location}=this.props;if(t)return g.jsx("div",{className:"home",children:g.jsxs(gn,{className:"p-4",children:[g.jsx("h1",{children:"Oops! This is awkward :S"}),g.jsx("p",{children:"It seems that something went wrong. Try refreshing the page or just click this button."}),g.jsx("br",{}),g.jsx(yt,{outline:!0,color:"primary",onClick:()=>n.reload(),children:"Take me back"})]})});const{children:r}=this.props;return r}};const m$=({href:e,children:t,rel:n,...r})=>g.jsx("a",{target:"_blank",rel:`noopener noreferrer${n?` ${n}`:""}`,href:e,...r,children:t??e});const Qwe=({id:e,name:t})=>g.jsxs(FI,{tag:Ft,to:`/server/${e}`,className:"servers-list__server-item",children:[t,g.jsx(Ae,{icon:LY,className:"servers-list__server-item-icon"})]}),g$=({servers:e,children:t,embedded:n=!1})=>g.jsxs(g.Fragment,{children:[t&&g.jsx("h5",{className:"mb-md-3",children:t}),e.length>0&&g.jsx(NI,{className:Ve("servers-list__list-group",{"servers-list__list-group--embedded":n}),children:e.map(({id:r,name:i})=>g.jsx(Qwe,{id:r,name:i},r))})]}),v$=({color:e=kE,className:t})=>g.jsx("svg",{className:t,viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:g.jsxs("g",{fill:e,children:[g.jsx("path",{d:" M 23.71 85.08 C 17.22 49.81 49.44 14.86 85.08 18.12 C 118.83 19.21 145.72 53.33 139.45 86.37 C 155.64 102.30 171.32 118.83 187.87 134.36 C 198.32 111.73 208.84 89.12 219.57 66.62 C 226.05 53.84 243.47 48.74 255.73 56.27 C 263.76 62.10 270.34 69.69 277.25 76.75 C 286.28 86.61 285.72 102.89 276.31 112.31 C 223.38 165.37 170.38 218.37 117.35 271.34 C 107.72 280.99 91.01 281.25 81.11 271.86 C 74.39 264.94 66.82 258.69 61.24 250.77 C 53.72 238.52 58.85 221.07 71.64 214.62 C 94.11 203.87 116.72 193.38 139.33 182.91 C 123.81 166.36 107.30 150.68 91.37 134.49 C 60.20 140.28 27.37 116.78 23.71 85.08 Z"}),g.jsx("path",{d:" M 205.21 201.23 C 225.32 181.36 260.88 181.11 281.14 200.86 C 299.25 218.75 317.37 236.65 335.10 254.93 C 356.73 278.01 352.01 318.70 326.03 336.56 C 320.07 330.47 313.73 324.65 308.12 318.28 C 323.86 309.39 328.76 286.18 316.63 272.39 C 301.73 256.95 286.30 242.03 271.24 226.75 C 264.49 219.65 256.80 212.00 246.37 211.52 C 224.65 208.64 205.52 233.36 214.49 253.58 C 221.09 266.81 234.22 275.12 243.62 286.24 C 240.43 295.96 238.09 306.13 238.29 316.46 C 225.55 304.29 213.16 291.73 200.89 279.09 C 180.97 257.57 183.10 220.45 205.21 201.23 Z"}),g.jsx("path",{d:" M 273.90 352.07 C 252.28 328.99 256.98 288.31 282.96 270.46 C 288.93 276.54 295.26 282.36 300.88 288.72 C 285.14 297.62 280.23 320.82 292.38 334.61 C 307.27 350.05 322.70 364.96 337.75 380.25 C 344.51 387.35 352.20 395.00 362.64 395.48 C 384.35 398.37 403.49 373.64 394.51 353.42 C 387.92 340.18 374.78 331.88 365.38 320.76 C 368.56 311.04 370.91 300.86 370.71 290.54 C 383.45 302.70 395.84 315.27 408.11 327.91 C 428.03 349.43 425.90 386.55 403.78 405.77 C 383.68 425.64 348.13 425.89 327.86 406.14 C 309.75 388.25 291.60 370.37 273.90 352.07 Z"}),g.jsx("path",{d:" M 422.11 403.83 C 431.96 394.07 441.60 384.06 451.66 374.51 C 460.90 383.74 471.89 392.70 474.89 406.11 C 480.16 429.97 484.08 454.13 488.76 478.12 C 490.00 483.41 484.47 488.29 479.35 486.63 C 454.66 481.52 429.55 478.12 405.14 471.84 C 393.17 467.97 385.20 457.75 376.55 449.27 C 386.39 439.49 396.13 429.60 406.06 419.91 C 416.37 433.45 435.74 414.00 422.11 403.83 Z"})]})});const Xwe=({servers:e})=>{const t=Oo(),n=WS(e),r=!o4(n);return $.useEffect(()=>{const i=n.find(({autoConnect:o})=>o);i&&t(`/server/${i.id}`)},[n,t]),g.jsx("div",{className:"home",children:g.jsx(Zr,{className:"home__main-card",children:g.jsxs(yr,{className:"g-0",children:[g.jsx("div",{className:"col-md-5 d-none d-md-block",children:g.jsx("div",{className:"home__logo-wrapper",children:g.jsx("div",{className:"home__logo",children:g.jsx(v$,{})})})}),g.jsxs("div",{className:"col-md-7 home__servers-container",children:[g.jsx("div",{className:"home__title-wrapper",children:g.jsx("h1",{className:"home__title",children:"Welcome!"})}),g.jsx(g$,{embedded:!0,servers:n,children:!r&&g.jsxs("div",{className:"p-4 text-center",children:[g.jsx("p",{className:"mb-5",children:"This application will help you manage your Shlink servers."}),g.jsx("p",{children:g.jsxs(Ft,{to:"/server/create",className:"btn btn-outline-primary btn-lg me-2",children:[g.jsx(Ae,{icon:QS})," ",g.jsx("span",{className:"ms-1",children:"Add a server"})]})}),g.jsx("p",{className:"mb-0 mt-5",children:g.jsx(m$,{href:"https://shlink.io/documentation",children:g.jsxs("small",{children:[g.jsx("span",{className:"me-1",children:"Learn more about Shlink"})," ",g.jsx(Ae,{icon:dY})]})})})]})})]})]})})})};const y$=()=>{const{ServersDropdown:e}=ki(y$),[t,n,,r]=Tn(),i=yn(),{pathname:o}=i;$.useEffect(r,[i,r]);const a="/settings",s=Ve("main-header__toggle-icon",{"main-header__toggle-icon--opened":t});return g.jsxs(eI,{color:"primary",dark:!0,fixed:"top",className:"main-header",expand:"md",children:[g.jsxs(tI,{tag:Ft,to:"/",children:[g.jsx(v$,{className:"main-header__brand-logo",color:"white"})," Shlink"]}),g.jsx(nI,{onClick:n,children:g.jsx(Ae,{icon:kY,className:s})}),g.jsx(CX,{navbar:!0,isOpen:t,children:g.jsxs(hE,{navbar:!0,className:"ms-auto",children:[g.jsx(rI,{children:g.jsxs(aI,{tag:Ft,to:a,active:o.startsWith(a),children:[g.jsx(Ae,{icon:RY}),"  Settings"]})}),g.jsx(e,{})]})})]})},Jwe=Pi(y$,["ServersDropdown"]),exe=({children:e})=>{const t=yn();return $.useEffect(()=>{scrollTo(0,0)},[t]),g.jsx(g.Fragment,{children:e})},txe=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,RA=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(txe);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},NA=e=>e==="*"||e==="x"||e==="X",DA=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},nxe=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],rxe=(e,t)=>{if(NA(e)||NA(t))return 0;const[n,r]=nxe(DA(e),DA(t));return n>r?1:n{for(let n=0;n{const n=RA(e),r=RA(t),i=n.pop(),o=r.pop(),a=IA(n,r);return a!==0?a:i&&o?IA(i.split("."),o.split(".")):i||o?i?-1:1:0},oxe=(e,t,n)=>{axe(n);const r=ixe(e,t);return _$[n].includes(r)},_$={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},FA=Object.keys(_$),axe=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(FA.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${FA.join("|")}`)},b$=a4(i4,e=>{try{return oxe(e,e,"=")}catch{return!1}}),w$=e=>b$(e)?`v${e}`:e,x$=(e="latest")=>t=>b$(t)?t:e,sxe="%_VERSION_%",lxe=Jy(x$(),w$),$A=({project:e,version:t})=>g.jsx(m$,{href:`https://github.com/shlinkio/${e}/releases/${t}`,className:"text-muted",children:g.jsx("b",{children:t})}),cxe=({selectedServer:e,clientVersion:t=sxe})=>{const n=lxe(t);return g.jsxs("small",{className:"text-muted",children:[u4(e)&&g.jsxs(g.Fragment,{children:["Server: ",g.jsx($A,{project:"shlink",version:e.printableVersion})," - "]}),"Client: ",g.jsx($A,{project:"shlink-web-client",version:n})]})};const uxe=/^\/server\/[a-zA-Z0-9-]*\/(?!edit)/,dxe=({selectedServer:e})=>{const{pathname:t}=yn(),n=$.useMemo(()=>uxe.test(t),[t]),r=Ve("text-center",{"shlink-versions-container--with-sidebar":n});return g.jsx("div",{className:r,children:g.jsx(cxe,{selectedServer:e})})};const Zu=({children:e})=>g.jsx("div",{className:"no-menu-wrapper container-xl",children:e});function S$(e){const t=n=>{const{ServerError:r}=ki(t),i=Dl(),{selectServer:o,selectedServer:a}=n;return $.useEffect(()=>{i.serverId&&o(i.serverId)},[i.serverId,o]),a?DW(a)?g.jsx(r,{}):g.jsx(e,{...n}):g.jsx(Zu,{children:g.jsx(Go,{loading:!0})})};return t}const E$=S$(({selectedServer:e,settings:t})=>{const{buildShlinkApiClient:n,TagColorsStorage:r,ShlinkWebComponent:i,ServerError:o}=ki(E$),a=u4(e),s=a?`/server/${e.id}`:"";return a?g.jsx(i,{serverVersion:e.version,apiClient:n(e),settings:t,routesPrefix:s,tagColorsStorage:r,createNotFound:l=>g.jsx(u6,{to:`${s}${l}`,children:"List short URLs"})}):g.jsx(o,{})}),fxe=Pi(E$,["buildShlinkApiClient","TagColorsStorage","ShlinkWebComponent","ServerError"]),hxe=(e,t)=>{e.constant("window",window),e.constant("console",console),e.constant("fetch",window.fetch.bind(window)),e.service("HttpClient",Sie,"fetch"),e.serviceFactory("ScrollToTop",()=>exe),e.factory("MainHeader",Jwe),e.serviceFactory("Home",()=>Xwe),e.decorator("Home",uy),e.decorator("Home",t(["servers"],["resetSelectedServer"])),e.serviceFactory("ShlinkWebComponent",()=>Kwe),e.factory("ShlinkWebComponentContainer",fxe),e.decorator("ShlinkWebComponentContainer",t(["selectedServer","settings"],["selectServer"])),e.serviceFactory("ShlinkVersionsContainer",()=>dxe),e.decorator("ShlinkVersionsContainer",t(["selectedServer"])),e.serviceFactory("ErrorHandler",()=>Zwe)};let Vm;const pxe=new Uint8Array(16);function mxe(){if(!Vm&&(Vm=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Vm))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Vm(pxe)}const qn=[];for(let e=0;e<256;++e)qn.push((e+256).toString(16).slice(1));function gxe(e,t=0){return(qn[e[t+0]]+qn[e[t+1]]+qn[e[t+2]]+qn[e[t+3]]+"-"+qn[e[t+4]]+qn[e[t+5]]+"-"+qn[e[t+6]]+qn[e[t+7]]+"-"+qn[e[t+8]]+qn[e[t+9]]+"-"+qn[e[t+10]]+qn[e[t+11]]+qn[e[t+12]]+qn[e[t+13]]+qn[e[t+14]]+qn[e[t+15]]).toLowerCase()}const vxe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),UA={randomUUID:vxe};function T$(e,t,n){if(UA.randomUUID&&!t&&!e)return UA.randomUUID();e=e||{};const r=e.random||(e.rng||mxe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return gxe(r)}const yxe=2e3,_xe=(e,t)=>(n=!1,r=yxe)=>{const[i,o]=$.useState(n),a=$.useRef(void 0);return[i,()=>{o(!n),a.current&&t(a.current),a.current=e(()=>o(n),r)}]},O$=()=>{const e=Oo();return()=>e(-1)},bxe=()=>{const{search:e}=yn();return Fl(e)},C$=({isOpen:e,duplicatedServers:t,onDiscard:n,onSave:r})=>{const i=t.length>1;return g.jsxs(fa,{centered:!0,isOpen:e,children:[g.jsxs(ha,{children:["Duplicated server",i&&"s"]}),g.jsxs(Co,{children:[g.jsx("p",{children:i?"The next servers already exist:":"There is already a server with:"}),g.jsx("ul",{children:t.map(({url:o,apiKey:a},s)=>i?g.jsxs("li",{children:[g.jsx("b",{children:o})," - ",g.jsx("b",{children:a})]},s):g.jsxs($.Fragment,{children:[g.jsxs("li",{children:["URL: ",g.jsx("b",{children:o})]}),g.jsxs("li",{children:["API key: ",g.jsx("b",{children:a})]})]},s))}),g.jsxs("span",{children:[i?"Do you want to ignore duplicated servers":"Do you want to save this server anyway","?"]})]}),g.jsxs(Il,{children:[g.jsx(yt,{color:"link",onClick:n,children:i?"Ignore duplicates":"Discard"}),g.jsx(yt,{color:"primary",onClick:r,children:"Save anyway"})]})]})},wxe=e=>Jy(t=>t.preventDefault(),e),k$=({onSubmit:e,initialValues:t,children:n,title:r})=>{const[i,o]=$.useState(""),[a,s]=$.useState(""),[l,c]=$.useState(""),d=wxe(()=>e({name:i,url:a,apiKey:l}));return $.useEffect(()=>{t&&o(t.name),t&&s(t.url),t&&c(t.apiKey)},[t]),g.jsxs("form",{className:"server-form",name:"serverForm",onSubmit:d,children:[g.jsxs(gn,{className:"mb-3",title:r,children:[g.jsx(sg,{value:i,onChange:o,children:"Name"}),g.jsx(sg,{type:"url",value:a,onChange:s,children:"URL"}),g.jsx(sg,{value:l,onChange:c,children:"API key"})]}),g.jsx("div",{className:"text-end",children:n})]})},BA=4e3,zA=({type:e})=>g.jsx("div",{className:"mt-3",children:g.jsxs(Yr,{type:e,children:[e==="success"&&"Servers properly imported. You can now select one from the list :)",e==="error"&&"The servers could not be imported. Make sure the format is correct."]})}),P$=({servers:e,createServers:t})=>{const{ImportServersBtn:n,useTimeoutToggle:r}=ki(P$),i=Oo(),o=O$(),a=!!Object.keys(e).length,[s,l]=r(!1,BA),[c,d]=r(!1,BA),[f,p]=Tn(),[m,v]=$.useState(),y=$.useCallback(x=>{const _=T$();t([{...x,id:_}]),i(`/server/${_}`)},[t,i]);return $.useEffect(()=>{if(!m)return;Object.values(e).some(({url:_,apiKey:w})=>(m==null?void 0:m.url)===_&&(m==null?void 0:m.apiKey)===w)?p():y(m)},[y,m,e,p]),g.jsxs(Zu,{children:[g.jsxs(k$,{title:g.jsx("h5",{className:"mb-0",children:"Add new server"}),onSubmit:v,children:[!a&&g.jsx(n,{tooltipPlacement:"top",onImport:l,onImportError:d}),a&&g.jsx(yt,{outline:!0,onClick:o,children:"Cancel"}),g.jsx(yt,{outline:!0,color:"primary",className:"ms-2",children:"Create server"})]}),s&&g.jsx(zA,{type:"success"}),c&&g.jsx(zA,{type:"error"}),g.jsx(C$,{isOpen:f,duplicatedServers:m?[m]:[],onDiscard:o,onSave:()=>m&&y(m)})]})},xxe=Pi(P$,["ImportServersBtn","useTimeoutToggle"]),L$=({server:e,className:t,children:n,textClassName:r})=>{const{DeleteServerModal:i}=ki(L$),[o,,a,s]=Tn();return g.jsxs(g.Fragment,{children:[g.jsxs("button",{type:"button",className:Ve(t,"p-0 bg-transparent border-0"),onClick:a,children:[!n&&g.jsx(Ae,{fixedWidth:!0,icon:GS}),g.jsx("span",{className:r,children:n??"Remove this server"})]}),g.jsx(i,{server:e,isOpen:o,toggle:s})]})},Sxe=Pi(L$,["DeleteServerModal"]),Exe=({server:e,toggle:t,isOpen:n,deleteServer:r,redirectHome:i=!0})=>{const o=Oo(),a=$.useRef(!1),s=()=>{a.current=!0,t()},l=()=>{a.current&&(r(e),i&&o("/"))};return g.jsxs(fa,{isOpen:n,toggle:t,centered:!0,onClosed:l,children:[g.jsx(ha,{toggle:t,className:"text-danger",children:"Remove server"}),g.jsxs(Co,{children:[g.jsxs("p",{children:["Are you sure you want to remove ",g.jsx("b",{children:e?e.name:""}),"?"]}),g.jsx("p",{children:g.jsx("i",{children:"No data will be deleted, only the access to this server will be removed from this device. You can create it again at any moment."})})]}),g.jsxs(Il,{children:[g.jsx(yt,{color:"link",onClick:t,children:"Cancel"}),g.jsx(yt,{color:"danger",onClick:s,children:"Delete"})]})]})},Txe=S$(({editServer:e,selectedServer:t,selectServer:n})=>{const r=O$(),{reconnect:i}=bxe();if(!of(t))return null;const o=a=>{e(t.id,a),i==="true"&&n(t.id),r()};return g.jsx(Zu,{children:g.jsxs(k$,{title:g.jsxs("h5",{className:"mb-0",children:['Edit "',t.name,'"']}),initialValues:t,onSubmit:o,children:[g.jsx(yt,{outline:!0,className:"me-2",onClick:r,children:"Cancel"}),g.jsx(yt,{outline:!0,color:"primary",children:"Save"})]})})}),Oxe=Pi(Txe,["ServerError"]),VA=e=>({url:t,apiKey:n})=>e.some(r=>r.url===t&&r.apiKey===n),j$=({createServers:e,servers:t,children:n,onImport:r=()=>{},onImportError:i=()=>{},tooltipPlacement:o="bottom",className:a=""})=>{const{ServersImporter:s}=ki(j$),l=ws(),[c,d]=$.useState([]),[f,,p,m]=Tn(),v=$.useRef([]),y=$.useCallback(S=>{e(S),r()},[e,r]),x=$.useCallback(async({target:S})=>{var E;return s.importServersFromFile((E=S.files)==null?void 0:E[0]).then(C=>{v.current=C;const k=Object.values(t),j=C.filter(VA(k)),A=!!j.length;A?d(j):y(C),A&&p()}).then(()=>{S.value=null}).catch(i)},[y,i,t,s,p]),_=$.useCallback(()=>{y(v.current),m()},[y,m,v]),w=$.useCallback(()=>{y(v.current.filter(qH(VA(c)))),m()},[y,c,m]);return g.jsxs(g.Fragment,{children:[g.jsxs(yt,{outline:!0,id:"importBtn",className:a,onClick:()=>{var S;return(S=l.current)==null?void 0:S.click()},children:[g.jsx(Ae,{icon:rY,fixedWidth:!0})," ",n??"Import from file"]}),g.jsxs(Dr,{placement:o,target:"importBtn",children:["You can create servers by importing a CSV file with ",g.jsx("b",{children:"name"}),", ",g.jsx("b",{children:"apiKey"})," and ",g.jsx("b",{children:"url"})," columns."]}),g.jsx("input",{type:"file",accept:"text/csv",className:"d-none",ref:l,onChange:x}),g.jsx(C$,{isOpen:f,duplicatedServers:c,onDiscard:w,onSave:_})]})},Cxe=Pi(j$,["ServersImporter"]);const M$=({servers:e,selectedServer:t})=>{const{DeleteServerButton:n}=ki(M$);return g.jsx(Zu,{children:g.jsxs("div",{className:"server-error__container flex-column",children:[g.jsxs(Go,{className:"w-100 mb-3 mb-md-5",type:"error",fullWidth:!0,children:[!of(t)&&"Could not find this Shlink server.",of(t)&&g.jsxs(g.Fragment,{children:[g.jsx("p",{children:"Oops! Could not connect to this Shlink server."}),"Make sure you have internet connection, and the server is properly configured and on-line."]})]}),g.jsxs(g$,{servers:Object.values(e),children:["These are the Shlink servers currently configured. Choose one of them or ",g.jsx(Ft,{to:"/server/create",children:"add a new one"}),"."]}),of(t)&&g.jsx("div",{className:"container mt-3 mt-md-5",children:g.jsxs("h5",{children:["Alternatively, if you think you may have miss-configured this server, you can ",g.jsx(n,{server:t,className:"server-error__delete-btn",children:"remove it"})," or ",g.jsx(Ft,{to:`/server/${t.id}/edit?reconnect=true`,children:"edit it"}),"."]})})]})})},kxe=Pi(M$,["DeleteServerButton"]),Pxe=4e3,A$=({servers:e})=>{const{ServersExporter:t,ImportServersBtn:n,useTimeoutToggle:r,ManageServersRow:i}=ki(A$),o=Object.values(e),[a,s]=$.useState(o),l=p=>s(o.filter(({name:m,url:v})=>`${m} ${v}`.toLowerCase().match(p.toLowerCase()))),c=a.some(({autoConnect:p})=>!!p),[d,f]=r(!1,Pxe);return $.useEffect(()=>{s(Object.values(e))},[e]),g.jsxs(Zu,{children:[g.jsx(Wh,{className:"mb-3",onChange:l}),g.jsxs(yr,{className:"mb-3",children:[g.jsxs("div",{className:"col-md-6 d-flex d-md-block mb-2 mb-md-0",children:[g.jsx(n,{className:"flex-fill",onImportError:f,children:"Import servers"}),o.length>0&&g.jsxs(yt,{outline:!0,className:"ms-2 flex-fill",onClick:async()=>t.exportServers(),children:[g.jsx(Ae,{icon:m4,fixedWidth:!0})," Export servers"]})]}),g.jsx("div",{className:"col-md-6 text-md-end d-flex d-md-block",children:g.jsxs(yt,{outline:!0,color:"primary",className:"flex-fill",tag:Ft,to:"/server/create",children:[g.jsx(Ae,{icon:QS,fixedWidth:!0})," Add a server"]})})]}),g.jsx(gn,{children:g.jsxs("table",{className:"table table-hover responsive-table mb-0",children:[g.jsx("thead",{className:"responsive-table__header",children:g.jsxs("tr",{children:[c&&g.jsx("th",{"aria-label":"Auto-connect",style:{width:"50px"}}),g.jsx("th",{children:"Name"}),g.jsx("th",{children:"Base URL"}),g.jsx("th",{"aria-label":"Options"})]})}),g.jsxs("tbody",{children:[!a.length&&g.jsx("tr",{className:"text-center",children:g.jsx("td",{colSpan:4,children:"No servers found."})}),a.map(p=>g.jsx(i,{server:p,hasAutoConnect:c},p.id))]})]})}),d&&g.jsx("div",{className:"mt-3",children:g.jsx(Yr,{type:"error",children:"The servers could not be imported. Make sure the format is correct."})})]})},Lxe=Pi(A$,["ServersExporter","ImportServersBtn","useTimeoutToggle","ManageServersRow"]),R$=({server:e,hasAutoConnect:t})=>{const{ManageServersRowDropdown:n}=ki(R$);return g.jsxs("tr",{className:"responsive-table__row",children:[t&&g.jsx("td",{className:"responsive-table__cell","data-th":"Auto-connect",children:e.autoConnect&&g.jsxs(g.Fragment,{children:[g.jsx(Ae,{icon:qf,className:"text-primary",id:"autoConnectIcon"}),g.jsx(Dr,{target:"autoConnectIcon",placement:"right",children:"Auto-connect to this server"})]})}),g.jsx("th",{className:"responsive-table__cell","data-th":"Name",children:g.jsx(Ft,{to:`/server/${e.id}`,children:e.name})}),g.jsx("td",{className:"responsive-table__cell","data-th":"Base URL",children:e.url}),g.jsx("td",{className:"responsive-table__cell text-end",children:g.jsx(n,{server:e})})]})},jxe=Pi(R$,["ManageServersRowDropdown"]),N$=({server:e,setAutoConnect:t})=>{const{DeleteServerModal:n}=ki(N$),[r,,i,o]=Tn(),a=`/server/${e.id}`,{autoConnect:s}=e,l=s?tY:kie;return g.jsxs(c0,{minWidth:170,children:[g.jsxs(Ue,{tag:Ft,to:a,children:[g.jsx(Ae,{icon:JW,fixedWidth:!0})," Connect"]}),g.jsxs(Ue,{tag:Ft,to:`${a}/edit`,children:[g.jsx(Ae,{icon:qS,fixedWidth:!0})," Edit server"]}),g.jsxs(Ue,{onClick:()=>t(e,!s),children:[g.jsx(Ae,{icon:l,fixedWidth:!0})," ",s?"Do not a":"A","uto-connect"]}),g.jsx(Ue,{divider:!0}),g.jsxs(Ue,{className:"dropdown-item--danger",onClick:i,children:[g.jsx(Ae,{icon:GS,fixedWidth:!0})," Remove server"]}),g.jsx(n,{redirectHome:!1,server:e,isOpen:r,toggle:o})]})},Mxe=Pi(N$,["DeleteServerModal"]),D$=(e,t)=>S6(e,t,{serializeError:i4}),Axe={},Rxe=e=>e.id?e:nv("id",T$(),e),Nxe=n4((e,t)=>nv(t.id,t,e),{}),{actions:Dxe,reducer:Ixe}=ur({name:"shlink/servers",initialState:Axe,reducers:{editServer:{prepare:(e,t)=>({payload:{serverId:e,serverData:t}}),reducer:(e,{payload:t})=>{const{serverId:n,serverData:r}=t;return e[n]?nv(n,{...e[n],...r},e):e}},deleteServer:(e,{payload:t})=>sW(t.id,e),setAutoConnect:{prepare:({id:e},t)=>({payload:{serverId:e,autoConnect:t}}),reducer:(e,{payload:t})=>{const{serverId:n,autoConnect:r}=t;return e[n]?r?dW(TW(e).map(([i,o])=>[i,{...o,autoConnect:i===n}])):nv(n,{...e[n],autoConnect:r},e):e}},createServers:{prepare:Jy(HS(Rxe),Nxe,e=>({payload:e})),reducer:(e,{payload:t})=>({...e,...t})}}}),{editServer:Fxe,deleteServer:$xe,setAutoConnect:Uxe,createServers:I$}=Dxe,Bxe=Ixe,zxe=e=>Array.isArray(e)?e.filter(c4):[],Vxe=e=>D$("shlink/remoteServers/fetchServers",async(t,{dispatch:n})=>{const r=await e.jsonRequest(`${Jg.homepage}/servers.json`),i=zxe(r);n(I$(i))}),hO="shlink/selectedServer",Hxe="1.0.0",Wxe="999.999.999",Yxe="latest",Gxe=Jy(e=>e===Yxe?Wxe:e,x$(Hxe)),qxe=a4(e=>`${e.id}_${e.url}_${e.apiKey}`,async(e,t)=>t().then(({version:n})=>({version:Gxe(n),printableVersion:w$(n)}))),HA=null,pO=Nn(`${hO}/resetSelectedServer`),Kxe=e=>D$(`${hO}/selectServer`,async(t,{dispatch:n,getState:r})=>{n(pO());const{servers:i}=r(),o=i[t];if(!o)return{serverNotFound:!0};try{const a=e(o),{version:s,printableVersion:l}=await qxe(o,()=>a.health());return{...o,version:s,printableVersion:l}}catch{return{...o,serverNotReachable:!0}}}),Zxe=e=>ur({name:hO,initialState:HA,reducers:{},extraReducers:t=>{t.addCase(pO,()=>HA),t.addCase(e.fulfilled,(n,{payload:r})=>r)}}),Qxe=({servers:e,selectedServer:t})=>{const n=WS(e),r=()=>o4(n)?g.jsxs(Ue,{tag:Ft,to:"/server/create",children:[g.jsx(Ae,{icon:QS})," ",g.jsx("span",{className:"ms-1",children:"Add a server"})]}):g.jsxs(g.Fragment,{children:[n.map(({name:i,id:o})=>g.jsx(Ue,{tag:Ft,to:`/server/${o}`,active:IW(t)===o,children:i},o)),g.jsx(Ue,{divider:!0}),g.jsxs(Ue,{tag:Ft,to:"/manage-servers",children:[g.jsx(Ae,{icon:nP})," ",g.jsx("span",{className:"ms-1",children:"Manage servers"})]})]});return g.jsxs(Hh,{nav:!0,inNavbar:!0,children:[g.jsxs(zu,{nav:!0,caret:!0,children:[g.jsx(Ae,{icon:nP})," ",g.jsx("span",{className:"ms-1",children:"Servers"})]}),g.jsx(Bu,{end:!0,style:{right:0},children:r()})]})},Xxe=({document:e},t,n)=>{const r=e.createElement("a");r.setAttribute("href",t),r.setAttribute("download",n),r.style.visibility="hidden",e.body.appendChild(r),r.click(),e.body.removeChild(r)},Jxe=(e,t,n)=>{const r=new Blob([t],{type:"text/csv;charset=utf-8;"}),i=URL.createObjectURL(r);Xxe(e,i,n)},e2e="shlink-servers.csv";class t2e{constructor(t,n,r){Rp(this,"exportServers",async()=>{const t=WS(this.storage.get("servers")??{}).map(FW);try{const n=this.jsonToCsv(t);Jxe(this.window,n,e2e)}catch(n){console.error(n)}});this.storage=t,this.window=n,this.jsonToCsv=r}}const n2e=e=>typeof e.url=="string"&&typeof e.apiKey=="string"&&typeof e.name=="string",r2e=e=>Array.isArray(e)&&e.every(n2e);class i2e{constructor(t){this.csvToJson=t}async importServersFromFile(t){if(!t)throw new Error("No file provided");const n=await t.text(),r=await this.csvToJson(n);if(!r2e(r))throw new Error("Provided file does not have the right format.");return r}}const o2e=(e,t)=>{e.factory("ManageServers",Lxe),e.decorator("ManageServers",uy),e.decorator("ManageServers",t(["selectedServer","servers"],["resetSelectedServer"])),e.factory("ManageServersRow",jxe),e.factory("ManageServersRowDropdown",Mxe),e.decorator("ManageServersRowDropdown",t(null,["setAutoConnect"])),e.factory("CreateServer",xxe),e.decorator("CreateServer",uy),e.decorator("CreateServer",t(["selectedServer","servers"],["createServers","resetSelectedServer"])),e.factory("EditServer",Oxe),e.decorator("EditServer",t(["selectedServer"],["editServer","selectServer","resetSelectedServer"])),e.serviceFactory("ServersDropdown",()=>Qxe),e.decorator("ServersDropdown",t(["servers","selectedServer"])),e.serviceFactory("DeleteServerModal",()=>Exe),e.decorator("DeleteServerModal",t(null,["deleteServer"])),e.factory("DeleteServerButton",Sxe),e.factory("ImportServersBtn",Cxe),e.decorator("ImportServersBtn",t(["servers"],["createServers"])),e.factory("ServerError",kxe),e.decorator("ServerError",t(["servers","selectedServer"])),e.service("ServersImporter",i2e,"csvToJson"),e.service("ServersExporter",t2e,"Storage","window","jsonToCsv"),e.serviceFactory("selectServer",Kxe,"buildShlinkApiClient","loadMercureInfo"),e.serviceFactory("createServers",()=>I$),e.serviceFactory("deleteServer",()=>$xe),e.serviceFactory("editServer",()=>Fxe),e.serviceFactory("setAutoConnect",()=>Uxe),e.serviceFactory("fetchServers",Vxe,"HttpClient"),e.serviceFactory("resetSelectedServer",()=>pO),e.serviceFactory("selectedServerReducerCreator",Zxe,"selectServer"),e.serviceFactory("selectedServerReducer",RH("reducer"),"selectedServerReducerCreator")},Jc=({children:e})=>g.jsx("small",{className:"form-text text-muted d-block",children:e}),a2e=e=>e?`${e}`:"",s2e=({settings:e,toggleRealTimeUpdates:t,setRealTimeUpdatesInterval:n})=>{const{realTimeUpdates:r={enabled:!0}}=e,i=l0();return g.jsxs(gn,{title:"Real-time updates",className:"h-100",children:[g.jsx(zr,{children:g.jsxs(yu,{checked:r.enabled,onChange:t,children:["Enable or disable real-time updates.",g.jsxs(Jc,{children:["Real-time updates are currently being ",g.jsx("b",{children:r.enabled?"processed":"ignored"}),"."]})]})}),g.jsxs(Hu,{noMargin:!0,label:"Real-time updates frequency (in minutes):",labelClassName:Ve("form-label",{"text-muted":!r.enabled}),id:i,children:[g.jsx(xl,{type:"number",min:0,placeholder:"Immediate",disabled:!r.enabled,value:a2e(r.interval),id:i,onChange:({target:o})=>n(Number(o.value))}),r.enabled&&g.jsxs(Jc,{children:[r.interval!==void 0&&r.interval>0&&g.jsxs("span",{children:["Updates will be reflected in the UI every ",g.jsx("b",{children:r.interval})," minute",r.interval>1&&"s","."]}),!r.interval&&"Updates will be reflected in the UI as soon as they happen."]})]})]})},F$={field:"dateCreated",dir:"DESC"},l2e={realTimeUpdates:{enabled:!0},shortUrlCreation:{validateUrls:!1},ui:{theme:"light"},visits:{defaultInterval:"last30Days"},shortUrlsList:{defaultOrdering:F$}},c2e=(e,{payload:t})=>_W(e,t),Fs=e=>({reducer:c2e,prepare:e}),$s=e=>({payload:e}),{reducer:u2e,actions:d2e}=ur({name:"shlink/settings",initialState:l2e,reducers:{toggleRealTimeUpdates:Fs(e=>$s({realTimeUpdates:{enabled:e}})),setRealTimeUpdatesInterval:Fs(e=>$s({realTimeUpdates:{interval:e}})),setShortUrlCreationSettings:Fs(e=>$s({shortUrlCreation:e})),setShortUrlsListSettings:Fs(e=>$s({shortUrlsList:e})),setUiSettings:Fs(e=>$s({ui:e})),setVisitsSettings:Fs(e=>$s({visits:e})),setTagsSettings:Fs(e=>$s({tags:e}))}}),{toggleRealTimeUpdates:f2e,setRealTimeUpdatesInterval:h2e,setShortUrlCreationSettings:p2e,setShortUrlsListSettings:m2e,setUiSettings:g2e,setVisitsSettings:v2e,setTagsSettings:y2e}=d2e,_2e=u2e,G1=({items:e})=>g.jsx(g.Fragment,{children:e.map((t,n)=>g.jsx("div",{className:"mb-3",children:t},n))}),$$=()=>{const{RealTimeUpdatesSettings:e,ShortUrlCreationSettings:t,ShortUrlsListSettings:n,UserInterfaceSettings:r,VisitsSettings:i,TagsSettings:o}=ki($$);return g.jsxs(Zu,{children:[g.jsxs(WI,{className:"mb-3",children:[g.jsx(df,{to:"general",children:"General"}),g.jsx(df,{to:"short-urls",children:"Short URLs"}),g.jsx(df,{to:"other-items",children:"Other items"})]}),g.jsxs(Ky,{children:[g.jsx(vt,{path:"general",element:g.jsx(G1,{items:[g.jsx(r,{}),g.jsx(e,{})]})}),g.jsx(vt,{path:"short-urls",element:g.jsx(G1,{items:[g.jsx(t,{}),g.jsx(n,{})]})}),g.jsx(vt,{path:"other-items",element:g.jsx(G1,{items:[g.jsx(o,{}),g.jsx(i,{})]})}),g.jsx(vt,{path:"*",element:g.jsx(FS,{replace:!0,to:"general"})})]})]})},b2e=Pi($$,["RealTimeUpdatesSettings","ShortUrlCreationSettings","ShortUrlsListSettings","UserInterfaceSettings","VisitsSettings","TagsSettings"]),q1=e=>e==="includes"?"Suggest tags including input":"Suggest tags starting with input",w2e=e=>e==="includes"?g.jsxs(g.Fragment,{children:["The list of suggested tags will contain those ",g.jsx("b",{children:"including"})," provided input."]}):g.jsxs(g.Fragment,{children:["The list of suggested tags will contain those ",g.jsx("b",{children:"starting with"})," provided input."]}),x2e=({settings:e,setShortUrlCreationSettings:t})=>{const n=e.shortUrlCreation??{validateUrls:!1},r=i=>()=>t({...n??{validateUrls:!1},tagFilteringMode:i});return g.jsxs(gn,{title:"Short URLs form",className:"h-100",children:[g.jsx(zr,{children:g.jsxs(yu,{checked:n.validateUrls??!1,onChange:i=>t({...n,validateUrls:i}),children:["Request validation on long URLs when creating new short URLs.",g.jsxs(Jc,{children:["The initial state of the ",g.jsx("b",{children:"Validate URL"})," checkbox will be ",g.jsx("b",{children:n.validateUrls?"checked":"unchecked"}),"."]})]})}),g.jsx(zr,{children:g.jsxs(yu,{checked:n.forwardQuery??!0,onChange:i=>t({...n,forwardQuery:i}),children:["Make all new short URLs forward their query params to the long URL.",g.jsxs(Jc,{children:["The initial state of the ",g.jsx("b",{children:"Forward query params on redirect"})," checkbox will be ",g.jsx("b",{children:n.forwardQuery??!0?"checked":"unchecked"}),"."]})]})}),g.jsxs(Hu,{noMargin:!0,label:"Tag suggestions search mode:",children:[g.jsxs(pa,{text:q1(n.tagFilteringMode),children:[g.jsx(Ue,{active:!n.tagFilteringMode||n.tagFilteringMode==="startsWith",onClick:r("startsWith"),children:q1("startsWith")}),g.jsx(Ue,{active:n.tagFilteringMode==="includes",onClick:r("includes"),children:q1("includes")})]}),g.jsx(Jc,{children:w2e(n.tagFilteringMode)})]})]})},S2e={dateCreated:"Created at",shortCode:"Short URL",longUrl:"Long URL",title:"Title",visits:"Visits"},E2e=({settings:{shortUrlsList:e},setShortUrlsListSettings:t})=>g.jsx(gn,{title:"Short URLs list",className:"h-100",children:g.jsx(Hu,{noMargin:!0,label:"Default ordering for short URLs list:",children:g.jsx(Yh,{items:S2e,order:(e==null?void 0:e.defaultOrdering)??F$,onChange:(n,r)=>t({defaultOrdering:{field:n,dir:r}})})})}),T2e={tag:"Tag",shortUrls:"Short URLs",visits:"Visits"},O2e=({settings:{tags:e},setTagsSettings:t})=>g.jsx(gn,{title:"Tags",className:"h-100",children:g.jsx(Hu,{noMargin:!0,label:"Default ordering for tags list:",children:g.jsx(Yh,{items:T2e,order:(e==null?void 0:e.defaultOrdering)??{},onChange:(n,r)=>t({...e,defaultOrdering:{field:n,dir:r}})})})});const C2e=({settings:{ui:e},setUiSettings:t})=>g.jsxs(gn,{title:"User interface",className:"h-100",children:[g.jsx(Ae,{icon:(e==null?void 0:e.theme)==="dark"?DY:EY,className:"user-interface__theme-icon"}),g.jsx(yu,{checked:(e==null?void 0:e.theme)==="dark",onChange:n=>{t({...e,theme:n?"dark":"light"})},children:"Use dark theme."})]}),U$={today:"Today",yesterday:"Yesterday",last7Days:"Last 7 days",last30Days:"Last 30 days",last90Days:"Last 90 days",last180Days:"Last 180 days",last365Days:"Last 365 days"},k2e=(e,t)=>!e||e==="all"?t:U$[e],P2e=({onChange:e,active:t,allText:n})=>g.jsxs(pa,{text:k2e(t,n),children:[g.jsx(Ue,{active:t==="all",onClick:()=>e("all"),children:n}),g.jsx(Ue,{divider:!0}),Object.entries(U$).map(([r,i])=>g.jsx(Ue,{active:t===r,onClick:()=>e(r),children:i},r))]}),WA=e=>{var t;return((t=e.visits)==null?void 0:t.defaultInterval)??"last30Days"},L2e=({settings:e,setVisitsSettings:t})=>{var n,r;return g.jsxs(gn,{title:"Visits",className:"h-100",children:[g.jsx(zr,{children:g.jsxs(yu,{checked:!!((n=e.visits)!=null&&n.excludeBots),onChange:i=>t({defaultInterval:WA(e),excludeBots:i}),children:["Exclude bots wherever possible (this option‘s effect might depend on Shlink server‘s version).",g.jsxs(Jc,{children:["The visits coming from potential bots will be ",g.jsx("b",{children:(r=e.visits)!=null&&r.excludeBots?"excluded":"included"}),"."]})]})}),g.jsx(Hu,{noMargin:!0,label:"Default interval to load on visits sections:",children:g.jsx(P2e,{allText:"All visits",active:WA(e),onChange:i=>t({defaultInterval:i})})})]})},j2e=(e,t)=>{e.factory("Settings",b2e),e.decorator("Settings",uy),e.decorator("Settings",t(null,["resetSelectedServer"])),e.serviceFactory("RealTimeUpdatesSettings",()=>s2e),e.decorator("RealTimeUpdatesSettings",t(["settings"],["toggleRealTimeUpdates","setRealTimeUpdatesInterval"])),e.serviceFactory("ShortUrlCreationSettings",()=>x2e),e.decorator("ShortUrlCreationSettings",t(["settings"],["setShortUrlCreationSettings"])),e.serviceFactory("UserInterfaceSettings",()=>C2e),e.decorator("UserInterfaceSettings",t(["settings"],["setUiSettings"])),e.serviceFactory("VisitsSettings",()=>L2e),e.decorator("VisitsSettings",t(["settings"],["setVisitsSettings"])),e.serviceFactory("TagsSettings",()=>O2e),e.decorator("TagsSettings",t(["settings"],["setTagsSettings"])),e.serviceFactory("ShortUrlsListSettings",()=>E2e),e.decorator("ShortUrlsListSettings",t(["settings"],["setShortUrlsListSettings"])),e.serviceFactory("toggleRealTimeUpdates",()=>f2e),e.serviceFactory("setRealTimeUpdatesInterval",()=>h2e),e.serviceFactory("setShortUrlCreationSettings",()=>p2e),e.serviceFactory("setShortUrlsListSettings",()=>m2e),e.serviceFactory("setUiSettings",()=>g2e),e.serviceFactory("setVisitsSettings",()=>v2e),e.serviceFactory("setTagsSettings",()=>y2e)};var M2e="Expected a function",B$="__lodash_hash_undefined__",z$=1/0,A2e="[object Function]",R2e="[object GeneratorFunction]",N2e="[object Symbol]",D2e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I2e=/^\w*$/,F2e=/^\./,$2e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,U2e=/[\\^$.*+?()[\]{}|]/g,B2e=/\\(\\)?/g,z2e=/^\[object .+?Constructor\]$/,V2e=typeof Np=="object"&&Np&&Np.Object===Object&&Np,H2e=typeof self=="object"&&self&&self.Object===Object&&self,mO=V2e||H2e||Function("return this")();function W2e(e,t){return e==null?void 0:e[t]}function Y2e(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch{}return t}var G2e=Array.prototype,q2e=Function.prototype,V$=Object.prototype,K1=mO["__core-js_shared__"],YA=function(){var e=/[^.]+$/.exec(K1&&K1.keys&&K1.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),H$=q2e.toString,gO=V$.hasOwnProperty,W$=V$.toString,K2e=RegExp("^"+H$.call(gO).replace(U2e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),GA=mO.Symbol,Z2e=G2e.splice,Q2e=Y$(mO,"Map"),kh=Y$(Object,"create"),qA=GA?GA.prototype:void 0,KA=qA?qA.toString:void 0;function Ll(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1}function sSe(e,t){var n=this.__data__,r=A0(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}Qu.prototype.clear=rSe;Qu.prototype.delete=iSe;Qu.prototype.get=oSe;Qu.prototype.has=aSe;Qu.prototype.set=sSe;function Yl(e){var t=-1,n=e?e.length:0;for(this.clear();++tr.toFixed(n).replace(".",t):r=>`${r}`.replace(".",t):n?r=>r.toFixed(n):r=>`${r}`}function _O(e={}){const t=typeof e.quote=="string"?e.quote:'"',n=typeof e.escapedQuote=="string"?e.escapedQuote:`${t}${t}`;return!t||t===n?r=>r:r=>(r.includes(t)&&(r=r.replace(new RegExp(t,"g"),n)),`${t}${r}${t}`)}function LSe(e={stringFormatter:_O()}){return t=>e.stringFormatter(t.toString().slice(7,-1))}function jSe(e={stringFormatter:_O()}){return t=>{if(t===null)return"";let n=JSON.stringify(t);return n===void 0?"":(n[0]==='"'&&(n=n.replace(/^"(.+)"$/,"$1")),e.stringFormatter(n))}}function QA(e,t,n){const r=e[t];return r===void 0?n:r}function K$(e,t){try{return Array.isArray(t)?e.push(...t):e.push(t),e}catch{return e.concat(t)}}function C2(e,t){let n=!0;return e.reduce((r,i)=>(i==null&&(i=""),n?(n=!1,`${i}`):`${r}${t}${i}`),"")}var XA;(function(e){e.header="header",e.undefined="undefined",e.boolean="boolean",e.number="number",e.bigint="bigint",e.string="string",e.symbol="symbol",e.function="function",e.object="object"})(XA||(XA={}));class MSe{constructor(t){this.opts=this.preprocessOpts(t)}preprocessOpts(t){const n=Object.assign({},t);n.fields&&(n.fields=this.preprocessFieldsInfo(n.fields,n.defaultValue)),n.transforms=n.transforms||[];const r=n.formatters&&n.formatters.string||_O(),i=jSe({stringFormatter:r}),o={header:r,undefined:Z1,boolean:Z1,number:PSe(),bigint:Z1,string:r,symbol:LSe({stringFormatter:r}),function:i,object:i};return n.formatters=Object.assign(Object.assign({},o),n.formatters),n.delimiter=n.delimiter||",",n.eol=n.eol||` + */(function(e,t){(function(n,r){r(t)})(Fc,function(n){var r="1.9.4";function i(u){var h,b,T,P;for(b=1,T=arguments.length;b"u"||!L||!L.Mixin)){u=S(u)?u:[u];for(var h=0;h0?Math.floor(u):Math.ceil(u)};q.prototype={clone:function(){return new q(this.x,this.y)},add:function(u){return this.clone()._add(D(u))},_add:function(u){return this.x+=u.x,this.y+=u.y,this},subtract:function(u){return this.clone()._subtract(D(u))},_subtract:function(u){return this.x-=u.x,this.y-=u.y,this},divideBy:function(u){return this.clone()._divideBy(u)},_divideBy:function(u){return this.x/=u,this.y/=u,this},multiplyBy:function(u){return this.clone()._multiplyBy(u)},_multiplyBy:function(u){return this.x*=u,this.y*=u,this},scaleBy:function(u){return new q(this.x*u.x,this.y*u.y)},unscaleBy:function(u){return new q(this.x/u.x,this.y/u.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=I(this.x),this.y=I(this.y),this},distanceTo:function(u){u=D(u);var h=u.x-this.x,b=u.y-this.y;return Math.sqrt(h*h+b*b)},equals:function(u){return u=D(u),u.x===this.x&&u.y===this.y},contains:function(u){return u=D(u),Math.abs(u.x)<=Math.abs(this.x)&&Math.abs(u.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function D(u,h,b){return u instanceof q?u:S(u)?new q(u[0],u[1]):u==null?u:typeof u=="object"&&"x"in u&&"y"in u?new q(u.x,u.y):new q(u,h,b)}function H(u,h){if(u)for(var b=h?[u,h]:u,T=0,P=b.length;T=this.min.x&&b.x<=this.max.x&&h.y>=this.min.y&&b.y<=this.max.y},intersects:function(u){u=ie(u);var h=this.min,b=this.max,T=u.min,P=u.max,B=P.x>=h.x&&T.x<=b.x,oe=P.y>=h.y&&T.y<=b.y;return B&&oe},overlaps:function(u){u=ie(u);var h=this.min,b=this.max,T=u.min,P=u.max,B=P.x>h.x&&T.xh.y&&T.y=h.lat&&P.lat<=b.lat&&T.lng>=h.lng&&P.lng<=b.lng},intersects:function(u){u=K(u);var h=this._southWest,b=this._northEast,T=u.getSouthWest(),P=u.getNorthEast(),B=P.lat>=h.lat&&T.lat<=b.lat,oe=P.lng>=h.lng&&T.lng<=b.lng;return B&&oe},overlaps:function(u){u=K(u);var h=this._southWest,b=this._northEast,T=u.getSouthWest(),P=u.getNorthEast(),B=P.lat>h.lat&&T.lath.lng&&T.lng1,nn=function(){var u=!1;try{var h=Object.defineProperty({},"passive",{get:function(){u=!0}});window.addEventListener("testPassiveEventSupport",f,h),window.removeEventListener("testPassiveEventSupport",f,h)}catch{}return u}(),fr=function(){return!!document.createElement("canvas").getContext}(),Vn=!!(document.createElementNS&&Me("svg").createSVGRect),Hn=!!Vn&&function(){var u=document.createElement("div");return u.innerHTML="",(u.firstChild&&u.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),_n=!Vn&&function(){try{var u=document.createElement("div");u.innerHTML='';var h=u.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}}(),ji=navigator.platform.indexOf("Mac")===0,Mi=navigator.platform.indexOf("Linux")===0;function Wn(u){return navigator.userAgent.toLowerCase().indexOf(u)>=0}var ze={ie:_e,ielt9:Se,edge:ke,webkit:Ce,android:je,android23:ce,androidStock:ye,opera:ve,chrome:xe,gecko:Pe,safari:Ne,phantom:Qe,opera12:et,win:Ge,ie3d:Kt,webkit3d:Vt,gecko3d:On,any3d:dr,mobile:Zi,mobileWebkit:zn,mobileWebkit3d:Xu,msPointer:Qi,pointer:hp,touch:mp,touchNative:pp,mobileOpera:Ju,mobileGecko:Os,retina:hn,passiveEvents:nn,canvas:fr,svg:Vn,vml:_n,inlineSvg:Hn,mac:ji,linux:Mi},xO=ze.msPointer?"MSPointerDown":"pointerdown",SO=ze.msPointer?"MSPointerMove":"pointermove",EO=ze.msPointer?"MSPointerUp":"pointerup",TO=ze.msPointer?"MSPointerCancel":"pointercancel",D0={touchstart:xO,touchmove:SO,touchend:EO,touchcancel:TO},OO={touchstart:iU,touchmove:gp,touchend:gp,touchcancel:gp},ql={},CO=!1;function J$(u,h,b){return h==="touchstart"&&rU(),OO[h]?(b=OO[h].bind(this,b),u.addEventListener(D0[h],b,!1),b):(console.warn("wrong event specified:",h),f)}function eU(u,h,b){if(!D0[h]){console.warn("wrong event specified:",h);return}u.removeEventListener(D0[h],b,!1)}function tU(u){ql[u.pointerId]=u}function nU(u){ql[u.pointerId]&&(ql[u.pointerId]=u)}function kO(u){delete ql[u.pointerId]}function rU(){CO||(document.addEventListener(xO,tU,!0),document.addEventListener(SO,nU,!0),document.addEventListener(EO,kO,!0),document.addEventListener(TO,kO,!0),CO=!0)}function gp(u,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var b in ql)h.touches.push(ql[b]);h.changedTouches=[h],u(h)}}function iU(u,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&Yn(h),gp(u,h)}function oU(u){var h={},b,T;for(T in u)b=u[T],h[T]=b&&b.bind?b.bind(u):b;return u=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var aU=200;function sU(u,h){u.addEventListener("dblclick",h);var b=0,T;function P(B){if(B.detail!==1){T=B.detail;return}if(!(B.pointerType==="mouse"||B.sourceCapabilities&&!B.sourceCapabilities.firesTouchEvents)){var oe=AO(B);if(!(oe.some(function(pe){return pe instanceof HTMLLabelElement&&pe.attributes.for})&&!oe.some(function(pe){return pe instanceof HTMLInputElement||pe instanceof HTMLSelectElement}))){var de=Date.now();de-b<=aU?(T++,T===2&&h(oU(B))):T=1,b=de}}}return u.addEventListener("click",P),{dblclick:h,simDblclick:P}}function lU(u,h){u.removeEventListener("dblclick",h.dblclick),u.removeEventListener("click",h.simDblclick)}var I0=_p(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ed=_p(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),PO=ed==="webkitTransition"||ed==="OTransition"?ed+"End":"transitionend";function LO(u){return typeof u=="string"?document.getElementById(u):u}function td(u,h){var b=u.style[h]||u.currentStyle&&u.currentStyle[h];if((!b||b==="auto")&&document.defaultView){var T=document.defaultView.getComputedStyle(u,null);b=T?T[h]:null}return b==="auto"?null:b}function pt(u,h,b){var T=document.createElement(u);return T.className=h||"",b&&b.appendChild(T),T}function Ht(u){var h=u.parentNode;h&&h.removeChild(u)}function vp(u){for(;u.firstChild;)u.removeChild(u.firstChild)}function Kl(u){var h=u.parentNode;h&&h.lastChild!==u&&h.appendChild(u)}function Zl(u){var h=u.parentNode;h&&h.firstChild!==u&&h.insertBefore(u,h.firstChild)}function F0(u,h){if(u.classList!==void 0)return u.classList.contains(h);var b=yp(u);return b.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(b)}function Ze(u,h){if(u.classList!==void 0)for(var b=v(h),T=0,P=b.length;T0?2*window.devicePixelRatio:1;function NO(u){return ze.edge?u.wheelDeltaY/2:u.deltaY&&u.deltaMode===0?-u.deltaY/dU:u.deltaY&&u.deltaMode===1?-u.deltaY*20:u.deltaY&&u.deltaMode===2?-u.deltaY*60:u.deltaX||u.deltaZ?0:u.wheelDelta?(u.wheelDeltaY||u.wheelDelta)/2:u.detail&&Math.abs(u.detail)<32765?-u.detail*20:u.detail?u.detail/-32765*60:0}function Z0(u,h){var b=h.relatedTarget;if(!b)return!0;try{for(;b&&b!==u;)b=b.parentNode}catch{return!1}return b!==u}var fU={__proto__:null,on:qe,off:Ct,stopPropagation:Ps,disableScrollPropagation:K0,disableClickPropagation:od,preventDefault:Yn,stop:Ls,getPropagationPath:AO,getMousePosition:RO,getWheelDelta:NO,isExternalTarget:Z0,addListener:qe,removeListener:Ct},DO=le.extend({run:function(u,h,b,T){this.stop(),this._el=u,this._inProgress=!0,this._duration=b||.25,this._easeOutPower=1/Math.max(T||.5,.2),this._startPos=ks(u),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=z(this._animate,this),this._step()},_step:function(u){var h=+new Date-this._startTime,b=this._duration*1e3;hthis.options.maxZoom)?this.setZoom(u):this},panInsideBounds:function(u,h){this._enforcingBounds=!0;var b=this.getCenter(),T=this._limitCenter(b,this._zoom,K(u));return b.equals(T)||this.panTo(T,h),this._enforcingBounds=!1,this},panInside:function(u,h){h=h||{};var b=D(h.paddingTopLeft||h.padding||[0,0]),T=D(h.paddingBottomRight||h.padding||[0,0]),P=this.project(this.getCenter()),B=this.project(u),oe=this.getPixelBounds(),de=ie([oe.min.add(b),oe.max.subtract(T)]),pe=de.getSize();if(!de.contains(B)){this._enforcingBounds=!0;var we=B.subtract(de.getCenter()),De=de.extend(B).getSize().subtract(pe);P.x+=we.x<0?-De.x:De.x,P.y+=we.y<0?-De.y:De.y,this.panTo(this.unproject(P),h),this._enforcingBounds=!1}return this},invalidateSize:function(u){if(!this._loaded)return this;u=i({animate:!1,pan:!0},u===!0?{animate:!0}:u);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var b=this.getSize(),T=h.divideBy(2).round(),P=b.divideBy(2).round(),B=T.subtract(P);return!B.x&&!B.y?this:(u.animate&&u.pan?this.panBy(B):(u.pan&&this._rawPanBy(B),this.fire("move"),u.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:b}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(u){if(u=this._locateOptions=i({timeout:1e4,watch:!1},u),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=a(this._handleGeolocationResponse,this),b=a(this._handleGeolocationError,this);return u.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,b,u):navigator.geolocation.getCurrentPosition(h,b,u),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(u){if(this._container._leaflet_id){var h=u.code,b=u.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+b+"."})}},_handleGeolocationResponse:function(u){if(this._container._leaflet_id){var h=u.coords.latitude,b=u.coords.longitude,T=new re(h,b),P=T.toBounds(u.coords.accuracy*2),B=this._locateOptions;if(B.setView){var oe=this.getBoundsZoom(P);this.setView(T,B.maxZoom?Math.min(oe,B.maxZoom):oe)}var de={latlng:T,bounds:P,timestamp:u.timestamp};for(var pe in u.coords)typeof u.coords[pe]=="number"&&(de[pe]=u.coords[pe]);this.fire("locationfound",de)}},addHandler:function(u,h){if(!h)return this;var b=this[u]=new h(this);return this._handlers.push(b),this.options[u]&&b.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Ht(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(W(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var u;for(u in this._layers)this._layers[u].remove();for(u in this._panes)Ht(this._panes[u]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(u,h){var b="leaflet-pane"+(u?" leaflet-"+u.replace("Pane","")+"-pane":""),T=pt("div",b,h||this._mapPane);return u&&(this._panes[u]=T),T},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var u=this.getPixelBounds(),h=this.unproject(u.getBottomLeft()),b=this.unproject(u.getTopRight());return new V(h,b)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(u,h,b){u=K(u),b=D(b||[0,0]);var T=this.getZoom()||0,P=this.getMinZoom(),B=this.getMaxZoom(),oe=u.getNorthWest(),de=u.getSouthEast(),pe=this.getSize().subtract(b),we=ie(this.project(de,T),this.project(oe,T)).getSize(),De=ze.any3d?this.options.zoomSnap:1,We=pe.x/we.x,Xe=pe.y/we.y,hr=h?Math.max(We,Xe):Math.min(We,Xe);return T=this.getScaleZoom(hr,T),De&&(T=Math.round(T/(De/100))*(De/100),T=h?Math.ceil(T/De)*De:Math.floor(T/De)*De),Math.max(P,Math.min(B,T))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new q(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(u,h){var b=this._getTopLeftPoint(u,h);return new H(b,b.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(u){return this.options.crs.getProjectedBounds(u===void 0?this.getZoom():u)},getPane:function(u){return typeof u=="string"?this._panes[u]:u},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(u,h){var b=this.options.crs;return h=h===void 0?this._zoom:h,b.scale(u)/b.scale(h)},getScaleZoom:function(u,h){var b=this.options.crs;h=h===void 0?this._zoom:h;var T=b.zoom(u*b.scale(h));return isNaN(T)?1/0:T},project:function(u,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(ae(u),h)},unproject:function(u,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(D(u),h)},layerPointToLatLng:function(u){var h=D(u).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(u){var h=this.project(ae(u))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(u){return this.options.crs.wrapLatLng(ae(u))},wrapLatLngBounds:function(u){return this.options.crs.wrapLatLngBounds(K(u))},distance:function(u,h){return this.options.crs.distance(ae(u),ae(h))},containerPointToLayerPoint:function(u){return D(u).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(u){return D(u).add(this._getMapPanePos())},containerPointToLatLng:function(u){var h=this.containerPointToLayerPoint(D(u));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(u){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ae(u)))},mouseEventToContainerPoint:function(u){return RO(u,this._container)},mouseEventToLayerPoint:function(u){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(u))},mouseEventToLatLng:function(u){return this.layerPointToLatLng(this.mouseEventToLayerPoint(u))},_initContainer:function(u){var h=this._container=LO(u);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");qe(h,"scroll",this._onScroll,this),this._containerId=l(h)},_initLayout:function(){var u=this._container;this._fadeAnimated=this.options.fadeAnimation&&ze.any3d,Ze(u,"leaflet-container"+(ze.touch?" leaflet-touch":"")+(ze.retina?" leaflet-retina":"")+(ze.ielt9?" leaflet-oldie":"")+(ze.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=td(u,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(u.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var u=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),pn(this._mapPane,new q(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Ze(u.markerPane,"leaflet-zoom-hide"),Ze(u.shadowPane,"leaflet-zoom-hide"))},_resetView:function(u,h,b){pn(this._mapPane,new q(0,0));var T=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var P=this._zoom!==h;this._moveStart(P,b)._move(u,h)._moveEnd(P),this.fire("viewreset"),T&&this.fire("load")},_moveStart:function(u,h){return u&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(u,h,b,T){h===void 0&&(h=this._zoom);var P=this._zoom!==h;return this._zoom=h,this._lastCenter=u,this._pixelOrigin=this._getNewPixelOrigin(u),T?b&&b.pinch&&this.fire("zoom",b):((P||b&&b.pinch)&&this.fire("zoom",b),this.fire("move",b)),this},_moveEnd:function(u){return u&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return W(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(u){pn(this._mapPane,this._getMapPanePos().subtract(u))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(u){this._targets={},this._targets[l(this._container)]=this;var h=u?Ct:qe;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),ze.any3d&&this.options.transform3DLimit&&(u?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){W(this._resizeRequest),this._resizeRequest=z(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var u=this._getMapPanePos();Math.max(Math.abs(u.x),Math.abs(u.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(u,h){for(var b=[],T,P=h==="mouseout"||h==="mouseover",B=u.target||u.srcElement,oe=!1;B;){if(T=this._targets[l(B)],T&&(h==="click"||h==="preclick")&&this._draggableMoved(T)){oe=!0;break}if(T&&T.listens(h,!0)&&(P&&!Z0(B,u)||(b.push(T),P))||B===this._container)break;B=B.parentNode}return!b.length&&!oe&&!P&&this.listens(h,!0)&&(b=[this]),b},_isClickDisabled:function(u){for(;u&&u!==this._container;){if(u._leaflet_disable_click)return!0;u=u.parentNode}},_handleDOMEvent:function(u){var h=u.target||u.srcElement;if(!(!this._loaded||h._leaflet_disable_events||u.type==="click"&&this._isClickDisabled(h))){var b=u.type;b==="mousedown"&&H0(h),this._fireDOMEvent(u,b)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(u,h,b){if(u.type==="click"){var T=i({},u);T.type="preclick",this._fireDOMEvent(T,T.type,b)}var P=this._findEventTargets(u,h);if(b){for(var B=[],oe=0;oe0?Math.round(u-h)/2:Math.max(0,Math.ceil(u))-Math.max(0,Math.floor(h))},_limitZoom:function(u){var h=this.getMinZoom(),b=this.getMaxZoom(),T=ze.any3d?this.options.zoomSnap:1;return T&&(u=Math.round(u/T)*T),Math.max(h,Math.min(b,u))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){rn(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(u,h){var b=this._getCenterOffset(u)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(b)?!1:(this.panBy(b,h),!0)},_createAnimProxy:function(){var u=this._proxy=pt("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(u),this.on("zoomanim",function(h){var b=I0,T=this._proxy.style[b];Cs(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),T===this._proxy.style[b]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Ht(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var u=this.getCenter(),h=this.getZoom();Cs(this._proxy,this.project(u,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(u){this._animatingZoom&&u.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(u,h,b){if(this._animatingZoom)return!0;if(b=b||{},!this._zoomAnimated||b.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var T=this.getZoomScale(h),P=this._getCenterOffset(u)._divideBy(1-1/T);return b.animate!==!0&&!this.getSize().contains(P)?!1:(z(function(){this._moveStart(!0,b.noMoveStart||!1)._animateZoom(u,h,!0)},this),!0)},_animateZoom:function(u,h,b,T){this._mapPane&&(b&&(this._animatingZoom=!0,this._animateToCenter=u,this._animateToZoom=h,Ze(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:u,zoom:h,noUpdate:T}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&rn(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function hU(u,h){return new ct(u,h)}var Ai=G.extend({options:{position:"topright"},initialize:function(u){y(this,u)},getPosition:function(){return this.options.position},setPosition:function(u){var h=this._map;return h&&h.removeControl(this),this.options.position=u,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(u){this.remove(),this._map=u;var h=this._container=this.onAdd(u),b=this.getPosition(),T=u._controlCorners[b];return Ze(h,"leaflet-control"),b.indexOf("bottom")!==-1?T.insertBefore(h,T.firstChild):T.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Ht(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(u){this._map&&u&&u.screenX>0&&u.screenY>0&&this._map.getContainer().focus()}}),ad=function(u){return new Ai(u)};ct.include({addControl:function(u){return u.addTo(this),this},removeControl:function(u){return u.remove(),this},_initControlPos:function(){var u=this._controlCorners={},h="leaflet-",b=this._controlContainer=pt("div",h+"control-container",this._container);function T(P,B){var oe=h+P+" "+h+B;u[P+B]=pt("div",oe,b)}T("top","left"),T("top","right"),T("bottom","left"),T("bottom","right")},_clearControlPos:function(){for(var u in this._controlCorners)Ht(this._controlCorners[u]);Ht(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var IO=Ai.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(u,h,b,T){return b1,this._baseLayersList.style.display=u?"":"none"),this._separator.style.display=h&&u?"":"none",this},_onLayerChange:function(u){this._handlingClick||this._update();var h=this._getLayer(l(u.target)),b=h.overlay?u.type==="add"?"overlayadd":"overlayremove":u.type==="add"?"baselayerchange":null;b&&this._map.fire(b,h)},_createRadioElement:function(u,h){var b='",T=document.createElement("div");return T.innerHTML=b,T.firstChild},_addItem:function(u){var h=document.createElement("label"),b=this._map.hasLayer(u.layer),T;u.overlay?(T=document.createElement("input"),T.type="checkbox",T.className="leaflet-control-layers-selector",T.defaultChecked=b):T=this._createRadioElement("leaflet-base-layers_"+l(this),b),this._layerControlInputs.push(T),T.layerId=l(u.layer),qe(T,"click",this._onInputClick,this);var P=document.createElement("span");P.innerHTML=" "+u.name;var B=document.createElement("span");h.appendChild(B),B.appendChild(T),B.appendChild(P);var oe=u.overlay?this._overlaysList:this._baseLayersList;return oe.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var u=this._layerControlInputs,h,b,T=[],P=[];this._handlingClick=!0;for(var B=u.length-1;B>=0;B--)h=u[B],b=this._getLayer(h.layerId).layer,h.checked?T.push(b):h.checked||P.push(b);for(B=0;B=0;P--)h=u[P],b=this._getLayer(h.layerId).layer,h.disabled=b.options.minZoom!==void 0&&Tb.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var u=this._section;this._preventClick=!0,qe(u,"click",Yn),this.expand();var h=this;setTimeout(function(){Ct(u,"click",Yn),h._preventClick=!1})}}),pU=function(u,h,b){return new IO(u,h,b)},Q0=Ai.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(u){var h="leaflet-control-zoom",b=pt("div",h+" leaflet-bar"),T=this.options;return this._zoomInButton=this._createButton(T.zoomInText,T.zoomInTitle,h+"-in",b,this._zoomIn),this._zoomOutButton=this._createButton(T.zoomOutText,T.zoomOutTitle,h+"-out",b,this._zoomOut),this._updateDisabled(),u.on("zoomend zoomlevelschange",this._updateDisabled,this),b},onRemove:function(u){u.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(u){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(u.shiftKey?3:1))},_createButton:function(u,h,b,T,P){var B=pt("a",b,T);return B.innerHTML=u,B.href="#",B.title=h,B.setAttribute("role","button"),B.setAttribute("aria-label",h),od(B),qe(B,"click",Ls),qe(B,"click",P,this),qe(B,"click",this._refocusOnMap,this),B},_updateDisabled:function(){var u=this._map,h="leaflet-disabled";rn(this._zoomInButton,h),rn(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||u._zoom===u.getMinZoom())&&(Ze(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||u._zoom===u.getMaxZoom())&&(Ze(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});ct.mergeOptions({zoomControl:!0}),ct.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Q0,this.addControl(this.zoomControl))});var mU=function(u){return new Q0(u)},FO=Ai.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(u){var h="leaflet-control-scale",b=pt("div",h),T=this.options;return this._addScales(T,h+"-line",b),u.on(T.updateWhenIdle?"moveend":"move",this._update,this),u.whenReady(this._update,this),b},onRemove:function(u){u.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(u,h,b){u.metric&&(this._mScale=pt("div",h,b)),u.imperial&&(this._iScale=pt("div",h,b))},_update:function(){var u=this._map,h=u.getSize().y/2,b=u.distance(u.containerPointToLatLng([0,h]),u.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(b)},_updateScales:function(u){this.options.metric&&u&&this._updateMetric(u),this.options.imperial&&u&&this._updateImperial(u)},_updateMetric:function(u){var h=this._getRoundNum(u),b=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,b,h/u)},_updateImperial:function(u){var h=u*3.2808399,b,T,P;h>5280?(b=h/5280,T=this._getRoundNum(b),this._updateScale(this._iScale,T+" mi",T/b)):(P=this._getRoundNum(h),this._updateScale(this._iScale,P+" ft",P/h))},_updateScale:function(u,h,b){u.style.width=Math.round(this.options.maxWidth*b)+"px",u.innerHTML=h},_getRoundNum:function(u){var h=Math.pow(10,(Math.floor(u)+"").length-1),b=u/h;return b=b>=10?10:b>=5?5:b>=3?3:b>=2?2:1,h*b}}),gU=function(u){return new FO(u)},vU='',X0=Ai.extend({options:{position:"bottomright",prefix:''+(ze.inlineSvg?vU+" ":"")+"Leaflet"},initialize:function(u){y(this,u),this._attributions={}},onAdd:function(u){u.attributionControl=this,this._container=pt("div","leaflet-control-attribution"),od(this._container);for(var h in u._layers)u._layers[h].getAttribution&&this.addAttribution(u._layers[h].getAttribution());return this._update(),u.on("layeradd",this._addAttribution,this),this._container},onRemove:function(u){u.off("layeradd",this._addAttribution,this)},_addAttribution:function(u){u.layer.getAttribution&&(this.addAttribution(u.layer.getAttribution()),u.layer.once("remove",function(){this.removeAttribution(u.layer.getAttribution())},this))},setPrefix:function(u){return this.options.prefix=u,this._update(),this},addAttribution:function(u){return u?(this._attributions[u]||(this._attributions[u]=0),this._attributions[u]++,this._update(),this):this},removeAttribution:function(u){return u?(this._attributions[u]&&(this._attributions[u]--,this._update()),this):this},_update:function(){if(this._map){var u=[];for(var h in this._attributions)this._attributions[h]&&u.push(h);var b=[];this.options.prefix&&b.push(this.options.prefix),u.length&&b.push(u.join(", ")),this._container.innerHTML=b.join(' ')}}});ct.mergeOptions({attributionControl:!0}),ct.addInitHook(function(){this.options.attributionControl&&new X0().addTo(this)});var yU=function(u){return new X0(u)};Ai.Layers=IO,Ai.Zoom=Q0,Ai.Scale=FO,Ai.Attribution=X0,ad.layers=pU,ad.zoom=mU,ad.scale=gU,ad.attribution=yU;var Ji=G.extend({initialize:function(u){this._map=u},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ji.addTo=function(u,h){return u.addHandler(h,this),this};var _U={Events:te},$O=ze.touch?"touchstart mousedown":"mousedown",ya=le.extend({options:{clickTolerance:3},initialize:function(u,h,b,T){y(this,T),this._element=u,this._dragStartTarget=h||u,this._preventOutline=b},enable:function(){this._enabled||(qe(this._dragStartTarget,$O,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ya._dragging===this&&this.finishDrag(!0),Ct(this._dragStartTarget,$O,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(u){if(this._enabled&&(this._moved=!1,!F0(this._element,"leaflet-zoom-anim"))){if(u.touches&&u.touches.length!==1){ya._dragging===this&&this.finishDrag();return}if(!(ya._dragging||u.shiftKey||u.which!==1&&u.button!==1&&!u.touches)&&(ya._dragging=this,this._preventOutline&&H0(this._element),B0(),nd(),!this._moving)){this.fire("down");var h=u.touches?u.touches[0]:u,b=jO(this._element);this._startPoint=new q(h.clientX,h.clientY),this._startPos=ks(this._element),this._parentScale=W0(b);var T=u.type==="mousedown";qe(document,T?"mousemove":"touchmove",this._onMove,this),qe(document,T?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(u){if(this._enabled){if(u.touches&&u.touches.length>1){this._moved=!0;return}var h=u.touches&&u.touches.length===1?u.touches[0]:u,b=new q(h.clientX,h.clientY)._subtract(this._startPoint);!b.x&&!b.y||Math.abs(b.x)+Math.abs(b.y)B&&(oe=de,B=pe);B>b&&(h[oe]=1,e_(u,h,b,T,oe),e_(u,h,b,oe,P))}function SU(u,h){for(var b=[u[0]],T=1,P=0,B=u.length;Th&&(b.push(u[T]),P=T);return Ph.max.x&&(b|=2),u.yh.max.y&&(b|=8),b}function EU(u,h){var b=h.x-u.x,T=h.y-u.y;return b*b+T*T}function sd(u,h,b,T){var P=h.x,B=h.y,oe=b.x-P,de=b.y-B,pe=oe*oe+de*de,we;return pe>0&&(we=((u.x-P)*oe+(u.y-B)*de)/pe,we>1?(P=b.x,B=b.y):we>0&&(P+=oe*we,B+=de*we)),oe=u.x-P,de=u.y-B,T?oe*oe+de*de:new q(P,B)}function oi(u){return!S(u[0])||typeof u[0][0]!="object"&&typeof u[0][0]<"u"}function YO(u){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),oi(u)}function GO(u,h){var b,T,P,B,oe,de,pe,we;if(!u||u.length===0)throw new Error("latlngs not passed");oi(u)||(console.warn("latlngs are not flat! Only the first ring will be used"),u=u[0]);var De=ae([0,0]),We=K(u),Xe=We.getNorthWest().distanceTo(We.getSouthWest())*We.getNorthEast().distanceTo(We.getNorthWest());Xe<1700&&(De=J0(u));var hr=u.length,Cn=[];for(b=0;bT){pe=(B-T)/P,we=[de.x-pe*(de.x-oe.x),de.y-pe*(de.y-oe.y)];break}var Sr=h.unproject(D(we));return ae([Sr.lat+De.lat,Sr.lng+De.lng])}var TU={__proto__:null,simplify:zO,pointToSegmentDistance:VO,closestPointOnSegment:wU,clipSegment:WO,_getEdgeIntersection:xp,_getBitCode:js,_sqClosestPointOnSegment:sd,isFlat:oi,_flat:YO,polylineCenter:GO},t_={project:function(u){return new q(u.lng,u.lat)},unproject:function(u){return new re(u.y,u.x)},bounds:new H([-180,-90],[180,90])},n_={R:6378137,R_MINOR:6356752314245179e-9,bounds:new H([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(u){var h=Math.PI/180,b=this.R,T=u.lat*h,P=this.R_MINOR/b,B=Math.sqrt(1-P*P),oe=B*Math.sin(T),de=Math.tan(Math.PI/4-T/2)/Math.pow((1-oe)/(1+oe),B/2);return T=-b*Math.log(Math.max(de,1e-10)),new q(u.lng*h*b,T)},unproject:function(u){for(var h=180/Math.PI,b=this.R,T=this.R_MINOR/b,P=Math.sqrt(1-T*T),B=Math.exp(-u.y/b),oe=Math.PI/2-2*Math.atan(B),de=0,pe=.1,we;de<15&&Math.abs(pe)>1e-7;de++)we=P*Math.sin(oe),we=Math.pow((1-we)/(1+we),P/2),pe=Math.PI/2-2*Math.atan(B*we)-oe,oe+=pe;return new re(oe*h,u.x*h/b)}},OU={__proto__:null,LonLat:t_,Mercator:n_,SphericalMercator:F},CU=i({},O,{code:"EPSG:3395",projection:n_,transformation:function(){var u=.5/(Math.PI*n_.R);return J(u,.5,-u,.5)}()}),qO=i({},O,{code:"EPSG:4326",projection:t_,transformation:J(1/180,1,-1/180,.5)}),kU=i({},he,{projection:t_,transformation:J(1,0,-1,0),scale:function(u){return Math.pow(2,u)},zoom:function(u){return Math.log(u)/Math.LN2},distance:function(u,h){var b=h.lng-u.lng,T=h.lat-u.lat;return Math.sqrt(b*b+T*T)},infinite:!0});he.Earth=O,he.EPSG3395=CU,he.EPSG3857=se,he.EPSG900913=ge,he.EPSG4326=qO,he.Simple=kU;var Ri=le.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(u){return u.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(u){return u&&u.removeLayer(this),this},getPane:function(u){return this._map.getPane(u?this.options[u]||u:this.options.pane)},addInteractiveTarget:function(u){return this._map._targets[l(u)]=this,this},removeInteractiveTarget:function(u){return delete this._map._targets[l(u)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(u){var h=u.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var b=this.getEvents();h.on(b,this),this.once("remove",function(){h.off(b,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});ct.include({addLayer:function(u){if(!u._layerAdd)throw new Error("The provided object is not a Layer.");var h=l(u);return this._layers[h]?this:(this._layers[h]=u,u._mapToAdd=this,u.beforeAdd&&u.beforeAdd(this),this.whenReady(u._layerAdd,u),this)},removeLayer:function(u){var h=l(u);return this._layers[h]?(this._loaded&&u.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:u}),u.fire("remove")),u._map=u._mapToAdd=null,this):this},hasLayer:function(u){return l(u)in this._layers},eachLayer:function(u,h){for(var b in this._layers)u.call(h,this._layers[b]);return this},_addLayers:function(u){u=u?S(u)?u:[u]:[];for(var h=0,b=u.length;hthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&h[0]instanceof re&&h[0].equals(h[b-1])&&h.pop(),h},_setLatLngs:function(u){Lo.prototype._setLatLngs.call(this,u),oi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return oi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var u=this._renderer._bounds,h=this.options.weight,b=new q(h,h);if(u=new H(u.min.subtract(b),u.max.add(b)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(u))){if(this.options.noClip){this._parts=this._rings;return}for(var T=0,P=this._rings.length,B;Tu.y!=P.y>u.y&&u.x<(P.x-T.x)*(u.y-T.y)/(P.y-T.y)+T.x&&(h=!h);return h||Lo.prototype._containsPoint.call(this,u,!0)}});function DU(u,h){return new Jl(u,h)}var jo=Po.extend({initialize:function(u,h){y(this,h),this._layers={},u&&this.addData(u)},addData:function(u){var h=S(u)?u:u.features,b,T,P;if(h){for(b=0,T=h.length;b0&&P.push(P[0].slice()),P}function ec(u,h){return u.feature?i({},u.feature,{geometry:h}):kp(h)}function kp(u){return u.type==="Feature"||u.type==="FeatureCollection"?u:{type:"Feature",properties:{},geometry:u}}var a_={toGeoJSON:function(u){return ec(this,{type:"Point",coordinates:o_(this.getLatLng(),u)})}};Sp.include(a_),r_.include(a_),Ep.include(a_),Lo.include({toGeoJSON:function(u){var h=!oi(this._latlngs),b=Cp(this._latlngs,h?1:0,!1,u);return ec(this,{type:(h?"Multi":"")+"LineString",coordinates:b})}}),Jl.include({toGeoJSON:function(u){var h=!oi(this._latlngs),b=h&&!oi(this._latlngs[0]),T=Cp(this._latlngs,b?2:h?1:0,!0,u);return h||(T=[T]),ec(this,{type:(b?"Multi":"")+"Polygon",coordinates:T})}}),Ql.include({toMultiPoint:function(u){var h=[];return this.eachLayer(function(b){h.push(b.toGeoJSON(u).geometry.coordinates)}),ec(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(u){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(u);var b=h==="GeometryCollection",T=[];return this.eachLayer(function(P){if(P.toGeoJSON){var B=P.toGeoJSON(u);if(b)T.push(B.geometry);else{var oe=kp(B);oe.type==="FeatureCollection"?T.push.apply(T,oe.features):T.push(oe)}}}),b?ec(this,{geometries:T,type:"GeometryCollection"}):{type:"FeatureCollection",features:T}}});function QO(u,h){return new jo(u,h)}var IU=QO,Pp=Ri.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(u,h,b){this._url=u,this._bounds=K(h),y(this,b)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Ze(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Ht(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(u){return this.options.opacity=u,this._image&&this._updateOpacity(),this},setStyle:function(u){return u.opacity&&this.setOpacity(u.opacity),this},bringToFront:function(){return this._map&&Kl(this._image),this},bringToBack:function(){return this._map&&Zl(this._image),this},setUrl:function(u){return this._url=u,this._image&&(this._image.src=u),this},setBounds:function(u){return this._bounds=K(u),this._map&&this._reset(),this},getEvents:function(){var u={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(u.zoomanim=this._animateZoom),u},setZIndex:function(u){return this.options.zIndex=u,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var u=this._url.tagName==="IMG",h=this._image=u?this._url:pt("img");if(Ze(h,"leaflet-image-layer"),this._zoomAnimated&&Ze(h,"leaflet-zoom-animated"),this.options.className&&Ze(h,this.options.className),h.onselectstart=f,h.onmousemove=f,h.onload=a(this.fire,this,"load"),h.onerror=a(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),u){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(u){var h=this._map.getZoomScale(u.zoom),b=this._map._latLngBoundsToNewLayerBounds(this._bounds,u.zoom,u.center).min;Cs(this._image,b,h)},_reset:function(){var u=this._image,h=new H(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),b=h.getSize();pn(u,h.min),u.style.width=b.x+"px",u.style.height=b.y+"px"},_updateOpacity:function(){ii(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var u=this.options.errorOverlayUrl;u&&this._url!==u&&(this._url=u,this._image.src=u)},getCenter:function(){return this._bounds.getCenter()}}),FU=function(u,h,b){return new Pp(u,h,b)},XO=Pp.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var u=this._url.tagName==="VIDEO",h=this._image=u?this._url:pt("video");if(Ze(h,"leaflet-image-layer"),this._zoomAnimated&&Ze(h,"leaflet-zoom-animated"),this.options.className&&Ze(h,this.options.className),h.onselectstart=f,h.onmousemove=f,h.onloadeddata=a(this.fire,this,"load"),u){for(var b=h.getElementsByTagName("source"),T=[],P=0;P0?T:[h.src];return}S(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var B=0;BP?(h.height=P+"px",Ze(u,B)):rn(u,B),this._containerWidth=this._container.offsetWidth},_animateZoom:function(u){var h=this._map._latLngToNewLayerPoint(this._latlng,u.zoom,u.center),b=this._getAnchor();pn(this._container,h.add(b))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var u=this._map,h=parseInt(td(this._container,"marginBottom"),10)||0,b=this._container.offsetHeight+h,T=this._containerWidth,P=new q(this._containerLeft,-b-this._containerBottom);P._add(ks(this._container));var B=u.layerPointToContainerPoint(P),oe=D(this.options.autoPanPadding),de=D(this.options.autoPanPaddingTopLeft||oe),pe=D(this.options.autoPanPaddingBottomRight||oe),we=u.getSize(),De=0,We=0;B.x+T+pe.x>we.x&&(De=B.x+T-we.x+pe.x),B.x-De-de.x<0&&(De=B.x-de.x),B.y+b+pe.y>we.y&&(We=B.y+b-we.y+pe.y),B.y-We-de.y<0&&(We=B.y-de.y),(De||We)&&(this.options.keepInView&&(this._autopanning=!0),u.fire("autopanstart").panBy([De,We]))}},_getAnchor:function(){return D(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),BU=function(u,h){return new Lp(u,h)};ct.mergeOptions({closePopupOnClick:!0}),ct.include({openPopup:function(u,h,b){return this._initOverlay(Lp,u,h,b).openOn(this),this},closePopup:function(u){return u=arguments.length?u:this._popup,u&&u.close(),this}}),Ri.include({bindPopup:function(u,h){return this._popup=this._initOverlay(Lp,this._popup,u,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(u){return this._popup&&(this instanceof Po||(this._popup._source=this),this._popup._prepareOpen(u||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(u){return this._popup&&this._popup.setContent(u),this},getPopup:function(){return this._popup},_openPopup:function(u){if(!(!this._popup||!this._map)){Ls(u);var h=u.layer||u.target;if(this._popup._source===h&&!(h instanceof _a)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(u.latlng);return}this._popup._source=h,this.openPopup(u.latlng)}},_movePopup:function(u){this._popup.setLatLng(u.latlng)},_onKeyPress:function(u){u.originalEvent.keyCode===13&&this._openPopup(u)}});var jp=eo.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(u){eo.prototype.onAdd.call(this,u),this.setOpacity(this.options.opacity),u.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(u){eo.prototype.onRemove.call(this,u),u.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var u=eo.prototype.getEvents.call(this);return this.options.permanent||(u.preclick=this.close),u},_initLayout:function(){var u="leaflet-tooltip",h=u+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=pt("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+l(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(u){var h,b,T=this._map,P=this._container,B=T.latLngToContainerPoint(T.getCenter()),oe=T.layerPointToContainerPoint(u),de=this.options.direction,pe=P.offsetWidth,we=P.offsetHeight,De=D(this.options.offset),We=this._getAnchor();de==="top"?(h=pe/2,b=we):de==="bottom"?(h=pe/2,b=0):de==="center"?(h=pe/2,b=we/2):de==="right"?(h=0,b=we/2):de==="left"?(h=pe,b=we/2):oe.xthis.options.maxZoom||bT?this._retainParent(P,B,oe,T):!1)},_retainChildren:function(u,h,b,T){for(var P=2*u;P<2*u+2;P++)for(var B=2*h;B<2*h+2;B++){var oe=new q(P,B);oe.z=b+1;var de=this._tileCoordsToKey(oe),pe=this._tiles[de];if(pe&&pe.active){pe.retain=!0;continue}else pe&&pe.loaded&&(pe.retain=!0);b+1this.options.maxZoom||this.options.minZoom!==void 0&&P1){this._setView(u,b);return}for(var We=P.min.y;We<=P.max.y;We++)for(var Xe=P.min.x;Xe<=P.max.x;Xe++){var hr=new q(Xe,We);if(hr.z=this._tileZoom,!!this._isValidTile(hr)){var Cn=this._tiles[this._tileCoordsToKey(hr)];Cn?Cn.current=!0:oe.push(hr)}}if(oe.sort(function(Sr,nc){return Sr.distanceTo(B)-nc.distanceTo(B)}),oe.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var ai=document.createDocumentFragment();for(Xe=0;Xeb.max.x)||!h.wrapLat&&(u.yb.max.y))return!1}if(!this.options.bounds)return!0;var T=this._tileCoordsToBounds(u);return K(this.options.bounds).overlaps(T)},_keyToBounds:function(u){return this._tileCoordsToBounds(this._keyToTileCoords(u))},_tileCoordsToNwSe:function(u){var h=this._map,b=this.getTileSize(),T=u.scaleBy(b),P=T.add(b),B=h.unproject(T,u.z),oe=h.unproject(P,u.z);return[B,oe]},_tileCoordsToBounds:function(u){var h=this._tileCoordsToNwSe(u),b=new V(h[0],h[1]);return this.options.noWrap||(b=this._map.wrapLatLngBounds(b)),b},_tileCoordsToKey:function(u){return u.x+":"+u.y+":"+u.z},_keyToTileCoords:function(u){var h=u.split(":"),b=new q(+h[0],+h[1]);return b.z=+h[2],b},_removeTile:function(u){var h=this._tiles[u];h&&(Ht(h.el),delete this._tiles[u],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(u)}))},_initTile:function(u){Ze(u,"leaflet-tile");var h=this.getTileSize();u.style.width=h.x+"px",u.style.height=h.y+"px",u.onselectstart=f,u.onmousemove=f,ze.ielt9&&this.options.opacity<1&&ii(u,this.options.opacity)},_addTile:function(u,h){var b=this._getTilePos(u),T=this._tileCoordsToKey(u),P=this.createTile(this._wrapCoords(u),a(this._tileReady,this,u));this._initTile(P),this.createTile.length<2&&z(a(this._tileReady,this,u,null,P)),pn(P,b),this._tiles[T]={el:P,coords:u,current:!0},h.appendChild(P),this.fire("tileloadstart",{tile:P,coords:u})},_tileReady:function(u,h,b){h&&this.fire("tileerror",{error:h,tile:b,coords:u});var T=this._tileCoordsToKey(u);b=this._tiles[T],b&&(b.loaded=+new Date,this._map._fadeAnimated?(ii(b.el,0),W(this._fadeFrame),this._fadeFrame=z(this._updateOpacity,this)):(b.active=!0,this._pruneTiles()),h||(Ze(b.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:b.el,coords:u})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ze.ielt9||!this._map._fadeAnimated?z(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(u){return u.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(u){var h=new q(this._wrapX?d(u.x,this._wrapX):u.x,this._wrapY?d(u.y,this._wrapY):u.y);return h.z=u.z,h},_pxBoundsToTileRange:function(u){var h=this.getTileSize();return new H(u.min.unscaleBy(h).floor(),u.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var u in this._tiles)if(!this._tiles[u].loaded)return!1;return!0}});function HU(u){return new cd(u)}var tc=cd.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(u,h){this._url=u,h=y(this,h),h.detectRetina&&ze.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(u,h){return this._url===u&&h===void 0&&(h=!0),this._url=u,h||this.redraw(),this},createTile:function(u,h){var b=document.createElement("img");return qe(b,"load",a(this._tileOnLoad,this,h,b)),qe(b,"error",a(this._tileOnError,this,h,b)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(b.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(b.referrerPolicy=this.options.referrerPolicy),b.alt="",b.src=this.getTileUrl(u),b},getTileUrl:function(u){var h={r:ze.retina?"@2x":"",s:this._getSubdomain(u),x:u.x,y:u.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var b=this._globalTileRange.max.y-u.y;this.options.tms&&(h.y=b),h["-y"]=b}return w(this._url,i(h,this.options))},_tileOnLoad:function(u,h){ze.ielt9?setTimeout(a(u,this,null,h),0):u(null,h)},_tileOnError:function(u,h,b){var T=this.options.errorTileUrl;T&&h.getAttribute("src")!==T&&(h.src=T),u(b,h)},_onTileRemove:function(u){u.tile.onload=null},_getZoomForUrl:function(){var u=this._tileZoom,h=this.options.maxZoom,b=this.options.zoomReverse,T=this.options.zoomOffset;return b&&(u=h-u),u+T},_getSubdomain:function(u){var h=Math.abs(u.x+u.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var u,h;for(u in this._tiles)if(this._tiles[u].coords.z!==this._tileZoom&&(h=this._tiles[u].el,h.onload=f,h.onerror=f,!h.complete)){h.src=C;var b=this._tiles[u].coords;Ht(h),delete this._tiles[u],this.fire("tileabort",{tile:h,coords:b})}},_removeTile:function(u){var h=this._tiles[u];if(h)return h.el.setAttribute("src",C),cd.prototype._removeTile.call(this,u)},_tileReady:function(u,h,b){if(!(!this._map||b&&b.getAttribute("src")===C))return cd.prototype._tileReady.call(this,u,h,b)}});function tC(u,h){return new tc(u,h)}var nC=tc.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(u,h){this._url=u;var b=i({},this.defaultWmsParams);for(var T in h)T in this.options||(b[T]=h[T]);h=y(this,h);var P=h.detectRetina&&ze.retina?2:1,B=this.getTileSize();b.width=B.x*P,b.height=B.y*P,this.wmsParams=b},onAdd:function(u){this._crs=this.options.crs||u.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,tc.prototype.onAdd.call(this,u)},getTileUrl:function(u){var h=this._tileCoordsToNwSe(u),b=this._crs,T=ie(b.project(h[0]),b.project(h[1])),P=T.min,B=T.max,oe=(this._wmsVersion>=1.3&&this._crs===qO?[P.y,P.x,B.y,B.x]:[P.x,P.y,B.x,B.y]).join(","),de=tc.prototype.getTileUrl.call(this,u);return de+x(this.wmsParams,de,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+oe},setParams:function(u,h){return i(this.wmsParams,u),h||this.redraw(),this}});function WU(u,h){return new nC(u,h)}tc.WMS=nC,tC.wms=WU;var Mo=Ri.extend({options:{padding:.1},initialize:function(u){y(this,u),l(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Ze(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var u={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(u.zoomanim=this._onAnimZoom),u},_onAnimZoom:function(u){this._updateTransform(u.center,u.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(u,h){var b=this._map.getZoomScale(h,this._zoom),T=this._map.getSize().multiplyBy(.5+this.options.padding),P=this._map.project(this._center,h),B=T.multiplyBy(-b).add(P).subtract(this._map._getNewPixelOrigin(u,h));ze.any3d?Cs(this._container,B,b):pn(this._container,B)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var u in this._layers)this._layers[u]._reset()},_onZoomEnd:function(){for(var u in this._layers)this._layers[u]._project()},_updatePaths:function(){for(var u in this._layers)this._layers[u]._update()},_update:function(){var u=this.options.padding,h=this._map.getSize(),b=this._map.containerPointToLayerPoint(h.multiplyBy(-u)).round();this._bounds=new H(b,b.add(h.multiplyBy(1+u*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),rC=Mo.extend({options:{tolerance:0},getEvents:function(){var u=Mo.prototype.getEvents.call(this);return u.viewprereset=this._onViewPreReset,u},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Mo.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var u=this._container=document.createElement("canvas");qe(u,"mousemove",this._onMouseMove,this),qe(u,"click dblclick mousedown mouseup contextmenu",this._onClick,this),qe(u,"mouseout",this._handleMouseOut,this),u._leaflet_disable_events=!0,this._ctx=u.getContext("2d")},_destroyContainer:function(){W(this._redrawRequest),delete this._ctx,Ht(this._container),Ct(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var u;this._redrawBounds=null;for(var h in this._layers)u=this._layers[h],u._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Mo.prototype._update.call(this);var u=this._bounds,h=this._container,b=u.getSize(),T=ze.retina?2:1;pn(h,u.min),h.width=T*b.x,h.height=T*b.y,h.style.width=b.x+"px",h.style.height=b.y+"px",ze.retina&&this._ctx.scale(2,2),this._ctx.translate(-u.min.x,-u.min.y),this.fire("update")}},_reset:function(){Mo.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(u){this._updateDashArray(u),this._layers[l(u)]=u;var h=u._order={layer:u,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(u){this._requestRedraw(u)},_removePath:function(u){var h=u._order,b=h.next,T=h.prev;b?b.prev=T:this._drawLast=T,T?T.next=b:this._drawFirst=b,delete u._order,delete this._layers[l(u)],this._requestRedraw(u)},_updatePath:function(u){this._extendRedrawBounds(u),u._project(),u._update(),this._requestRedraw(u)},_updateStyle:function(u){this._updateDashArray(u),this._requestRedraw(u)},_updateDashArray:function(u){if(typeof u.options.dashArray=="string"){var h=u.options.dashArray.split(/[, ]+/),b=[],T,P;for(P=0;P')}}catch{}return function(u){return document.createElement("<"+u+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),YU={_initContainer:function(){this._container=pt("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Mo.prototype._update.call(this),this.fire("update"))},_initPath:function(u){var h=u._container=ud("shape");Ze(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",u._path=ud("path"),h.appendChild(u._path),this._updateStyle(u),this._layers[l(u)]=u},_addPath:function(u){var h=u._container;this._container.appendChild(h),u.options.interactive&&u.addInteractiveTarget(h)},_removePath:function(u){var h=u._container;Ht(h),u.removeInteractiveTarget(h),delete this._layers[l(u)]},_updateStyle:function(u){var h=u._stroke,b=u._fill,T=u.options,P=u._container;P.stroked=!!T.stroke,P.filled=!!T.fill,T.stroke?(h||(h=u._stroke=ud("stroke")),P.appendChild(h),h.weight=T.weight+"px",h.color=T.color,h.opacity=T.opacity,T.dashArray?h.dashStyle=S(T.dashArray)?T.dashArray.join(" "):T.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=T.lineCap.replace("butt","flat"),h.joinstyle=T.lineJoin):h&&(P.removeChild(h),u._stroke=null),T.fill?(b||(b=u._fill=ud("fill")),P.appendChild(b),b.color=T.fillColor||T.color,b.opacity=T.fillOpacity):b&&(P.removeChild(b),u._fill=null)},_updateCircle:function(u){var h=u._point.round(),b=Math.round(u._radius),T=Math.round(u._radiusY||b);this._setPath(u,u._empty()?"M0 0":"AL "+h.x+","+h.y+" "+b+","+T+" 0,"+65535*360)},_setPath:function(u,h){u._path.v=h},_bringToFront:function(u){Kl(u._container)},_bringToBack:function(u){Zl(u._container)}},Mp=ze.vml?ud:Me,dd=Mo.extend({_initContainer:function(){this._container=Mp("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Mp("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Ht(this._container),Ct(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Mo.prototype._update.call(this);var u=this._bounds,h=u.getSize(),b=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,b.setAttribute("width",h.x),b.setAttribute("height",h.y)),pn(b,u.min),b.setAttribute("viewBox",[u.min.x,u.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(u){var h=u._path=Mp("path");u.options.className&&Ze(h,u.options.className),u.options.interactive&&Ze(h,"leaflet-interactive"),this._updateStyle(u),this._layers[l(u)]=u},_addPath:function(u){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(u._path),u.addInteractiveTarget(u._path)},_removePath:function(u){Ht(u._path),u.removeInteractiveTarget(u._path),delete this._layers[l(u)]},_updatePath:function(u){u._project(),u._update()},_updateStyle:function(u){var h=u._path,b=u.options;h&&(b.stroke?(h.setAttribute("stroke",b.color),h.setAttribute("stroke-opacity",b.opacity),h.setAttribute("stroke-width",b.weight),h.setAttribute("stroke-linecap",b.lineCap),h.setAttribute("stroke-linejoin",b.lineJoin),b.dashArray?h.setAttribute("stroke-dasharray",b.dashArray):h.removeAttribute("stroke-dasharray"),b.dashOffset?h.setAttribute("stroke-dashoffset",b.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),b.fill?(h.setAttribute("fill",b.fillColor||b.color),h.setAttribute("fill-opacity",b.fillOpacity),h.setAttribute("fill-rule",b.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(u,h){this._setPath(u,ue(u._parts,h))},_updateCircle:function(u){var h=u._point,b=Math.max(Math.round(u._radius),1),T=Math.max(Math.round(u._radiusY),1)||b,P="a"+b+","+T+" 0 1,0 ",B=u._empty()?"M0 0":"M"+(h.x-b)+","+h.y+P+b*2+",0 "+P+-b*2+",0 ";this._setPath(u,B)},_setPath:function(u,h){u._path.setAttribute("d",h)},_bringToFront:function(u){Kl(u._path)},_bringToBack:function(u){Zl(u._path)}});ze.vml&&dd.include(YU);function oC(u){return ze.svg||ze.vml?new dd(u):null}ct.include({getRenderer:function(u){var h=u.options.renderer||this._getPaneRenderer(u.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(u){if(u==="overlayPane"||u===void 0)return!1;var h=this._paneRenderers[u];return h===void 0&&(h=this._createRenderer({pane:u}),this._paneRenderers[u]=h),h},_createRenderer:function(u){return this.options.preferCanvas&&iC(u)||oC(u)}});var aC=Jl.extend({initialize:function(u,h){Jl.prototype.initialize.call(this,this._boundsToLatLngs(u),h)},setBounds:function(u){return this.setLatLngs(this._boundsToLatLngs(u))},_boundsToLatLngs:function(u){return u=K(u),[u.getSouthWest(),u.getNorthWest(),u.getNorthEast(),u.getSouthEast()]}});function GU(u,h){return new aC(u,h)}dd.create=Mp,dd.pointsToPath=ue,jo.geometryToLayer=Tp,jo.coordsToLatLng=i_,jo.coordsToLatLngs=Op,jo.latLngToCoords=o_,jo.latLngsToCoords=Cp,jo.getFeature=ec,jo.asFeature=kp,ct.mergeOptions({boxZoom:!0});var sC=Ji.extend({initialize:function(u){this._map=u,this._container=u._container,this._pane=u._panes.overlayPane,this._resetStateTimeout=0,u.on("unload",this._destroy,this)},addHooks:function(){qe(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Ct(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Ht(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(u){if(!u.shiftKey||u.which!==1&&u.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),nd(),B0(),this._startPoint=this._map.mouseEventToContainerPoint(u),qe(document,{contextmenu:Ls,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(u){this._moved||(this._moved=!0,this._box=pt("div","leaflet-zoom-box",this._container),Ze(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(u);var h=new H(this._point,this._startPoint),b=h.getSize();pn(this._box,h.min),this._box.style.width=b.x+"px",this._box.style.height=b.y+"px"},_finish:function(){this._moved&&(Ht(this._box),rn(this._container,"leaflet-crosshair")),rd(),z0(),Ct(document,{contextmenu:Ls,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(u){if(!(u.which!==1&&u.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var h=new V(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(u){u.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ct.addInitHook("addHandler","boxZoom",sC),ct.mergeOptions({doubleClickZoom:!0});var lC=Ji.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(u){var h=this._map,b=h.getZoom(),T=h.options.zoomDelta,P=u.originalEvent.shiftKey?b-T:b+T;h.options.doubleClickZoom==="center"?h.setZoom(P):h.setZoomAround(u.containerPoint,P)}});ct.addInitHook("addHandler","doubleClickZoom",lC),ct.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var cC=Ji.extend({addHooks:function(){if(!this._draggable){var u=this._map;this._draggable=new ya(u._mapPane,u._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),u.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),u.on("zoomend",this._onZoomEnd,this),u.whenReady(this._onZoomEnd,this))}Ze(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){rn(this._map._container,"leaflet-grab"),rn(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var u=this._map;if(u._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=K(this._map.options.maxBounds);this._offsetLimit=ie(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;u.fire("movestart").fire("dragstart"),u.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(u){if(this._map.options.inertia){var h=this._lastTime=+new Date,b=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(b),this._times.push(h),this._prunePositions(h)}this._map.fire("move",u).fire("drag",u)},_prunePositions:function(u){for(;this._positions.length>1&&u-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var u=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(u).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(u,h){return u-(u-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var u=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;u.xh.max.x&&(u.x=this._viscousLimit(u.x,h.max.x)),u.y>h.max.y&&(u.y=this._viscousLimit(u.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(u)}},_onPreDragWrap:function(){var u=this._worldWidth,h=Math.round(u/2),b=this._initialWorldOffset,T=this._draggable._newPos.x,P=(T-h+b)%u+h-b,B=(T+h+b)%u-h-b,oe=Math.abs(P+b)0?B:-B))-h;this._delta=0,this._startTime=null,oe&&(u.options.scrollWheelZoom==="center"?u.setZoom(h+oe):u.setZoomAround(this._lastMousePos,h+oe))}});ct.addInitHook("addHandler","scrollWheelZoom",dC);var qU=600;ct.mergeOptions({tapHold:ze.touchNative&&ze.safari&&ze.mobile,tapTolerance:15});var fC=Ji.extend({addHooks:function(){qe(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Ct(this._map._container,"touchstart",this._onDown,this)},_onDown:function(u){if(clearTimeout(this._holdTimeout),u.touches.length===1){var h=u.touches[0];this._startPos=this._newPos=new q(h.clientX,h.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(qe(document,"touchend",Yn),qe(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),qU),qe(document,"touchend touchcancel contextmenu",this._cancel,this),qe(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function u(){Ct(document,"touchend",Yn),Ct(document,"touchend touchcancel",u)},_cancel:function(){clearTimeout(this._holdTimeout),Ct(document,"touchend touchcancel contextmenu",this._cancel,this),Ct(document,"touchmove",this._onMove,this)},_onMove:function(u){var h=u.touches[0];this._newPos=new q(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(u,h){var b=new MouseEvent(u,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});b._simulated=!0,h.target.dispatchEvent(b)}});ct.addInitHook("addHandler","tapHold",fC),ct.mergeOptions({touchZoom:ze.touch,bounceAtZoomLimits:!0});var hC=Ji.extend({addHooks:function(){Ze(this._map._container,"leaflet-touch-zoom"),qe(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){rn(this._map._container,"leaflet-touch-zoom"),Ct(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(u){var h=this._map;if(!(!u.touches||u.touches.length!==2||h._animatingZoom||this._zooming)){var b=h.mouseEventToContainerPoint(u.touches[0]),T=h.mouseEventToContainerPoint(u.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(b.add(T)._divideBy(2))),this._startDist=b.distanceTo(T),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),qe(document,"touchmove",this._onTouchMove,this),qe(document,"touchend touchcancel",this._onTouchEnd,this),Yn(u)}},_onTouchMove:function(u){if(!(!u.touches||u.touches.length!==2||!this._zooming)){var h=this._map,b=h.mouseEventToContainerPoint(u.touches[0]),T=h.mouseEventToContainerPoint(u.touches[1]),P=b.distanceTo(T)/this._startDist;if(this._zoom=h.getScaleZoom(P,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoomh.getMaxZoom()&&P>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,P===1)return}else{var B=b._add(T)._divideBy(2)._subtract(this._centerPoint);if(P===1&&B.x===0&&B.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(B),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),W(this._animRequest);var oe=a(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=z(oe,this,!0),Yn(u)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,W(this._animRequest),Ct(document,"touchmove",this._onTouchMove,this),Ct(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});ct.addInitHook("addHandler","touchZoom",hC),ct.BoxZoom=sC,ct.DoubleClickZoom=lC,ct.Drag=cC,ct.Keyboard=uC,ct.ScrollWheelZoom=dC,ct.TapHold=fC,ct.TouchZoom=hC,n.Bounds=H,n.Browser=ze,n.CRS=he,n.Canvas=rC,n.Circle=r_,n.CircleMarker=Ep,n.Class=G,n.Control=Ai,n.DivIcon=eC,n.DivOverlay=eo,n.DomEvent=fU,n.DomUtil=uU,n.Draggable=ya,n.Evented=le,n.FeatureGroup=Po,n.GeoJSON=jo,n.GridLayer=cd,n.Handler=Ji,n.Icon=Xl,n.ImageOverlay=Pp,n.LatLng=re,n.LatLngBounds=V,n.Layer=Ri,n.LayerGroup=Ql,n.LineUtil=TU,n.Map=ct,n.Marker=Sp,n.Mixin=_U,n.Path=_a,n.Point=q,n.PolyUtil=bU,n.Polygon=Jl,n.Polyline=Lo,n.Popup=Lp,n.PosAnimation=DO,n.Projection=OU,n.Rectangle=aC,n.Renderer=Mo,n.SVG=dd,n.SVGOverlay=JO,n.TileLayer=tc,n.Tooltip=jp,n.Transformation=ee,n.Util=X,n.VideoOverlay=XO,n.bind=a,n.bounds=ie,n.canvas=iC,n.circle=RU,n.circleMarker=AU,n.control=ad,n.divIcon=VU,n.extend=i,n.featureGroup=LU,n.geoJSON=QO,n.geoJson=IU,n.gridLayer=HU,n.icon=jU,n.imageOverlay=FU,n.latLng=ae,n.latLngBounds=K,n.layerGroup=PU,n.map=hU,n.marker=MU,n.point=D,n.polygon=DU,n.polyline=NU,n.popup=BU,n.rectangle=GU,n.setOptions=y,n.stamp=l,n.svg=oC,n.svgOverlay=UU,n.tileLayer=tC,n.tooltip=zU,n.transformation=J,n.version=r,n.videoOverlay=$U;var KU=window.L;n.noConflict=function(){return window.L=KU,this},window.L=n})})(T2,T2.exports);var up=T2.exports;const LA=Gu(up);function dO(e,t,n){return Object.freeze({instance:e,context:t,container:n})}function fO(e,t){return t==null?function(n,r){const i=$.useRef();return i.current||(i.current=e(n,r)),i}:function(n,r){const i=$.useRef();i.current||(i.current=e(n,r));const o=$.useRef(n),{instance:a}=i.current;return $.useEffect(function(){o.current!==n&&(t(a,n,o.current),o.current=n)},[a,n,r]),i}}function Ube(e,t){$.useEffect(function(){return(t.layerContainer??t.map).addLayer(e.instance),function(){var n;(n=t.layerContainer)==null||n.removeLayer(e.instance),t.map.removeLayer(e.instance)}},[t,e])}function i$(e){return function(t){const n=n$(),r=e(uO(t,n),n);return JF(n.map,t.attribution),r$(r.current,t.eventHandlers),Ube(r.current,n),r}}function Bbe(e,t){const n=fO(e,t),r=i$(n);return Dbe(r)}function zbe(e,t){const n=fO(e),r=$be(n,t);return Ibe(r)}function Vbe(e,t){const n=fO(e,t),r=i$(n);return Fbe(r)}function Hbe(e,t,n){const{opacity:r,zIndex:i}=t;r!=null&&r!==n.opacity&&e.setOpacity(r),i!=null&&i!==n.zIndex&&e.setZIndex(i)}function O2(){return O2=Object.assign||function(e){for(var t=1;t(m==null?void 0:m.map)??null,[m]);const y=$.useCallback(_=>{if(_!==null&&m===null){const w=new up.Map(_,d);n!=null&&c!=null?w.setView(n,c):e!=null&&w.fitBounds(e,t),l!=null&&w.whenReady(l),v(Rbe(w))}},[]);$.useEffect(()=>()=>{m==null||m.map.remove()},[m]);const x=m?Y.createElement(t$,{value:m},r):a??null;return Y.createElement("div",O2({},p,{ref:y}),x)}const Ybe=$.forwardRef(Wbe),Gbe=Bbe(function({position:e,...t},n){const r=new up.Marker(e,t);return dO(r,Nbe(n,{overlayContainer:r}))},function(e,t,n){t.position!==n.position&&e.setLatLng(t.position),t.icon!=null&&t.icon!==n.icon&&e.setIcon(t.icon),t.zIndexOffset!=null&&t.zIndexOffset!==n.zIndexOffset&&e.setZIndexOffset(t.zIndexOffset),t.opacity!=null&&t.opacity!==n.opacity&&e.setOpacity(t.opacity),e.dragging!=null&&t.draggable!==n.draggable&&(t.draggable===!0?e.dragging.enable():e.dragging.disable())}),qbe=zbe(function(e,t){const n=new up.Popup(e,t.overlayContainer);return dO(n,t)},function(e,t,{position:n},r){$.useEffect(function(){const{instance:i}=e;function o(s){s.popup===i&&(i.update(),r(!0))}function a(s){s.popup===i&&r(!1)}return t.map.on({popupopen:o,popupclose:a}),t.overlayContainer==null?(n!=null&&i.setLatLng(n),i.openOn(t.map)):t.overlayContainer.bindPopup(i),function(){var s;t.map.off({popupopen:o,popupclose:a}),(s=t.overlayContainer)==null||s.unbindPopup(),t.map.removeLayer(i)}},[e,t,r,n])}),Kbe=Vbe(function({url:e,...t},n){const r=new up.TileLayer(e,uO(t,n));return dO(r,n)},function(e,t,n){Hbe(e,t,n);const{url:r}=t;r!=null&&r!==n.url&&e.setUrl(r)}),Zbe=()=>g.jsx(Kbe,{attribution:'© OpenStreetMap contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),Qbe=e=>{if(e.length===0)return{};if(e.length>1)return{bounds:e.map(mt("latLong"))};const[{latLong:t}]=e;return{zoom:10,center:t}},o$=({toggle:e,isOpen:t,title:n,locations:r=[]})=>g.jsx(fa,{toggle:e,isOpen:t,className:"map-modal__modal",contentClassName:"map-modal__modal-content",children:g.jsxs(Co,{className:"map-modal__modal-body",children:[g.jsxs("h3",{className:"map-modal__modal-title",children:[n,g.jsx("button",{type:"button",className:"btn-close float-end","aria-label":"Close",onClick:e})]}),g.jsxs(Ybe,{...Qbe(r),children:[g.jsx(Zbe,{}),r.map(({cityName:i,latLong:o,count:a},s)=>g.jsx(Gbe,{position:o,children:g.jsxs(qbe,{children:[g.jsx("b",{children:a})," visit",a>1?"s":""," from ",g.jsx("b",{children:i})]})},s))]})]})}),Xbe=({modalTitle:e,activeCities:t,locations:n=[]})=>{const[r,,i,o]=Tn(),[a,s]=Tn(),[l,c]=$.useState([]),d=l0(),f=$.useCallback(p=>{c(p?n.filter(p):n),i()},[n]);return g.jsxs(g.Fragment,{children:[!t&&g.jsx(yt,{color:"link",className:"open-map-modal-btn__btn",id:d,onClick:()=>f(),children:g.jsx(Ae,{icon:qb})}),t&&g.jsxs(Bh,{isOpen:a,toggle:s,children:[g.jsx(zu,{color:"link",className:"open-map-modal-btn__btn",id:d,children:g.jsx(Ae,{icon:qb})}),g.jsxs(Bu,{end:!0,children:[g.jsx(Ue,{onClick:()=>f(),children:"Show all locations"}),g.jsx(Ue,{onClick:()=>f(({cityName:p})=>t.includes(p)),children:"Show locations in current page"})]})]}),g.jsx(Dr,{placement:"left",target:d,children:"Show in map"}),g.jsx(o$,{toggle:o,isOpen:r,title:e,locations:l})]})},Jbe=({onChange:e,selected:t={},className:n,isOrphanVisits:r})=>{const{orphanVisitsType:i,excludeBots:o=!1}=t,a=s=>({active:i===s,onClick:()=>e({...t,orphanVisitsType:s===(t==null?void 0:t.orphanVisitsType)?void 0:s})});return g.jsxs(pa,{text:"Filters",dropdownClassName:n,inline:!0,end:!0,minWidth:250,children:[g.jsx(Ue,{header:!0,children:"Bots:"}),g.jsx(Ue,{active:o,onClick:()=>e({...t,excludeBots:!(t!=null&&t.excludeBots)}),children:"Exclude potential bots"}),r&&g.jsxs(g.Fragment,{children:[g.jsx(Ue,{divider:!0}),g.jsx(Ue,{header:!0,children:"Orphan visits type:"}),g.jsx(Ue,{...a("base_url"),children:"Base URL"}),g.jsx(Ue,{...a("invalid_short_url"),children:"Invalid short URL"}),g.jsx(Ue,{...a("regular_404"),children:"Regular 404"})]}),g.jsx(Ue,{divider:!0}),g.jsx(Ue,{disabled:!fo(t),onClick:()=>e({excludeBots:!1,orphanVisitsType:void 0}),children:g.jsx("i",{children:"Clear filters"})})]})},a$=(e,t)=>!Bl(e)&&fo(e[t]),jA=e=>typeof e=="number"?e:e?parseFloat(e):0,ewe=(e,{os:t})=>{e[t]=(e[t]||0)+1},twe=(e,{browser:t})=>{e[t]=(e[t]||0)+1},nwe=(e,{referer:t})=>{e[t]=(e[t]||0)+1},s$=e=>(t,n)=>{const r=a$(n,e)?n[e]:"Unknown";t[r]=(t[r]||0)+1},rwe=s$("country"),iwe=s$("city"),owe=(e,t)=>{if(!a$(t,"city")||t.city==="Unknown")return;const{city:n,latitude:r,longitude:i}=t,o=e[n]||{cityName:n,count:0,latLong:[jA(r),jA(i)]};o.count+=1,e[n]=o},awe=(e,t)=>{if(!Y1e(t))return;const{visitedUrl:n}=t;e[n]=(e[n]||0)+1},l$=e=>e.reduce((t,n)=>(ewe(t.os,n),twe(t.browsers,n),nwe(t.referrers,n),rwe(t.countries,n),iwe(t.cities,n),owe(t.citiesForMap,n),awe(t.visitedUrls,n),t),{os:{},browsers:{},referrers:{},countries:{},cities:{},citiesForMap:{},visitedUrls:{}}),c$=F5(e=>{const{userAgent:t,date:n,referer:r,visitLocation:i,potentialBot:o}=e,a={date:n,potentialBot:o,...hbe(t),referer:pbe(r),country:(i==null?void 0:i.countryName)||"Unknown",city:(i==null?void 0:i.cityName)||"Unknown",latitude:i==null?void 0:i.latitude,longitude:i==null?void 0:i.longitude};return aO(e)?{...a,type:e.type,visitedUrl:e.visitedUrl}:a}),swe=Object.freeze(Object.defineProperty({__proto__:null,normalizeVisits:c$,processStatsFromVisits:l$},Symbol.toStringTag,{value:"Module"})),qd=20,lwe=({browser:e,os:t,referer:n,country:r,city:i,...o},a)=>`${e} ${t} ${n} ${r} ${i} ${o.visitedUrl}`.toLowerCase().includes(a.toLowerCase()),cwe=(e,t)=>t.filter(n=>lwe(n,e)),uwe=(e,t)=>YI(t,e),dwe=(e,t,n)=>{const r=t?cwe(t,e):[...e],i=uwe(n,r),o=i.length;return{visitsGroups:yh(qd,i),total:o}},fwe=({visits:e,selectedVisits:t=[],setSelectedVisits:n,matchMedia:r=window.matchMedia,isOrphanVisits:i=!1})=>{var o,a;const s="visits-table__header-cell visits-table__sticky",l=()=>r("(max-width: 767px)").matches,[c,d]=$.useState(l()),[f,p]=$.useState(void 0),[m,v]=$.useState({}),y=$.useMemo(()=>dwe(e,f,m),[f,m]),x=$.useRef(!0),[_,w]=$.useState(1),S=_*qd,E=S-qd,C=8+Number(i),k=A=>()=>v({field:A,dir:u0(A,m.field,m.dir)}),j=A=>g.jsx(Pf,{currentOrder:m,field:A,className:"visits-table__header-icon"});return $.useEffect(()=>{const A=()=>d(l());return window.addEventListener("resize",A),()=>window.removeEventListener("resize",A)},[]),$.useEffect(()=>{w(1),!x.current&&n([]),x.current=!1},[f]),g.jsx("div",{className:"table-responsive-md",children:g.jsxs("table",{className:"table table-bordered table-hover table-sm visits-table",children:[g.jsxs("thead",{className:"visits-table__header",children:[g.jsxs("tr",{children:[g.jsx("th",{className:`${s} text-center`,onClick:()=>n(t.length0})})}),g.jsxs("th",{className:`${s} text-center`,onClick:k("potentialBot"),children:[g.jsx(Ae,{icon:iP}),j("potentialBot")]}),g.jsxs("th",{className:s,onClick:k("date"),children:["Date",j("date")]}),g.jsxs("th",{className:s,onClick:k("country"),children:["Country",j("country")]}),g.jsxs("th",{className:s,onClick:k("city"),children:["City",j("city")]}),g.jsxs("th",{className:s,onClick:k("browser"),children:["Browser",j("browser")]}),g.jsxs("th",{className:s,onClick:k("os"),children:["OS",j("os")]}),g.jsxs("th",{className:s,onClick:k("referer"),children:["Referrer",j("referer")]}),i&&g.jsxs("th",{className:s,onClick:k("visitedUrl"),children:["Visited URL",j("visitedUrl")]})]}),g.jsx("tr",{children:g.jsx("td",{colSpan:C,className:"p-0",children:g.jsx(Wh,{noBorder:!0,large:!1,onChange:p})})})]}),g.jsxs("tbody",{children:[!((o=y.visitsGroups[_-1])!=null&&o.length)&&g.jsx("tr",{children:g.jsx("td",{colSpan:C,className:"text-center",children:"No visits found with current filtering"})}),(a=y.visitsGroups[_-1])==null?void 0:a.map((A,U)=>{const N=t.includes(A);return g.jsxs("tr",{style:{cursor:"pointer"},className:rt({"table-active":N}),onClick:()=>n(N?t.filter(z=>z!==A):[...t,A]),children:[g.jsx("td",{className:"text-center",children:N&&g.jsx(Ae,{icon:qf,className:"text-primary"})}),g.jsx("td",{className:"text-center",children:A.potentialBot&&g.jsxs(g.Fragment,{children:[g.jsx(Ae,{icon:iP,id:`botIcon${U}`}),g.jsx(Dr,{placement:"right",target:`botIcon${U}`,children:"Potentially a visit from a bot or crawler"})]})}),g.jsx("td",{children:g.jsx(oy,{date:A.date})}),g.jsx("td",{children:A.country}),g.jsx("td",{children:A.city}),g.jsx("td",{children:A.browser}),g.jsx("td",{children:A.os}),g.jsx("td",{children:A.referer}),i&&g.jsx("td",{children:A.visitedUrl})]},U)})]}),y.total>qd&&g.jsx("tfoot",{children:g.jsx("tr",{children:g.jsx("td",{colSpan:C,className:"visits-table__footer-cell visits-table__sticky",children:g.jsxs("div",{className:"row",children:[g.jsx("div",{className:"col-md-6",children:g.jsx(eO,{pagesCount:Math.ceil(y.total/qd),currentPage:_,setCurrentPage:w,centered:c})}),g.jsx("div",{className:rt("col-md-6",{"d-flex align-items-center flex-row-reverse":!c,"text-center mt-3":c}),children:g.jsxs("div",{children:["Visits ",g.jsx("b",{children:Sn(E+1)})," to"," ",g.jsx("b",{children:Sn(G5(S,y.total))})," of"," ",g.jsx("b",{children:Sn(y.total)})]})})]})})})})]})})},gc={byTime:{title:"By time",subPath:"by-time",icon:HW},byContext:{title:"By context",subPath:"by-context",icon:KS},byLocation:{title:"By location",subPath:"by-location",icon:qb},list:{title:"List",subPath:"list",icon:f4}};let Bm;const dp=({children:e,visitsInfo:t,getVisits:n,cancelGetVisits:r,exportCsv:i,isOrphanVisits:o=!1})=>{const{visits:a,loading:s,loadingLarge:l,error:c,errorData:d,progress:f,fallbackInterval:p}=t,[{dateRange:m,visitsFilter:v},y]=Mbe(),x=Hl("visits"),_=Qn(({startDate:V,endDate:K})=>({dateRange:{startDate:V??void 0,endDate:K??void 0}}),y),w=$.useRef(m??p??(x==null?void 0:x.defaultInterval)??"last30Days"),[S,E]=$.useState([]),[C,k]=$.useState(),j=$.useRef(!0),{search:A}=yn(),U=V=>V?`${V}${A}`:A,N=$.useMemo(()=>c$(a),[a]),{os:z,browsers:W,referrers:X,countries:G,cities:Z,citiesForMap:te,visitedUrls:le}=$.useMemo(()=>l$(N),[N]),q=$.useMemo(()=>({...v,excludeBots:v.excludeBots??(x==null?void 0:x.excludeBots)}),[v]),I=pT(te),D=V=>{Bm=void 0,E(V)},H=V=>K=>{const re=`${V}_${K}`;Bm===re?(E([]),k(void 0),Bm=void 0):(E(N.filter(Dde(V,K))),k(K),Bm=re)};$.useEffect(()=>r,[]),$.useEffect(()=>{const V=j.current?m??ame(w.current):m;n({dateRange:V,filter:q},j.current),j.current=!1},[m,v]),$.useEffect(()=>{p&&w.current===((x==null?void 0:x.defaultInterval)??"last30Days")&&(w.current=p)},[p]);const ie=()=>l?g.jsxs(Go,{loading:!0,children:["This is going to take a while... :S",g.jsx(MI,{value:f,striped:f===100,className:"mt-3"})]}):s?g.jsx(Go,{loading:!0}):c?g.jsx(Yr,{type:"error",children:g.jsx(ia,{errorData:d,fallbackMessage:"An error occurred while loading visits :("})}):Li(a)?g.jsx(Go,{children:"There are no visits matching current filter"}):g.jsxs(g.Fragment,{children:[g.jsx(WI,{fill:!0,children:Object.values(gc).map(({title:V,icon:K,subPath:re},ae)=>g.jsxs(df,{to:U(re),replace:!0,children:[g.jsx(Ae,{icon:K}),g.jsx("span",{className:"ms-2 d-none d-sm-inline",children:V})]},ae))}),g.jsx(yr,{children:g.jsxs(Ky,{children:[g.jsx(vt,{path:gc.byTime.subPath,element:g.jsx("div",{className:"col-12 mt-3",children:g.jsx(xbe,{title:"Visits during time",visits:N,highlightedVisits:S,highlightedLabel:C,setSelectedVisits:D})})}),g.jsx(vt,{path:gc.byContext.subPath,element:g.jsxs(g.Fragment,{children:[g.jsx("div",{className:rt("mt-3 col-lg-6",{"col-xl-4":!o}),children:g.jsx(SA,{title:"Operating systems",stats:z})}),g.jsx("div",{className:rt("mt-3 col-lg-6",{"col-xl-4":!o}),children:g.jsx(SA,{title:"Browsers",stats:W})}),g.jsx("div",{className:rt("mt-3",{"col-xl-4":!o,"col-lg-6":o}),children:g.jsx(Um,{title:"Referrers",stats:X,withPagination:!1,highlightedStats:Fm(S,"referer"),highlightedLabel:C,sortingItems:{name:"Referrer name",amount:"Visits amount"},onClick:H("referer")})}),o&&g.jsx("div",{className:"mt-3 col-lg-6",children:g.jsx(Um,{title:"Visited URLs",stats:le,highlightedLabel:C,highlightedStats:Fm(S,"visitedUrl"),sortingItems:{visitedUrl:"Visited URL",amount:"Visits amount"},onClick:H("visitedUrl")})})]})}),g.jsx(vt,{path:gc.byLocation.subPath,element:g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"col-lg-6 mt-3",children:g.jsx(Um,{title:"Countries",stats:G,highlightedStats:Fm(S,"country"),highlightedLabel:C,sortingItems:{name:"Country name",amount:"Visits amount"},onClick:H("country")})}),g.jsx("div",{className:"col-lg-6 mt-3",children:g.jsx(Um,{title:"Cities",stats:Z,highlightedStats:Fm(S,"city"),highlightedLabel:C,extraHeaderContent:V=>I.length>0&&g.jsx(Xbe,{modalTitle:"Cities",locations:I,activeCities:V}),sortingItems:{name:"City name",amount:"Visits amount"},onClick:H("city")})})]})}),g.jsx(vt,{path:gc.list.subPath,element:g.jsx("div",{className:"col-12",children:g.jsx(fwe,{visits:N,selectedVisits:S,setSelectedVisits:D,isOrphanVisits:o})})}),g.jsx(vt,{path:"*",element:g.jsx(FS,{replace:!0,to:U(gc.byTime.subPath)})})]})})]});return g.jsxs(g.Fragment,{children:[e,g.jsx("section",{className:"mt-3",children:g.jsxs("div",{className:"row flex-md-row-reverse",children:[g.jsx("div",{className:"col-lg-7 col-xl-6",children:g.jsxs("div",{className:"d-md-flex",children:[g.jsx("div",{className:"flex-fill",children:g.jsx(_F,{updatable:!0,disabled:s,initialDateRange:w.current,defaultText:"All visits",onDatesChange:_})}),g.jsx(Jbe,{className:"ms-0 ms-md-2 mt-3 mt-md-0",isOrphanVisits:o,selected:q,onChange:V=>y({visitsFilter:V})})]})}),a.length>0&&g.jsx("div",{className:"col-lg-5 col-xl-6 mt-3 mt-lg-0",children:g.jsxs("div",{className:"d-flex",children:[g.jsx(z8,{className:"btn-md-block",amount:N.length,onClick:()=>i(N)}),g.jsxs(yt,{outline:!0,disabled:S.length===0,className:"btn-md-block ms-2",onClick:()=>D([]),children:["Clear selection ",S.length>0&&g.jsxs(g.Fragment,{children:["(",Sn(S.length),")"]})]})]})})]})}),g.jsx("section",{className:"mt-3",children:ie()})]})},hwe=({exportVisits:e})=>Es(({getDomainVisits:t,domainVisits:n,cancelGetDomainVisits:r})=>{const i=qu(),{domain:o=""}=Dl(),[a,s=a]=o.split("_");return g.jsx(dp,{getVisits:(l,c)=>t({domain:s,query:lp(l),doIntervalFallback:c}),cancelGetVisits:r,visitsInfo:n,exportCsv:l=>e(`domain_${a}_visits.csv`,l),children:g.jsx(cp,{goBack:i,visits:n.visits,title:`"${a}" visits`})})},()=>[yi.visits]),pwe=({exportVisits:e})=>Es(({getNonOrphanVisits:t,nonOrphanVisits:n,cancelGetNonOrphanVisits:r})=>{const i=qu();return g.jsx(dp,{getVisits:(o,a)=>t({query:lp(o),doIntervalFallback:a}),cancelGetVisits:r,visitsInfo:n,exportCsv:o=>e("non_orphan_visits.csv",o),children:g.jsx(cp,{title:"Non-orphan visits",goBack:i,visits:n.visits})})},()=>[yi.visits]),mwe=({exportVisits:e})=>Es(({getOrphanVisits:t,orphanVisits:n,cancelGetOrphanVisits:r})=>{const i=qu();return g.jsx(dp,{getVisits:(o,a)=>{var s;return t({query:lp(o),orphanVisitsType:(s=o.filter)==null?void 0:s.orphanVisitsType,doIntervalFallback:a})},cancelGetVisits:r,visitsInfo:n,exportCsv:o=>e("orphan_visits.csv",o),isOrphanVisits:!0,children:g.jsx(cp,{title:"Orphan visits",goBack:i,visits:n.visits})})},()=>[yi.orphanVisits]),u$="shlink/orphanVisits",gwe={visits:[],loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},vwe=e=>rp({typePrefix:`${u$}/getNonOrphanVisits`,createLoaders:({query:t={},doIntervalFallback:n=!1})=>{const r=e(),i=async(a,s)=>r.getNonOrphanVisits({...t,page:a,itemsPerPage:s}),o=ip(n,a=>r.getNonOrphanVisits(a));return[i,o]},getExtraFulfilledPayload:({query:t={}})=>({query:t}),shouldCancel:t=>t().orphanVisits.cancelLoad}),ywe=e=>op({name:u$,initialState:gwe,asyncThunkCreator:e,filterCreatedVisits:({query:t={}},n)=>{const{startDate:r,endDate:i}=t;return n.filter(({visit:o})=>ep(o.date,r,i))}}),d$="shlink/orphanVisits",_we={visits:[],loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},bwe=(e,t)=>!t||t===e.type,wwe=e=>rp({typePrefix:`${d$}/getOrphanVisits`,createLoaders:({orphanVisitsType:t,query:n={},doIntervalFallback:r=!1})=>{const i=e(),o=async(s,l)=>i.getOrphanVisits({...n,page:s,itemsPerPage:l}).then(c=>{const d=c.data.filter(f=>aO(f)&&bwe(f,t));return{...c,data:d}}),a=ip(r,s=>i.getOrphanVisits(s));return[o,a]},getExtraFulfilledPayload:({query:t={}})=>({query:t}),shouldCancel:t=>t().orphanVisits.cancelLoad}),xwe=e=>op({name:d$,initialState:_we,asyncThunkCreator:e,filterCreatedVisits:({query:t={}},n)=>{const{startDate:r,endDate:i}=t;return n.filter(({visit:o,shortUrl:a})=>!a&&ep(o.date,r,i))}}),f$="shlink/shortUrlVisits",Swe={visits:[],shortCode:"",domain:void 0,loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},Ewe=e=>rp({typePrefix:`${f$}/getShortUrlVisits`,createLoaders:({shortCode:t,query:n={},doIntervalFallback:r=!1})=>{const i=e(),o=async(s,l)=>i.getShortUrlVisits(t,{...n,page:s,itemsPerPage:l}),a=ip(r,async s=>i.getShortUrlVisits(t,{...s,domain:n.domain}));return[o,a]},getExtraFulfilledPayload:({shortCode:t,query:n={}})=>({shortCode:t,query:n,domain:n.domain}),shouldCancel:t=>t().shortUrlVisits.cancelLoad}),Twe=e=>op({name:f$,initialState:Swe,asyncThunkCreator:e,filterCreatedVisits:({shortCode:t,domain:n,query:r={}},i)=>{const{startDate:o,endDate:a}=r;return i.filter(({shortUrl:s,visit:l})=>s&&Sf(s,t,n)&&ep(l.date,o,a))}}),h$="shlink/tagVisits",Owe={visits:[],tag:"",loading:!1,loadingLarge:!1,error:!1,cancelLoad:!1,progress:0},Cwe=e=>rp({typePrefix:`${h$}/getTagVisits`,createLoaders:({tag:t,query:n={},doIntervalFallback:r=!1})=>{const i=e(),o=async(s,l)=>i.getTagVisits(t,{...n,page:s,itemsPerPage:l}),a=ip(r,async s=>i.getTagVisits(t,s));return[o,a]},getExtraFulfilledPayload:({tag:t,query:n={}})=>({tag:t,query:n}),shouldCancel:t=>t().tagVisits.cancelLoad}),kwe=e=>op({name:h$,initialState:Owe,asyncThunkCreator:e,filterCreatedVisits:({tag:t,query:n={}},r)=>{const{startDate:i,endDate:o}=n;return r.filter(({shortUrl:a,visit:s})=>(a==null?void 0:a.tags.includes(t))&&ep(s.date,i,o))}}),p$="shlink/visitsOverview",zm={nonOrphanVisits:{total:0},orphanVisits:{total:0},loading:!1,error:!1},MA=e=>e.filter(({visit:t})=>t.potentialBot).length,Pwe=e=>Nr(`${p$}/loadVisitsOverview`,()=>e().getVisitsOverview().then(({nonOrphanVisits:t,visitsCount:n,orphanVisits:r,orphanVisitsCount:i})=>({nonOrphanVisits:{total:(t==null?void 0:t.total)??n,nonBots:t==null?void 0:t.nonBots,bots:t==null?void 0:t.bots},orphanVisits:{total:(r==null?void 0:r.total)??i,nonBots:r==null?void 0:r.nonBots,bots:r==null?void 0:r.bots}}))),Lwe=e=>ur({name:p$,initialState:zm,reducers:{},extraReducers:t=>{t.addCase(e.pending,()=>({...zm,loading:!0})),t.addCase(e.rejected,()=>({...zm,error:!0})),t.addCase(e.fulfilled,(n,{payload:r})=>({...zm,...r})),t.addCase(np,({nonOrphanVisits:n,orphanVisits:r,...i},{payload:o})=>{const{nonOrphanVisits:a,orphanVisits:s}=G1e(o.createdVisits),l=a.length,c=MA(a),d=l-c,f=s.length,p=MA(s),m=f-p;return{...i,nonOrphanVisits:{total:n.total+l,bots:n.bots&&n.bots+c,nonBots:n.nonBots&&n.nonBots+d},orphanVisits:{total:r.total+f,bots:r.bots&&r.bots+p,nonBots:r.nonBots&&r.nonBots+m}}})}}),jwe=({shortUrlDetail:e,shortUrlVisits:t,goBack:n})=>{const{shortUrl:r,loading:i}=e,{visits:o}=t,a=(r==null?void 0:r.shortUrl)??"",s=(r==null?void 0:r.longUrl)??"",l=r==null?void 0:r.title;return g.jsxs(cp,{title:g.jsxs(g.Fragment,{children:["Visits for ",g.jsx(qo,{href:a})]}),goBack:n,visits:o,shortUrl:r,children:[g.jsx("hr",{}),g.jsxs("div",{children:["Created: ",(()=>r?g.jsxs("span",{children:[g.jsx("b",{id:"created",className:"short-url-visits-header__created-at",children:g.jsx(oy,{date:r.dateCreated,relative:!0})}),g.jsx(Dr,{placement:"bottom",target:"created",children:g.jsx(oy,{date:r.dateCreated})})]}):g.jsx("small",{children:"Loading..."}))()]}),g.jsxs("div",{className:"long-url-container",children:[`${l?"Title":"Long URL"}: `,i&&g.jsx("small",{children:"Loading..."}),!i&&g.jsx(qo,{href:s,children:l??s})]})]})},Mwe=({exportVisits:e})=>Es(({shortUrlVisits:t,shortUrlDetail:n,getShortUrlVisits:r,getShortUrlDetail:i,cancelGetShortUrlVisits:o})=>{const{shortCode:a=""}=Dl(),{search:s}=yn(),l=qu(),{domain:c}=Fl(s),d=(p,m)=>r({shortCode:yg(a),query:{...lp(p),domain:c},doIntervalFallback:m}),f=p=>{var m;return e(`short-url_${(m=n.shortUrl)==null?void 0:m.shortUrl.replace(/https?:\/\//g,"")}_visits.csv`,p)};return $.useEffect(()=>{i({shortCode:yg(a),domain:c})},[]),g.jsx(dp,{getVisits:d,cancelGetVisits:o,visitsInfo:t,exportCsv:f,children:g.jsx(jwe,{shortUrlDetail:n,shortUrlVisits:t,goBack:l})})},(t,n)=>n.shortCode?[yi.shortUrlVisits(yg(n.shortCode))]:[]),Awe=({tagVisits:e,goBack:t,colorGenerator:n})=>{const{visits:r,tag:i}=e;return g.jsx(cp,{title:g.jsxs("span",{className:"d-flex align-items-center justify-content-center",children:[g.jsx("span",{className:"me-2",children:"Visits for"}),g.jsx(UT,{text:i,colorGenerator:n})]}),goBack:t,visits:r})},Rwe=(e,{exportVisits:t})=>Es(({getTagVisits:n,tagVisits:r,cancelGetTagVisits:i})=>{const o=qu(),{tag:a=""}=Dl();return g.jsx(dp,{getVisits:(s,l)=>n({tag:a,query:lp(s),doIntervalFallback:l}),cancelGetVisits:i,visitsInfo:r,exportCsv:s=>t(`tag_${a}_visits.csv`,s),children:g.jsx(Awe,{tagVisits:r,goBack:o,colorGenerator:e})})},()=>[yi.visits]),Nwe=(e,t)=>{e.serviceFactory("MapModal",()=>o$),e.serviceFactory("ShortUrlVisits",Mwe,"ReportExporter"),e.decorator("ShortUrlVisits",t(["shortUrlVisits","shortUrlDetail","mercureInfo"],["getShortUrlVisits","getShortUrlDetail","cancelGetShortUrlVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("TagVisits",Rwe,"ColorGenerator","ReportExporter"),e.decorator("TagVisits",t(["tagVisits","mercureInfo"],["getTagVisits","cancelGetTagVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("DomainVisits",hwe,"ReportExporter"),e.decorator("DomainVisits",t(["domainVisits","mercureInfo"],["getDomainVisits","cancelGetDomainVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("OrphanVisits",mwe,"ReportExporter"),e.decorator("OrphanVisits",t(["orphanVisits","mercureInfo"],["getOrphanVisits","cancelGetOrphanVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("NonOrphanVisits",pwe,"ReportExporter"),e.decorator("NonOrphanVisits",t(["nonOrphanVisits","mercureInfo"],["getNonOrphanVisits","cancelGetNonOrphanVisits","createNewVisits","loadMercureInfo"])),e.serviceFactory("VisitsParser",()=>swe),e.serviceFactory("getShortUrlVisits",Ewe,"apiClientFactory"),e.serviceFactory("cancelGetShortUrlVisits",mt("cancelGetVisits"),"shortUrlVisitsReducerCreator"),e.serviceFactory("getTagVisits",Cwe,"apiClientFactory"),e.serviceFactory("cancelGetTagVisits",mt("cancelGetVisits"),"tagVisitsReducerCreator"),e.serviceFactory("getDomainVisits",ume,"apiClientFactory"),e.serviceFactory("cancelGetDomainVisits",mt("cancelGetVisits"),"domainVisitsReducerCreator"),e.serviceFactory("getOrphanVisits",wwe,"apiClientFactory"),e.serviceFactory("cancelGetOrphanVisits",mt("cancelGetVisits"),"orphanVisitsReducerCreator"),e.serviceFactory("getNonOrphanVisits",vwe,"apiClientFactory"),e.serviceFactory("cancelGetNonOrphanVisits",mt("cancelGetVisits"),"nonOrphanVisitsReducerCreator"),e.serviceFactory("createNewVisits",()=>np),e.serviceFactory("loadVisitsOverview",Pwe,"apiClientFactory"),e.serviceFactory("visitsOverviewReducerCreator",Lwe,"loadVisitsOverview"),e.serviceFactory("visitsOverviewReducer",mt("reducer"),"visitsOverviewReducerCreator"),e.serviceFactory("domainVisitsReducerCreator",dme,"getDomainVisits"),e.serviceFactory("domainVisitsReducer",mt("reducer"),"domainVisitsReducerCreator"),e.serviceFactory("nonOrphanVisitsReducerCreator",ywe,"getNonOrphanVisits"),e.serviceFactory("nonOrphanVisitsReducer",mt("reducer"),"nonOrphanVisitsReducerCreator"),e.serviceFactory("orphanVisitsReducerCreator",xwe,"getOrphanVisits"),e.serviceFactory("orphanVisitsReducer",mt("reducer"),"orphanVisitsReducerCreator"),e.serviceFactory("shortUrlVisitsReducerCreator",Twe,"getShortUrlVisits"),e.serviceFactory("shortUrlVisitsReducer",mt("reducer"),"shortUrlVisitsReducerCreator"),e.serviceFactory("tagVisitsReducerCreator",kwe,"getTagVisits"),e.serviceFactory("tagVisitsReducer",mt("reducer"),"tagVisitsReducerCreator")},Ad=({children:e,to:t,className:n,...r})=>g.jsx(VD,{className:({isActive:i})=>rt("aside-menu__item",n,{"aside-menu__item--selected":i}),to:t,...r,children:e}),Dwe=({routePrefix:e,showOnMobile:t=!1})=>{const{pathname:n}=yn(),r=rt("aside-menu",{"aside-menu--hidden":!t}),i=o=>`${e}${o}`;return g.jsx("aside",{className:r,children:g.jsxs("nav",{className:"nav flex-column aside-menu__nav",children:[g.jsxs(Ad,{to:i("/overview"),children:[g.jsx(Ae,{fixedWidth:!0,icon:bY}),g.jsx("span",{className:"aside-menu__item-text",children:"Overview"})]}),g.jsxs(Ad,{to:i("/list-short-urls/1"),className:rt({"aside-menu__item--selected":n.match("/list-short-urls")!==null}),children:[g.jsx(Ae,{fixedWidth:!0,icon:f4}),g.jsx("span",{className:"aside-menu__item-text",children:"List short URLs"})]}),g.jsxs(Ad,{to:i("/create-short-url"),children:[g.jsx(Ae,{fixedWidth:!0,icon:TY,flip:"horizontal"}),g.jsx("span",{className:"aside-menu__item-text",children:"Create short URL"})]}),g.jsxs(Ad,{to:i("/manage-tags"),children:[g.jsx(Ae,{fixedWidth:!0,icon:h4}),g.jsx("span",{className:"aside-menu__item-text",children:"Manage tags"})]}),g.jsxs(Ad,{to:i("/manage-domains"),children:[g.jsx(Ae,{fixedWidth:!0,icon:eY}),g.jsx("span",{className:"aside-menu__item-text",children:"Manage domains"})]})]})})},Iwe=(e,t,n,r,i,o,a,s,l,c,d)=>({createNotFound:f})=>{const p=yn(),m=zl(),[v,y,x,_]=Tn();$.useEffect(()=>_(),[p]);const w=Jh("domainVisits"),S=rt("shlink-layout__burger-icon",{"shlink-layout__burger-icon--active":v}),E=tge(x,_);return g.jsxs(g.Fragment,{children:[g.jsx(Ae,{icon:KW,className:S,onClick:y}),g.jsx("div",{...E,className:"shlink-layout__swipeable",children:g.jsxs("div",{className:"shlink-layout__swipeable-inner",children:[g.jsx(Dwe,{routePrefix:m,showOnMobile:v}),g.jsx("div",{className:"shlink-layout__container",onClick:()=>_(),children:g.jsx("div",{className:"container-xl",children:g.jsxs(Ky,{children:[g.jsx(vt,{index:!0,element:g.jsx(FS,{replace:!0,to:"overview"})}),g.jsx(vt,{path:"/overview",element:g.jsx(l,{})}),g.jsx(vt,{path:"/list-short-urls/:page",element:g.jsx(t,{})}),g.jsx(vt,{path:"/create-short-url",element:g.jsx(n,{})}),g.jsx(vt,{path:"/short-code/:shortCode/visits/*",element:g.jsx(r,{})}),g.jsx(vt,{path:"/short-code/:shortCode/edit",element:g.jsx(c,{})}),g.jsx(vt,{path:"/tag/:tag/visits/*",element:g.jsx(i,{})}),w&&g.jsx(vt,{path:"/domain/:domain/visits/*",element:g.jsx(o,{})}),g.jsx(vt,{path:"/orphan-visits/*",element:g.jsx(a,{})}),g.jsx(vt,{path:"/non-orphan-visits/*",element:g.jsx(s,{})}),g.jsx(vt,{path:"/manage-tags",element:g.jsx(e,{})}),g.jsx(vt,{path:"/manage-domains",element:g.jsx(d,{})}),f&&g.jsx(vt,{path:"*",element:f("/list-short-urls/1")})]})})})]})})]})},Fwe=!0,$we=e=>w6({devTools:!Fwe,reducer:VE({mercureInfo:e.mercureInfoReducer,shortUrlsList:e.shortUrlsListReducer,shortUrlCreation:e.shortUrlCreationReducer,shortUrlDeletion:e.shortUrlDeletionReducer,shortUrlEdition:e.shortUrlEditionReducer,shortUrlDetail:e.shortUrlDetailReducer,shortUrlVisits:e.shortUrlVisitsReducer,tagVisits:e.tagVisitsReducer,domainVisits:e.domainVisitsReducer,orphanVisits:e.orphanVisitsReducer,nonOrphanVisits:e.nonOrphanVisitsReducer,tagsList:e.tagsListReducer,tagDelete:e.tagDeleteReducer,tagEdit:e.tagEditReducer,domainsList:e.domainsListReducer,visitsOverview:e.visitsOverviewReducer}),middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),Uwe=e=>{e.serviceFactory("Main",Iwe,"TagsList","ShortUrlsList","CreateShortUrl","ShortUrlVisits","TagVisits","DomainVisits","OrphanVisits","NonOrphanVisits","Overview","EditShortUrl","ManageDomains"),e.factory("store",$we)},ko=new rue,{container:Bwe}=ko,zwe=(e,t)=>(...n)=>e[t](...n),Vwe=(e,t)=>({...e,[t]:zwe(Bwe,t)}),fp=(e,t=[])=>jD(e?q5(e):null,t.reduce(Vwe,{}));Uwe(ko);c0e(ko,fp);C_e(ko,fp);Nwe(ko,fp);Eme(ko);wme(ko,fp);$me(ko,fp);W1e(ko);let AA;const Hwe=e=>({serverVersion:t,apiClient:n,settings:r,routesPrefix:i="",createNotFound:o,tagColorsStorage:a})=>{const s=tfe(t),l=$.useRef(),[c,d]=$.useState(),f=Nl(),[p,m]=$.useMemo(()=>f?[$.Fragment,{}]:[zD,{basename:i}],[f,i]);return $.useEffect(()=>{AA=n,e.value("apiClientFactory",()=>AA),a&&e.value("TagColorsStorage",a);const{container:v}=e,{Main:y,store:x,loadMercureInfo:_,listTags:w}=v;l.current=g.jsx(y,{createNotFound:o}),d(x),x.dispatch(_(r)),x.dispatch(w())},[n,a]),c?g.jsx(MD,{store:c,children:g.jsx(Dme,{value:r,children:g.jsx(nfe,{value:s,children:g.jsx(rfe,{value:i,children:g.jsx(p,{...m,children:l.current})})})})}):g.jsx(g.Fragment,{})},Wwe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",Ywe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",Gwe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",qwe=()=>{delete LA.Icon.Default.prototype._getIconUrl,LA.Icon.Default.mergeOptions({iconRetinaUrl:Ywe,iconUrl:Wwe,shadowUrl:Gwe})};qwe();const Kwe=Hwe(ko);function uy(e){return t=>{const{resetSelectedServer:n}=t;return $.useEffect(()=>{n()},[n]),g.jsx(e,{...t})}}let Zwe=class extends $.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){const{console:n=globalThis.console}=this.props;n.error(t)}render(){const{hasError:t}=this.state,{location:n=globalThis.location}=this.props;if(t)return g.jsx("div",{className:"home",children:g.jsxs(gn,{className:"p-4",children:[g.jsx("h1",{children:"Oops! This is awkward :S"}),g.jsx("p",{children:"It seems that something went wrong. Try refreshing the page or just click this button."}),g.jsx("br",{}),g.jsx(yt,{outline:!0,color:"primary",onClick:()=>n.reload(),children:"Take me back"})]})});const{children:r}=this.props;return r}};const m$=({href:e,children:t,rel:n,...r})=>g.jsx("a",{target:"_blank",rel:`noopener noreferrer${n?` ${n}`:""}`,href:e,...r,children:t??e});const Qwe=({id:e,name:t})=>g.jsxs(FI,{tag:Ft,to:`/server/${e}`,className:"servers-list__server-item",children:[t,g.jsx(Ae,{icon:LY,className:"servers-list__server-item-icon"})]}),g$=({servers:e,children:t,embedded:n=!1})=>g.jsxs(g.Fragment,{children:[t&&g.jsx("h5",{className:"mb-md-3",children:t}),e.length>0&&g.jsx(NI,{className:Ve("servers-list__list-group",{"servers-list__list-group--embedded":n}),children:e.map(({id:r,name:i})=>g.jsx(Qwe,{id:r,name:i},r))})]}),v$=({color:e=kE,className:t})=>g.jsx("svg",{className:t,viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:g.jsxs("g",{fill:e,children:[g.jsx("path",{d:" M 23.71 85.08 C 17.22 49.81 49.44 14.86 85.08 18.12 C 118.83 19.21 145.72 53.33 139.45 86.37 C 155.64 102.30 171.32 118.83 187.87 134.36 C 198.32 111.73 208.84 89.12 219.57 66.62 C 226.05 53.84 243.47 48.74 255.73 56.27 C 263.76 62.10 270.34 69.69 277.25 76.75 C 286.28 86.61 285.72 102.89 276.31 112.31 C 223.38 165.37 170.38 218.37 117.35 271.34 C 107.72 280.99 91.01 281.25 81.11 271.86 C 74.39 264.94 66.82 258.69 61.24 250.77 C 53.72 238.52 58.85 221.07 71.64 214.62 C 94.11 203.87 116.72 193.38 139.33 182.91 C 123.81 166.36 107.30 150.68 91.37 134.49 C 60.20 140.28 27.37 116.78 23.71 85.08 Z"}),g.jsx("path",{d:" M 205.21 201.23 C 225.32 181.36 260.88 181.11 281.14 200.86 C 299.25 218.75 317.37 236.65 335.10 254.93 C 356.73 278.01 352.01 318.70 326.03 336.56 C 320.07 330.47 313.73 324.65 308.12 318.28 C 323.86 309.39 328.76 286.18 316.63 272.39 C 301.73 256.95 286.30 242.03 271.24 226.75 C 264.49 219.65 256.80 212.00 246.37 211.52 C 224.65 208.64 205.52 233.36 214.49 253.58 C 221.09 266.81 234.22 275.12 243.62 286.24 C 240.43 295.96 238.09 306.13 238.29 316.46 C 225.55 304.29 213.16 291.73 200.89 279.09 C 180.97 257.57 183.10 220.45 205.21 201.23 Z"}),g.jsx("path",{d:" M 273.90 352.07 C 252.28 328.99 256.98 288.31 282.96 270.46 C 288.93 276.54 295.26 282.36 300.88 288.72 C 285.14 297.62 280.23 320.82 292.38 334.61 C 307.27 350.05 322.70 364.96 337.75 380.25 C 344.51 387.35 352.20 395.00 362.64 395.48 C 384.35 398.37 403.49 373.64 394.51 353.42 C 387.92 340.18 374.78 331.88 365.38 320.76 C 368.56 311.04 370.91 300.86 370.71 290.54 C 383.45 302.70 395.84 315.27 408.11 327.91 C 428.03 349.43 425.90 386.55 403.78 405.77 C 383.68 425.64 348.13 425.89 327.86 406.14 C 309.75 388.25 291.60 370.37 273.90 352.07 Z"}),g.jsx("path",{d:" M 422.11 403.83 C 431.96 394.07 441.60 384.06 451.66 374.51 C 460.90 383.74 471.89 392.70 474.89 406.11 C 480.16 429.97 484.08 454.13 488.76 478.12 C 490.00 483.41 484.47 488.29 479.35 486.63 C 454.66 481.52 429.55 478.12 405.14 471.84 C 393.17 467.97 385.20 457.75 376.55 449.27 C 386.39 439.49 396.13 429.60 406.06 419.91 C 416.37 433.45 435.74 414.00 422.11 403.83 Z"})]})});const Xwe=({servers:e})=>{const t=Oo(),n=WS(e),r=!o4(n);return $.useEffect(()=>{const i=n.find(({autoConnect:o})=>o);i&&t(`/server/${i.id}`)},[n,t]),g.jsx("div",{className:"home",children:g.jsx(Zr,{className:"home__main-card",children:g.jsxs(yr,{className:"g-0",children:[g.jsx("div",{className:"col-md-5 d-none d-md-block",children:g.jsx("div",{className:"home__logo-wrapper",children:g.jsx("div",{className:"home__logo",children:g.jsx(v$,{})})})}),g.jsxs("div",{className:"col-md-7 home__servers-container",children:[g.jsx("div",{className:"home__title-wrapper",children:g.jsx("h1",{className:"home__title",children:"Welcome!"})}),g.jsx(g$,{embedded:!0,servers:n,children:!r&&g.jsxs("div",{className:"p-4 text-center",children:[g.jsx("p",{className:"mb-5",children:"This application will help you manage your Shlink servers."}),g.jsx("p",{children:g.jsxs(Ft,{to:"/server/create",className:"btn btn-outline-primary btn-lg me-2",children:[g.jsx(Ae,{icon:QS})," ",g.jsx("span",{className:"ms-1",children:"Add a server"})]})}),g.jsx("p",{className:"mb-0 mt-5",children:g.jsx(m$,{href:"https://shlink.io/documentation",children:g.jsxs("small",{children:[g.jsx("span",{className:"me-1",children:"Learn more about Shlink"})," ",g.jsx(Ae,{icon:dY})]})})})]})})]})]})})})};const y$=()=>{const{ServersDropdown:e}=ki(y$),[t,n,,r]=Tn(),i=yn(),{pathname:o}=i;$.useEffect(r,[i,r]);const a="/settings",s=Ve("main-header__toggle-icon",{"main-header__toggle-icon--opened":t});return g.jsxs(eI,{color:"primary",dark:!0,fixed:"top",className:"main-header",expand:"md",children:[g.jsxs(tI,{tag:Ft,to:"/",children:[g.jsx(v$,{className:"main-header__brand-logo",color:"white"})," Shlink"]}),g.jsx(nI,{onClick:n,children:g.jsx(Ae,{icon:kY,className:s})}),g.jsx(CX,{navbar:!0,isOpen:t,children:g.jsxs(hE,{navbar:!0,className:"ms-auto",children:[g.jsx(rI,{children:g.jsxs(aI,{tag:Ft,to:a,active:o.startsWith(a),children:[g.jsx(Ae,{icon:RY}),"  Settings"]})}),g.jsx(e,{})]})})]})},Jwe=Pi(y$,["ServersDropdown"]),exe=({children:e})=>{const t=yn();return $.useEffect(()=>{scrollTo(0,0)},[t]),g.jsx(g.Fragment,{children:e})},txe=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,RA=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(txe);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},NA=e=>e==="*"||e==="x"||e==="X",DA=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},nxe=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],rxe=(e,t)=>{if(NA(e)||NA(t))return 0;const[n,r]=nxe(DA(e),DA(t));return n>r?1:n{for(let n=0;n{const n=RA(e),r=RA(t),i=n.pop(),o=r.pop(),a=IA(n,r);return a!==0?a:i&&o?IA(i.split("."),o.split(".")):i||o?i?-1:1:0},oxe=(e,t,n)=>{axe(n);const r=ixe(e,t);return _$[n].includes(r)},_$={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},FA=Object.keys(_$),axe=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(FA.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${FA.join("|")}`)},b$=a4(i4,e=>{try{return oxe(e,e,"=")}catch{return!1}}),w$=e=>b$(e)?`v${e}`:e,x$=(e="latest")=>t=>b$(t)?t:e,sxe="%_VERSION_%",lxe=Jy(x$(),w$),$A=({project:e,version:t})=>g.jsx(m$,{href:`https://github.com/shlinkio/${e}/releases/${t}`,className:"text-muted",children:g.jsx("b",{children:t})}),cxe=({selectedServer:e,clientVersion:t=sxe})=>{const n=lxe(t);return g.jsxs("small",{className:"text-muted",children:[u4(e)&&g.jsxs(g.Fragment,{children:["Server: ",g.jsx($A,{project:"shlink",version:e.printableVersion})," - "]}),"Client: ",g.jsx($A,{project:"shlink-web-client",version:n})]})};const uxe=/^\/server\/[a-zA-Z0-9-]*\/(?!edit)/,dxe=({selectedServer:e})=>{const{pathname:t}=yn(),n=$.useMemo(()=>uxe.test(t),[t]),r=Ve("text-center",{"shlink-versions-container--with-sidebar":n});return g.jsx("div",{className:r,children:g.jsx(cxe,{selectedServer:e})})};const Zu=({children:e})=>g.jsx("div",{className:"no-menu-wrapper container-xl",children:e});function S$(e){const t=n=>{const{ServerError:r}=ki(t),i=Dl(),{selectServer:o,selectedServer:a}=n;return $.useEffect(()=>{i.serverId&&o(i.serverId)},[i.serverId,o]),a?DW(a)?g.jsx(r,{}):g.jsx(e,{...n}):g.jsx(Zu,{children:g.jsx(Go,{loading:!0})})};return t}const E$=S$(({selectedServer:e,settings:t})=>{const{buildShlinkApiClient:n,TagColorsStorage:r,ShlinkWebComponent:i,ServerError:o}=ki(E$),a=u4(e),s=a?`/server/${e.id}`:"";return a?g.jsx(i,{serverVersion:e.version,apiClient:n(e),settings:t,routesPrefix:s,tagColorsStorage:r,createNotFound:l=>g.jsx(u6,{to:`${s}${l}`,children:"List short URLs"})}):g.jsx(o,{})}),fxe=Pi(E$,["buildShlinkApiClient","TagColorsStorage","ShlinkWebComponent","ServerError"]),hxe=(e,t)=>{e.constant("window",window),e.constant("console",console),e.constant("fetch",window.fetch.bind(window)),e.service("HttpClient",Sie,"fetch"),e.serviceFactory("ScrollToTop",()=>exe),e.factory("MainHeader",Jwe),e.serviceFactory("Home",()=>Xwe),e.decorator("Home",uy),e.decorator("Home",t(["servers"],["resetSelectedServer"])),e.serviceFactory("ShlinkWebComponent",()=>Kwe),e.factory("ShlinkWebComponentContainer",fxe),e.decorator("ShlinkWebComponentContainer",t(["selectedServer","settings"],["selectServer"])),e.serviceFactory("ShlinkVersionsContainer",()=>dxe),e.decorator("ShlinkVersionsContainer",t(["selectedServer"])),e.serviceFactory("ErrorHandler",()=>Zwe)};let Vm;const pxe=new Uint8Array(16);function mxe(){if(!Vm&&(Vm=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Vm))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Vm(pxe)}const qn=[];for(let e=0;e<256;++e)qn.push((e+256).toString(16).slice(1));function gxe(e,t=0){return(qn[e[t+0]]+qn[e[t+1]]+qn[e[t+2]]+qn[e[t+3]]+"-"+qn[e[t+4]]+qn[e[t+5]]+"-"+qn[e[t+6]]+qn[e[t+7]]+"-"+qn[e[t+8]]+qn[e[t+9]]+"-"+qn[e[t+10]]+qn[e[t+11]]+qn[e[t+12]]+qn[e[t+13]]+qn[e[t+14]]+qn[e[t+15]]).toLowerCase()}const vxe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),UA={randomUUID:vxe};function T$(e,t,n){if(UA.randomUUID&&!t&&!e)return UA.randomUUID();e=e||{};const r=e.random||(e.rng||mxe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return gxe(r)}const yxe=2e3,_xe=(e=!1,t=yxe,n=window.setTimeout,r=window.clearTimeout)=>{const[i,o]=$.useState(e),a=$.useRef(void 0),s=$.useCallback(()=>{o(!e),a.current&&r(a.current),a.current=n(()=>o(e),t)},[r,t,e,n]);return[i,s]},O$=()=>{const e=Oo();return()=>e(-1)},bxe=()=>{const{search:e}=yn();return Fl(e)},C$=({isOpen:e,duplicatedServers:t,onDiscard:n,onSave:r})=>{const i=t.length>1;return g.jsxs(fa,{centered:!0,isOpen:e,children:[g.jsxs(ha,{children:["Duplicated server",i&&"s"]}),g.jsxs(Co,{children:[g.jsx("p",{children:i?"The next servers already exist:":"There is already a server with:"}),g.jsx("ul",{children:t.map(({url:o,apiKey:a},s)=>i?g.jsxs("li",{children:[g.jsx("b",{children:o})," - ",g.jsx("b",{children:a})]},s):g.jsxs($.Fragment,{children:[g.jsxs("li",{children:["URL: ",g.jsx("b",{children:o})]}),g.jsxs("li",{children:["API key: ",g.jsx("b",{children:a})]})]},s))}),g.jsxs("span",{children:[i?"Do you want to ignore duplicated servers":"Do you want to save this server anyway","?"]})]}),g.jsxs(Il,{children:[g.jsx(yt,{color:"link",onClick:n,children:i?"Ignore duplicates":"Discard"}),g.jsx(yt,{color:"primary",onClick:r,children:"Save anyway"})]})]})},wxe=e=>Jy(t=>t.preventDefault(),e),k$=({onSubmit:e,initialValues:t,children:n,title:r})=>{const[i,o]=$.useState(""),[a,s]=$.useState(""),[l,c]=$.useState(""),d=wxe(()=>e({name:i,url:a,apiKey:l}));return $.useEffect(()=>{t&&o(t.name),t&&s(t.url),t&&c(t.apiKey)},[t]),g.jsxs("form",{className:"server-form",name:"serverForm",onSubmit:d,children:[g.jsxs(gn,{className:"mb-3",title:r,children:[g.jsx(sg,{value:i,onChange:o,children:"Name"}),g.jsx(sg,{type:"url",value:a,onChange:s,children:"URL"}),g.jsx(sg,{value:l,onChange:c,children:"API key"})]}),g.jsx("div",{className:"text-end",children:n})]})},BA=4e3,zA=({type:e})=>g.jsx("div",{className:"mt-3",children:g.jsxs(Yr,{type:e,children:[e==="success"&&"Servers properly imported. You can now select one from the list :)",e==="error"&&"The servers could not be imported. Make sure the format is correct."]})}),P$=({servers:e,createServers:t})=>{const{ImportServersBtn:n,useTimeoutToggle:r}=ki(P$),i=Oo(),o=O$(),a=!!Object.keys(e).length,[s,l]=r(!1,BA),[c,d]=r(!1,BA),[f,p]=Tn(),[m,v]=$.useState(),y=$.useCallback(x=>{const _=T$();t([{...x,id:_}]),i(`/server/${_}`)},[t,i]);return $.useEffect(()=>{if(!m)return;Object.values(e).some(({url:_,apiKey:w})=>(m==null?void 0:m.url)===_&&(m==null?void 0:m.apiKey)===w)?p():y(m)},[y,m,e,p]),g.jsxs(Zu,{children:[g.jsxs(k$,{title:g.jsx("h5",{className:"mb-0",children:"Add new server"}),onSubmit:v,children:[!a&&g.jsx(n,{tooltipPlacement:"top",onImport:l,onImportError:d}),a&&g.jsx(yt,{outline:!0,onClick:o,children:"Cancel"}),g.jsx(yt,{outline:!0,color:"primary",className:"ms-2",children:"Create server"})]}),s&&g.jsx(zA,{type:"success"}),c&&g.jsx(zA,{type:"error"}),g.jsx(C$,{isOpen:f,duplicatedServers:m?[m]:[],onDiscard:o,onSave:()=>m&&y(m)})]})},xxe=Pi(P$,["ImportServersBtn","useTimeoutToggle"]),L$=({server:e,className:t,children:n,textClassName:r})=>{const{DeleteServerModal:i}=ki(L$),[o,,a,s]=Tn();return g.jsxs(g.Fragment,{children:[g.jsxs("button",{type:"button",className:Ve(t,"p-0 bg-transparent border-0"),onClick:a,children:[!n&&g.jsx(Ae,{fixedWidth:!0,icon:GS}),g.jsx("span",{className:r,children:n??"Remove this server"})]}),g.jsx(i,{server:e,isOpen:o,toggle:s})]})},Sxe=Pi(L$,["DeleteServerModal"]),Exe=({server:e,toggle:t,isOpen:n,deleteServer:r,redirectHome:i=!0})=>{const o=Oo(),a=$.useRef(!1),s=()=>{a.current=!0,t()},l=()=>{a.current&&(r(e),i&&o("/"))};return g.jsxs(fa,{isOpen:n,toggle:t,centered:!0,onClosed:l,children:[g.jsx(ha,{toggle:t,className:"text-danger",children:"Remove server"}),g.jsxs(Co,{children:[g.jsxs("p",{children:["Are you sure you want to remove ",g.jsx("b",{children:e?e.name:""}),"?"]}),g.jsx("p",{children:g.jsx("i",{children:"No data will be deleted, only the access to this server will be removed from this device. You can create it again at any moment."})})]}),g.jsxs(Il,{children:[g.jsx(yt,{color:"link",onClick:t,children:"Cancel"}),g.jsx(yt,{color:"danger",onClick:s,children:"Delete"})]})]})},Txe=S$(({editServer:e,selectedServer:t,selectServer:n})=>{const r=O$(),{reconnect:i}=bxe();if(!of(t))return null;const o=a=>{e(t.id,a),i==="true"&&n(t.id),r()};return g.jsx(Zu,{children:g.jsxs(k$,{title:g.jsxs("h5",{className:"mb-0",children:['Edit "',t.name,'"']}),initialValues:t,onSubmit:o,children:[g.jsx(yt,{outline:!0,className:"me-2",onClick:r,children:"Cancel"}),g.jsx(yt,{outline:!0,color:"primary",children:"Save"})]})})}),Oxe=Pi(Txe,["ServerError"]),VA=e=>({url:t,apiKey:n})=>e.some(r=>r.url===t&&r.apiKey===n),j$=({createServers:e,servers:t,children:n,onImport:r=()=>{},onImportError:i=()=>{},tooltipPlacement:o="bottom",className:a=""})=>{const{ServersImporter:s}=ki(j$),l=ws(),[c,d]=$.useState([]),[f,,p,m]=Tn(),v=$.useRef([]),y=$.useCallback(S=>{e(S),r()},[e,r]),x=$.useCallback(async({target:S})=>{var E;return s.importServersFromFile((E=S.files)==null?void 0:E[0]).then(C=>{v.current=C;const k=Object.values(t),j=C.filter(VA(k)),A=!!j.length;A?d(j):y(C),A&&p()}).then(()=>{S.value=null}).catch(i)},[y,i,t,s,p]),_=$.useCallback(()=>{y(v.current),m()},[y,m,v]),w=$.useCallback(()=>{y(v.current.filter(qH(VA(c)))),m()},[y,c,m]);return g.jsxs(g.Fragment,{children:[g.jsxs(yt,{outline:!0,id:"importBtn",className:a,onClick:()=>{var S;return(S=l.current)==null?void 0:S.click()},children:[g.jsx(Ae,{icon:rY,fixedWidth:!0})," ",n??"Import from file"]}),g.jsxs(Dr,{placement:o,target:"importBtn",children:["You can create servers by importing a CSV file with ",g.jsx("b",{children:"name"}),", ",g.jsx("b",{children:"apiKey"})," and ",g.jsx("b",{children:"url"})," columns."]}),g.jsx("input",{type:"file",accept:"text/csv",className:"d-none",ref:l,onChange:x}),g.jsx(C$,{isOpen:f,duplicatedServers:c,onDiscard:w,onSave:_})]})},Cxe=Pi(j$,["ServersImporter"]);const M$=({servers:e,selectedServer:t})=>{const{DeleteServerButton:n}=ki(M$);return g.jsx(Zu,{children:g.jsxs("div",{className:"server-error__container flex-column",children:[g.jsxs(Go,{className:"w-100 mb-3 mb-md-5",type:"error",fullWidth:!0,children:[!of(t)&&"Could not find this Shlink server.",of(t)&&g.jsxs(g.Fragment,{children:[g.jsx("p",{children:"Oops! Could not connect to this Shlink server."}),"Make sure you have internet connection, and the server is properly configured and on-line."]})]}),g.jsxs(g$,{servers:Object.values(e),children:["These are the Shlink servers currently configured. Choose one of them or ",g.jsx(Ft,{to:"/server/create",children:"add a new one"}),"."]}),of(t)&&g.jsx("div",{className:"container mt-3 mt-md-5",children:g.jsxs("h5",{children:["Alternatively, if you think you may have miss-configured this server, you can ",g.jsx(n,{server:t,className:"server-error__delete-btn",children:"remove it"})," or ",g.jsx(Ft,{to:`/server/${t.id}/edit?reconnect=true`,children:"edit it"}),"."]})})]})})},kxe=Pi(M$,["DeleteServerButton"]),Pxe=4e3,A$=({servers:e})=>{const{ServersExporter:t,ImportServersBtn:n,useTimeoutToggle:r,ManageServersRow:i}=ki(A$),o=Object.values(e),[a,s]=$.useState(o),l=p=>s(o.filter(({name:m,url:v})=>`${m} ${v}`.toLowerCase().match(p.toLowerCase()))),c=a.some(({autoConnect:p})=>!!p),[d,f]=r(!1,Pxe);return $.useEffect(()=>{s(Object.values(e))},[e]),g.jsxs(Zu,{children:[g.jsx(Wh,{className:"mb-3",onChange:l}),g.jsxs(yr,{className:"mb-3",children:[g.jsxs("div",{className:"col-md-6 d-flex d-md-block mb-2 mb-md-0",children:[g.jsx(n,{className:"flex-fill",onImportError:f,children:"Import servers"}),o.length>0&&g.jsxs(yt,{outline:!0,className:"ms-2 flex-fill",onClick:async()=>t.exportServers(),children:[g.jsx(Ae,{icon:m4,fixedWidth:!0})," Export servers"]})]}),g.jsx("div",{className:"col-md-6 text-md-end d-flex d-md-block",children:g.jsxs(yt,{outline:!0,color:"primary",className:"flex-fill",tag:Ft,to:"/server/create",children:[g.jsx(Ae,{icon:QS,fixedWidth:!0})," Add a server"]})})]}),g.jsx(gn,{children:g.jsxs("table",{className:"table table-hover responsive-table mb-0",children:[g.jsx("thead",{className:"responsive-table__header",children:g.jsxs("tr",{children:[c&&g.jsx("th",{"aria-label":"Auto-connect",style:{width:"50px"}}),g.jsx("th",{children:"Name"}),g.jsx("th",{children:"Base URL"}),g.jsx("th",{"aria-label":"Options"})]})}),g.jsxs("tbody",{children:[!a.length&&g.jsx("tr",{className:"text-center",children:g.jsx("td",{colSpan:4,children:"No servers found."})}),a.map(p=>g.jsx(i,{server:p,hasAutoConnect:c},p.id))]})]})}),d&&g.jsx("div",{className:"mt-3",children:g.jsx(Yr,{type:"error",children:"The servers could not be imported. Make sure the format is correct."})})]})},Lxe=Pi(A$,["ServersExporter","ImportServersBtn","useTimeoutToggle","ManageServersRow"]),R$=({server:e,hasAutoConnect:t})=>{const{ManageServersRowDropdown:n}=ki(R$);return g.jsxs("tr",{className:"responsive-table__row",children:[t&&g.jsx("td",{className:"responsive-table__cell","data-th":"Auto-connect",children:e.autoConnect&&g.jsxs(g.Fragment,{children:[g.jsx(Ae,{icon:qf,className:"text-primary",id:"autoConnectIcon"}),g.jsx(Dr,{target:"autoConnectIcon",placement:"right",children:"Auto-connect to this server"})]})}),g.jsx("th",{className:"responsive-table__cell","data-th":"Name",children:g.jsx(Ft,{to:`/server/${e.id}`,children:e.name})}),g.jsx("td",{className:"responsive-table__cell","data-th":"Base URL",children:e.url}),g.jsx("td",{className:"responsive-table__cell text-end",children:g.jsx(n,{server:e})})]})},jxe=Pi(R$,["ManageServersRowDropdown"]),N$=({server:e,setAutoConnect:t})=>{const{DeleteServerModal:n}=ki(N$),[r,,i,o]=Tn(),a=`/server/${e.id}`,{autoConnect:s}=e,l=s?tY:kie;return g.jsxs(c0,{minWidth:170,children:[g.jsxs(Ue,{tag:Ft,to:a,children:[g.jsx(Ae,{icon:JW,fixedWidth:!0})," Connect"]}),g.jsxs(Ue,{tag:Ft,to:`${a}/edit`,children:[g.jsx(Ae,{icon:qS,fixedWidth:!0})," Edit server"]}),g.jsxs(Ue,{onClick:()=>t(e,!s),children:[g.jsx(Ae,{icon:l,fixedWidth:!0})," ",s?"Do not a":"A","uto-connect"]}),g.jsx(Ue,{divider:!0}),g.jsxs(Ue,{className:"dropdown-item--danger",onClick:i,children:[g.jsx(Ae,{icon:GS,fixedWidth:!0})," Remove server"]}),g.jsx(n,{redirectHome:!1,server:e,isOpen:r,toggle:o})]})},Mxe=Pi(N$,["DeleteServerModal"]),D$=(e,t)=>S6(e,t,{serializeError:i4}),Axe={},Rxe=e=>e.id?e:nv("id",T$(),e),Nxe=n4((e,t)=>nv(t.id,t,e),{}),{actions:Dxe,reducer:Ixe}=ur({name:"shlink/servers",initialState:Axe,reducers:{editServer:{prepare:(e,t)=>({payload:{serverId:e,serverData:t}}),reducer:(e,{payload:t})=>{const{serverId:n,serverData:r}=t;return e[n]?nv(n,{...e[n],...r},e):e}},deleteServer:(e,{payload:t})=>sW(t.id,e),setAutoConnect:{prepare:({id:e},t)=>({payload:{serverId:e,autoConnect:t}}),reducer:(e,{payload:t})=>{const{serverId:n,autoConnect:r}=t;return e[n]?r?dW(TW(e).map(([i,o])=>[i,{...o,autoConnect:i===n}])):nv(n,{...e[n],autoConnect:r},e):e}},createServers:{prepare:Jy(HS(Rxe),Nxe,e=>({payload:e})),reducer:(e,{payload:t})=>({...e,...t})}}}),{editServer:Fxe,deleteServer:$xe,setAutoConnect:Uxe,createServers:I$}=Dxe,Bxe=Ixe,zxe=e=>Array.isArray(e)?e.filter(c4):[],Vxe=e=>D$("shlink/remoteServers/fetchServers",async(t,{dispatch:n})=>{const r=await e.jsonRequest(`${Jg.homepage}/servers.json`),i=zxe(r);n(I$(i))}),hO="shlink/selectedServer",Hxe="1.0.0",Wxe="999.999.999",Yxe="latest",Gxe=Jy(e=>e===Yxe?Wxe:e,x$(Hxe)),qxe=a4(e=>`${e.id}_${e.url}_${e.apiKey}`,async(e,t)=>t().then(({version:n})=>({version:Gxe(n),printableVersion:w$(n)}))),HA=null,pO=Nn(`${hO}/resetSelectedServer`),Kxe=e=>D$(`${hO}/selectServer`,async(t,{dispatch:n,getState:r})=>{n(pO());const{servers:i}=r(),o=i[t];if(!o)return{serverNotFound:!0};try{const a=e(o),{version:s,printableVersion:l}=await qxe(o,()=>a.health());return{...o,version:s,printableVersion:l}}catch{return{...o,serverNotReachable:!0}}}),Zxe=e=>ur({name:hO,initialState:HA,reducers:{},extraReducers:t=>{t.addCase(pO,()=>HA),t.addCase(e.fulfilled,(n,{payload:r})=>r)}}),Qxe=({servers:e,selectedServer:t})=>{const n=WS(e),r=()=>o4(n)?g.jsxs(Ue,{tag:Ft,to:"/server/create",children:[g.jsx(Ae,{icon:QS})," ",g.jsx("span",{className:"ms-1",children:"Add a server"})]}):g.jsxs(g.Fragment,{children:[n.map(({name:i,id:o})=>g.jsx(Ue,{tag:Ft,to:`/server/${o}`,active:IW(t)===o,children:i},o)),g.jsx(Ue,{divider:!0}),g.jsxs(Ue,{tag:Ft,to:"/manage-servers",children:[g.jsx(Ae,{icon:nP})," ",g.jsx("span",{className:"ms-1",children:"Manage servers"})]})]});return g.jsxs(Hh,{nav:!0,inNavbar:!0,children:[g.jsxs(zu,{nav:!0,caret:!0,children:[g.jsx(Ae,{icon:nP})," ",g.jsx("span",{className:"ms-1",children:"Servers"})]}),g.jsx(Bu,{end:!0,style:{right:0},children:r()})]})},Xxe=({document:e},t,n)=>{const r=e.createElement("a");r.setAttribute("href",t),r.setAttribute("download",n),r.style.visibility="hidden",e.body.appendChild(r),r.click(),e.body.removeChild(r)},Jxe=(e,t,n)=>{const r=new Blob([t],{type:"text/csv;charset=utf-8;"}),i=URL.createObjectURL(r);Xxe(e,i,n)},e2e="shlink-servers.csv";class t2e{constructor(t,n,r){Rp(this,"exportServers",async()=>{const t=WS(this.storage.get("servers")??{}).map(FW);try{const n=this.jsonToCsv(t);Jxe(this.window,n,e2e)}catch(n){console.error(n)}});this.storage=t,this.window=n,this.jsonToCsv=r}}const n2e=e=>typeof e.url=="string"&&typeof e.apiKey=="string"&&typeof e.name=="string",r2e=e=>Array.isArray(e)&&e.every(n2e);class i2e{constructor(t){this.csvToJson=t}async importServersFromFile(t){if(!t)throw new Error("No file provided");const n=await t.text(),r=await this.csvToJson(n);if(!r2e(r))throw new Error("Provided file does not have the right format.");return r}}const o2e=(e,t)=>{e.factory("ManageServers",Lxe),e.decorator("ManageServers",uy),e.decorator("ManageServers",t(["selectedServer","servers"],["resetSelectedServer"])),e.factory("ManageServersRow",jxe),e.factory("ManageServersRowDropdown",Mxe),e.decorator("ManageServersRowDropdown",t(null,["setAutoConnect"])),e.factory("CreateServer",xxe),e.decorator("CreateServer",uy),e.decorator("CreateServer",t(["selectedServer","servers"],["createServers","resetSelectedServer"])),e.factory("EditServer",Oxe),e.decorator("EditServer",t(["selectedServer"],["editServer","selectServer","resetSelectedServer"])),e.serviceFactory("ServersDropdown",()=>Qxe),e.decorator("ServersDropdown",t(["servers","selectedServer"])),e.serviceFactory("DeleteServerModal",()=>Exe),e.decorator("DeleteServerModal",t(null,["deleteServer"])),e.factory("DeleteServerButton",Sxe),e.factory("ImportServersBtn",Cxe),e.decorator("ImportServersBtn",t(["servers"],["createServers"])),e.factory("ServerError",kxe),e.decorator("ServerError",t(["servers","selectedServer"])),e.service("ServersImporter",i2e,"csvToJson"),e.service("ServersExporter",t2e,"Storage","window","jsonToCsv"),e.serviceFactory("selectServer",Kxe,"buildShlinkApiClient","loadMercureInfo"),e.serviceFactory("createServers",()=>I$),e.serviceFactory("deleteServer",()=>$xe),e.serviceFactory("editServer",()=>Fxe),e.serviceFactory("setAutoConnect",()=>Uxe),e.serviceFactory("fetchServers",Vxe,"HttpClient"),e.serviceFactory("resetSelectedServer",()=>pO),e.serviceFactory("selectedServerReducerCreator",Zxe,"selectServer"),e.serviceFactory("selectedServerReducer",RH("reducer"),"selectedServerReducerCreator")},Jc=({children:e})=>g.jsx("small",{className:"form-text text-muted d-block",children:e}),a2e=e=>e?`${e}`:"",s2e=({settings:e,toggleRealTimeUpdates:t,setRealTimeUpdatesInterval:n})=>{const{realTimeUpdates:r={enabled:!0}}=e,i=l0();return g.jsxs(gn,{title:"Real-time updates",className:"h-100",children:[g.jsx(zr,{children:g.jsxs(yu,{checked:r.enabled,onChange:t,children:["Enable or disable real-time updates.",g.jsxs(Jc,{children:["Real-time updates are currently being ",g.jsx("b",{children:r.enabled?"processed":"ignored"}),"."]})]})}),g.jsxs(Hu,{noMargin:!0,label:"Real-time updates frequency (in minutes):",labelClassName:Ve("form-label",{"text-muted":!r.enabled}),id:i,children:[g.jsx(xl,{type:"number",min:0,placeholder:"Immediate",disabled:!r.enabled,value:a2e(r.interval),id:i,onChange:({target:o})=>n(Number(o.value))}),r.enabled&&g.jsxs(Jc,{children:[r.interval!==void 0&&r.interval>0&&g.jsxs("span",{children:["Updates will be reflected in the UI every ",g.jsx("b",{children:r.interval})," minute",r.interval>1&&"s","."]}),!r.interval&&"Updates will be reflected in the UI as soon as they happen."]})]})]})},F$={field:"dateCreated",dir:"DESC"},l2e={realTimeUpdates:{enabled:!0},shortUrlCreation:{validateUrls:!1},ui:{theme:"light"},visits:{defaultInterval:"last30Days"},shortUrlsList:{defaultOrdering:F$}},c2e=(e,{payload:t})=>_W(e,t),Fs=e=>({reducer:c2e,prepare:e}),$s=e=>({payload:e}),{reducer:u2e,actions:d2e}=ur({name:"shlink/settings",initialState:l2e,reducers:{toggleRealTimeUpdates:Fs(e=>$s({realTimeUpdates:{enabled:e}})),setRealTimeUpdatesInterval:Fs(e=>$s({realTimeUpdates:{interval:e}})),setShortUrlCreationSettings:Fs(e=>$s({shortUrlCreation:e})),setShortUrlsListSettings:Fs(e=>$s({shortUrlsList:e})),setUiSettings:Fs(e=>$s({ui:e})),setVisitsSettings:Fs(e=>$s({visits:e})),setTagsSettings:Fs(e=>$s({tags:e}))}}),{toggleRealTimeUpdates:f2e,setRealTimeUpdatesInterval:h2e,setShortUrlCreationSettings:p2e,setShortUrlsListSettings:m2e,setUiSettings:g2e,setVisitsSettings:v2e,setTagsSettings:y2e}=d2e,_2e=u2e,G1=({items:e})=>g.jsx(g.Fragment,{children:e.map((t,n)=>g.jsx("div",{className:"mb-3",children:t},n))}),$$=()=>{const{RealTimeUpdatesSettings:e,ShortUrlCreationSettings:t,ShortUrlsListSettings:n,UserInterfaceSettings:r,VisitsSettings:i,TagsSettings:o}=ki($$);return g.jsxs(Zu,{children:[g.jsxs(WI,{className:"mb-3",children:[g.jsx(df,{to:"general",children:"General"}),g.jsx(df,{to:"short-urls",children:"Short URLs"}),g.jsx(df,{to:"other-items",children:"Other items"})]}),g.jsxs(Ky,{children:[g.jsx(vt,{path:"general",element:g.jsx(G1,{items:[g.jsx(r,{}),g.jsx(e,{})]})}),g.jsx(vt,{path:"short-urls",element:g.jsx(G1,{items:[g.jsx(t,{}),g.jsx(n,{})]})}),g.jsx(vt,{path:"other-items",element:g.jsx(G1,{items:[g.jsx(o,{}),g.jsx(i,{})]})}),g.jsx(vt,{path:"*",element:g.jsx(FS,{replace:!0,to:"general"})})]})]})},b2e=Pi($$,["RealTimeUpdatesSettings","ShortUrlCreationSettings","ShortUrlsListSettings","UserInterfaceSettings","VisitsSettings","TagsSettings"]),q1=e=>e==="includes"?"Suggest tags including input":"Suggest tags starting with input",w2e=e=>e==="includes"?g.jsxs(g.Fragment,{children:["The list of suggested tags will contain those ",g.jsx("b",{children:"including"})," provided input."]}):g.jsxs(g.Fragment,{children:["The list of suggested tags will contain those ",g.jsx("b",{children:"starting with"})," provided input."]}),x2e=({settings:e,setShortUrlCreationSettings:t})=>{const n=e.shortUrlCreation??{validateUrls:!1},r=i=>()=>t({...n??{validateUrls:!1},tagFilteringMode:i});return g.jsxs(gn,{title:"Short URLs form",className:"h-100",children:[g.jsx(zr,{children:g.jsxs(yu,{checked:n.validateUrls??!1,onChange:i=>t({...n,validateUrls:i}),children:["Request validation on long URLs when creating new short URLs.",g.jsxs(Jc,{children:["The initial state of the ",g.jsx("b",{children:"Validate URL"})," checkbox will be ",g.jsx("b",{children:n.validateUrls?"checked":"unchecked"}),"."]})]})}),g.jsx(zr,{children:g.jsxs(yu,{checked:n.forwardQuery??!0,onChange:i=>t({...n,forwardQuery:i}),children:["Make all new short URLs forward their query params to the long URL.",g.jsxs(Jc,{children:["The initial state of the ",g.jsx("b",{children:"Forward query params on redirect"})," checkbox will be ",g.jsx("b",{children:n.forwardQuery??!0?"checked":"unchecked"}),"."]})]})}),g.jsxs(Hu,{noMargin:!0,label:"Tag suggestions search mode:",children:[g.jsxs(pa,{text:q1(n.tagFilteringMode),children:[g.jsx(Ue,{active:!n.tagFilteringMode||n.tagFilteringMode==="startsWith",onClick:r("startsWith"),children:q1("startsWith")}),g.jsx(Ue,{active:n.tagFilteringMode==="includes",onClick:r("includes"),children:q1("includes")})]}),g.jsx(Jc,{children:w2e(n.tagFilteringMode)})]})]})},S2e={dateCreated:"Created at",shortCode:"Short URL",longUrl:"Long URL",title:"Title",visits:"Visits"},E2e=({settings:{shortUrlsList:e},setShortUrlsListSettings:t})=>g.jsx(gn,{title:"Short URLs list",className:"h-100",children:g.jsx(Hu,{noMargin:!0,label:"Default ordering for short URLs list:",children:g.jsx(Yh,{items:S2e,order:(e==null?void 0:e.defaultOrdering)??F$,onChange:(n,r)=>t({defaultOrdering:{field:n,dir:r}})})})}),T2e={tag:"Tag",shortUrls:"Short URLs",visits:"Visits"},O2e=({settings:{tags:e},setTagsSettings:t})=>g.jsx(gn,{title:"Tags",className:"h-100",children:g.jsx(Hu,{noMargin:!0,label:"Default ordering for tags list:",children:g.jsx(Yh,{items:T2e,order:(e==null?void 0:e.defaultOrdering)??{},onChange:(n,r)=>t({...e,defaultOrdering:{field:n,dir:r}})})})});const C2e=({settings:{ui:e},setUiSettings:t})=>g.jsxs(gn,{title:"User interface",className:"h-100",children:[g.jsx(Ae,{icon:(e==null?void 0:e.theme)==="dark"?DY:EY,className:"user-interface__theme-icon"}),g.jsx(yu,{checked:(e==null?void 0:e.theme)==="dark",onChange:n=>{t({...e,theme:n?"dark":"light"})},children:"Use dark theme."})]}),U$={today:"Today",yesterday:"Yesterday",last7Days:"Last 7 days",last30Days:"Last 30 days",last90Days:"Last 90 days",last180Days:"Last 180 days",last365Days:"Last 365 days"},k2e=(e,t)=>!e||e==="all"?t:U$[e],P2e=({onChange:e,active:t,allText:n})=>g.jsxs(pa,{text:k2e(t,n),children:[g.jsx(Ue,{active:t==="all",onClick:()=>e("all"),children:n}),g.jsx(Ue,{divider:!0}),Object.entries(U$).map(([r,i])=>g.jsx(Ue,{active:t===r,onClick:()=>e(r),children:i},r))]}),WA=e=>{var t;return((t=e.visits)==null?void 0:t.defaultInterval)??"last30Days"},L2e=({settings:e,setVisitsSettings:t})=>{var n,r;return g.jsxs(gn,{title:"Visits",className:"h-100",children:[g.jsx(zr,{children:g.jsxs(yu,{checked:!!((n=e.visits)!=null&&n.excludeBots),onChange:i=>t({defaultInterval:WA(e),excludeBots:i}),children:["Exclude bots wherever possible (this option‘s effect might depend on Shlink server‘s version).",g.jsxs(Jc,{children:["The visits coming from potential bots will be ",g.jsx("b",{children:(r=e.visits)!=null&&r.excludeBots?"excluded":"included"}),"."]})]})}),g.jsx(Hu,{noMargin:!0,label:"Default interval to load on visits sections:",children:g.jsx(P2e,{allText:"All visits",active:WA(e),onChange:i=>t({defaultInterval:i})})})]})},j2e=(e,t)=>{e.factory("Settings",b2e),e.decorator("Settings",uy),e.decorator("Settings",t(null,["resetSelectedServer"])),e.serviceFactory("RealTimeUpdatesSettings",()=>s2e),e.decorator("RealTimeUpdatesSettings",t(["settings"],["toggleRealTimeUpdates","setRealTimeUpdatesInterval"])),e.serviceFactory("ShortUrlCreationSettings",()=>x2e),e.decorator("ShortUrlCreationSettings",t(["settings"],["setShortUrlCreationSettings"])),e.serviceFactory("UserInterfaceSettings",()=>C2e),e.decorator("UserInterfaceSettings",t(["settings"],["setUiSettings"])),e.serviceFactory("VisitsSettings",()=>L2e),e.decorator("VisitsSettings",t(["settings"],["setVisitsSettings"])),e.serviceFactory("TagsSettings",()=>O2e),e.decorator("TagsSettings",t(["settings"],["setTagsSettings"])),e.serviceFactory("ShortUrlsListSettings",()=>E2e),e.decorator("ShortUrlsListSettings",t(["settings"],["setShortUrlsListSettings"])),e.serviceFactory("toggleRealTimeUpdates",()=>f2e),e.serviceFactory("setRealTimeUpdatesInterval",()=>h2e),e.serviceFactory("setShortUrlCreationSettings",()=>p2e),e.serviceFactory("setShortUrlsListSettings",()=>m2e),e.serviceFactory("setUiSettings",()=>g2e),e.serviceFactory("setVisitsSettings",()=>v2e),e.serviceFactory("setTagsSettings",()=>y2e)};var M2e="Expected a function",B$="__lodash_hash_undefined__",z$=1/0,A2e="[object Function]",R2e="[object GeneratorFunction]",N2e="[object Symbol]",D2e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I2e=/^\w*$/,F2e=/^\./,$2e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,U2e=/[\\^$.*+?()[\]{}|]/g,B2e=/\\(\\)?/g,z2e=/^\[object .+?Constructor\]$/,V2e=typeof Np=="object"&&Np&&Np.Object===Object&&Np,H2e=typeof self=="object"&&self&&self.Object===Object&&self,mO=V2e||H2e||Function("return this")();function W2e(e,t){return e==null?void 0:e[t]}function Y2e(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch{}return t}var G2e=Array.prototype,q2e=Function.prototype,V$=Object.prototype,K1=mO["__core-js_shared__"],YA=function(){var e=/[^.]+$/.exec(K1&&K1.keys&&K1.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),H$=q2e.toString,gO=V$.hasOwnProperty,W$=V$.toString,K2e=RegExp("^"+H$.call(gO).replace(U2e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),GA=mO.Symbol,Z2e=G2e.splice,Q2e=Y$(mO,"Map"),kh=Y$(Object,"create"),qA=GA?GA.prototype:void 0,KA=qA?qA.toString:void 0;function Ll(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1}function sSe(e,t){var n=this.__data__,r=A0(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}Qu.prototype.clear=rSe;Qu.prototype.delete=iSe;Qu.prototype.get=oSe;Qu.prototype.has=aSe;Qu.prototype.set=sSe;function Yl(e){var t=-1,n=e?e.length:0;for(this.clear();++tr.toFixed(n).replace(".",t):r=>`${r}`.replace(".",t):n?r=>r.toFixed(n):r=>`${r}`}function _O(e={}){const t=typeof e.quote=="string"?e.quote:'"',n=typeof e.escapedQuote=="string"?e.escapedQuote:`${t}${t}`;return!t||t===n?r=>r:r=>(r.includes(t)&&(r=r.replace(new RegExp(t,"g"),n)),`${t}${r}${t}`)}function LSe(e={stringFormatter:_O()}){return t=>e.stringFormatter(t.toString().slice(7,-1))}function jSe(e={stringFormatter:_O()}){return t=>{if(t===null)return"";let n=JSON.stringify(t);return n===void 0?"":(n[0]==='"'&&(n=n.replace(/^"(.+)"$/,"$1")),e.stringFormatter(n))}}function QA(e,t,n){const r=e[t];return r===void 0?n:r}function K$(e,t){try{return Array.isArray(t)?e.push(...t):e.push(t),e}catch{return e.concat(t)}}function C2(e,t){let n=!0;return e.reduce((r,i)=>(i==null&&(i=""),n?(n=!1,`${i}`):`${r}${t}${i}`),"")}var XA;(function(e){e.header="header",e.undefined="undefined",e.boolean="boolean",e.number="number",e.bigint="bigint",e.string="string",e.symbol="symbol",e.function="function",e.object="object"})(XA||(XA={}));class MSe{constructor(t){this.opts=this.preprocessOpts(t)}preprocessOpts(t){const n=Object.assign({},t);n.fields&&(n.fields=this.preprocessFieldsInfo(n.fields,n.defaultValue)),n.transforms=n.transforms||[];const r=n.formatters&&n.formatters.string||_O(),i=jSe({stringFormatter:r}),o={header:r,undefined:Z1,boolean:Z1,number:PSe(),bigint:Z1,string:r,symbol:LSe({stringFormatter:r}),function:i,object:i};return n.formatters=Object.assign(Object.assign({},o),n.formatters),n.delimiter=n.delimiter||",",n.eol=n.eol||` `,n.header=n.header!==!1,n.includeEmptyRows=n.includeEmptyRows||!1,n.withBOM=n.withBOM||!1,n}preprocessFieldsInfo(t,n){return t.map(r=>{if(typeof r=="string")return{label:r,value:r.includes(".")||r.includes("[")?i=>ZA(i,r,n):i=>QA(i,r,n)};if(typeof r=="object"){const i="default"in r?r.default:n;if(typeof r.value=="string"){const o=r.value;return{label:r.label||r.value,value:r.value.includes(".")||r.value.includes("[")?a=>ZA(a,o,i):a=>QA(a,o,i)}}if(typeof r.value=="function"){const o=r.label||r.value.name||"",a={label:o,default:i},s=r.value;return{label:o,value(l){const c=s(l,a);return c===void 0?i:c}}}}throw new Error("Invalid field info option. "+JSON.stringify(r))})}getHeader(){return C2(this.opts.fields.map(t=>this.opts.formatters.header(t.label)),this.opts.delimiter)}preprocessRow(t){return this.opts.transforms.reduce((n,r)=>n.map(i=>r(i)).reduce(K$,[]),[t])}processRow(t){if(!t)return;const n=this.opts.fields.map(r=>this.processCell(t,r));if(!(!this.opts.includeEmptyRows&&n.every(r=>r==="")))return C2(n,this.opts.delimiter)}processCell(t,n){return this.processValue(n.value(t))}processValue(t){const n=this.opts.formatters[typeof t];return n(t)}}class ASe extends MSe{constructor(t){super(t)}parse(t){const n=this.preprocessData(t);this.opts.fields=this.opts.fields||this.preprocessFieldsInfo(n.reduce((a,s)=>(Object.keys(s).forEach(l=>{a.includes(l)||a.push(l)}),a),[]),this.opts.defaultValue);const r=this.opts.header?this.getHeader():"",i=this.processData(n);return(this.opts.withBOM?"\uFEFF":"")+r+(r&&i?this.opts.eol:"")+i}preprocessData(t){const n=Array.isArray(t)?t:[t];if(!this.opts.fields){if(t==null||n.length===0)throw new Error('Data should not be empty or the "fields" option should be included');if(typeof n[0]!="object")throw new Error('Data items should be objects or the "fields" option should be included')}return this.opts.transforms.length===0?n:n.map(r=>this.preprocessRow(r)).reduce(K$,[])}processData(t){return C2(t.map(n=>this.processRow(n)).filter(n=>n),this.opts.eol)}}var Pn;(function(e){e[e.BACKSPACE=8]="BACKSPACE",e[e.FORM_FEED=12]="FORM_FEED",e[e.NEWLINE=10]="NEWLINE",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.TAB=9]="TAB",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.NUMBER_SIGN=35]="NUMBER_SIGN",e[e.DOLLAR_SIGN=36]="DOLLAR_SIGN",e[e.PERCENT_SIGN=37]="PERCENT_SIGN",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.LEFT_PARENTHESIS=40]="LEFT_PARENTHESIS",e[e.RIGHT_PARENTHESIS=41]="RIGHT_PARENTHESIS",e[e.ASTERISK=42]="ASTERISK",e[e.PLUS_SIGN=43]="PLUS_SIGN",e[e.COMMA=44]="COMMA",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.FULL_STOP=46]="FULL_STOP",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_ZERO=48]="DIGIT_ZERO",e[e.DIGIT_ONE=49]="DIGIT_ONE",e[e.DIGIT_TWO=50]="DIGIT_TWO",e[e.DIGIT_THREE=51]="DIGIT_THREE",e[e.DIGIT_FOUR=52]="DIGIT_FOUR",e[e.DIGIT_FIVE=53]="DIGIT_FIVE",e[e.DIGIT_SIX=54]="DIGIT_SIX",e[e.DIGIT_SEVEN=55]="DIGIT_SEVEN",e[e.DIGIT_EIGHT=56]="DIGIT_EIGHT",e[e.DIGIT_NINE=57]="DIGIT_NINE",e[e.COLON=58]="COLON",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.COMMERCIAL_AT=64]="COMMERCIAL_AT",e[e.LATIN_CAPITAL_LETTER_A=65]="LATIN_CAPITAL_LETTER_A",e[e.LATIN_CAPITAL_LETTER_B=66]="LATIN_CAPITAL_LETTER_B",e[e.LATIN_CAPITAL_LETTER_C=67]="LATIN_CAPITAL_LETTER_C",e[e.LATIN_CAPITAL_LETTER_D=68]="LATIN_CAPITAL_LETTER_D",e[e.LATIN_CAPITAL_LETTER_E=69]="LATIN_CAPITAL_LETTER_E",e[e.LATIN_CAPITAL_LETTER_F=70]="LATIN_CAPITAL_LETTER_F",e[e.LATIN_CAPITAL_LETTER_G=71]="LATIN_CAPITAL_LETTER_G",e[e.LATIN_CAPITAL_LETTER_H=72]="LATIN_CAPITAL_LETTER_H",e[e.LATIN_CAPITAL_LETTER_I=73]="LATIN_CAPITAL_LETTER_I",e[e.LATIN_CAPITAL_LETTER_J=74]="LATIN_CAPITAL_LETTER_J",e[e.LATIN_CAPITAL_LETTER_K=75]="LATIN_CAPITAL_LETTER_K",e[e.LATIN_CAPITAL_LETTER_L=76]="LATIN_CAPITAL_LETTER_L",e[e.LATIN_CAPITAL_LETTER_M=77]="LATIN_CAPITAL_LETTER_M",e[e.LATIN_CAPITAL_LETTER_N=78]="LATIN_CAPITAL_LETTER_N",e[e.LATIN_CAPITAL_LETTER_O=79]="LATIN_CAPITAL_LETTER_O",e[e.LATIN_CAPITAL_LETTER_P=80]="LATIN_CAPITAL_LETTER_P",e[e.LATIN_CAPITAL_LETTER_Q=81]="LATIN_CAPITAL_LETTER_Q",e[e.LATIN_CAPITAL_LETTER_R=82]="LATIN_CAPITAL_LETTER_R",e[e.LATIN_CAPITAL_LETTER_S=83]="LATIN_CAPITAL_LETTER_S",e[e.LATIN_CAPITAL_LETTER_T=84]="LATIN_CAPITAL_LETTER_T",e[e.LATIN_CAPITAL_LETTER_U=85]="LATIN_CAPITAL_LETTER_U",e[e.LATIN_CAPITAL_LETTER_V=86]="LATIN_CAPITAL_LETTER_V",e[e.LATIN_CAPITAL_LETTER_W=87]="LATIN_CAPITAL_LETTER_W",e[e.LATIN_CAPITAL_LETTER_X=88]="LATIN_CAPITAL_LETTER_X",e[e.LATIN_CAPITAL_LETTER_Y=89]="LATIN_CAPITAL_LETTER_Y",e[e.LATIN_CAPITAL_LETTER_Z=90]="LATIN_CAPITAL_LETTER_Z",e[e.LEFT_SQUARE_BRACKET=91]="LEFT_SQUARE_BRACKET",e[e.REVERSE_SOLIDUS=92]="REVERSE_SOLIDUS",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.CIRCUMFLEX_ACCENT=94]="CIRCUMFLEX_ACCENT",e[e.LOW_LINE=95]="LOW_LINE",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_LETTER_A=97]="LATIN_SMALL_LETTER_A",e[e.LATIN_SMALL_LETTER_B=98]="LATIN_SMALL_LETTER_B",e[e.LATIN_SMALL_LETTER_C=99]="LATIN_SMALL_LETTER_C",e[e.LATIN_SMALL_LETTER_D=100]="LATIN_SMALL_LETTER_D",e[e.LATIN_SMALL_LETTER_E=101]="LATIN_SMALL_LETTER_E",e[e.LATIN_SMALL_LETTER_F=102]="LATIN_SMALL_LETTER_F",e[e.LATIN_SMALL_LETTER_G=103]="LATIN_SMALL_LETTER_G",e[e.LATIN_SMALL_LETTER_H=104]="LATIN_SMALL_LETTER_H",e[e.LATIN_SMALL_LETTER_I=105]="LATIN_SMALL_LETTER_I",e[e.LATIN_SMALL_LETTER_J=106]="LATIN_SMALL_LETTER_J",e[e.LATIN_SMALL_LETTER_K=107]="LATIN_SMALL_LETTER_K",e[e.LATIN_SMALL_LETTER_L=108]="LATIN_SMALL_LETTER_L",e[e.LATIN_SMALL_LETTER_M=109]="LATIN_SMALL_LETTER_M",e[e.LATIN_SMALL_LETTER_N=110]="LATIN_SMALL_LETTER_N",e[e.LATIN_SMALL_LETTER_O=111]="LATIN_SMALL_LETTER_O",e[e.LATIN_SMALL_LETTER_P=112]="LATIN_SMALL_LETTER_P",e[e.LATIN_SMALL_LETTER_Q=113]="LATIN_SMALL_LETTER_Q",e[e.LATIN_SMALL_LETTER_R=114]="LATIN_SMALL_LETTER_R",e[e.LATIN_SMALL_LETTER_S=115]="LATIN_SMALL_LETTER_S",e[e.LATIN_SMALL_LETTER_T=116]="LATIN_SMALL_LETTER_T",e[e.LATIN_SMALL_LETTER_U=117]="LATIN_SMALL_LETTER_U",e[e.LATIN_SMALL_LETTER_V=118]="LATIN_SMALL_LETTER_V",e[e.LATIN_SMALL_LETTER_W=119]="LATIN_SMALL_LETTER_W",e[e.LATIN_SMALL_LETTER_X=120]="LATIN_SMALL_LETTER_X",e[e.LATIN_SMALL_LETTER_Y=121]="LATIN_SMALL_LETTER_Y",e[e.LATIN_SMALL_LETTER_Z=122]="LATIN_SMALL_LETTER_Z",e[e.LEFT_CURLY_BRACKET=123]="LEFT_CURLY_BRACKET",e[e.VERTICAL_LINE=124]="VERTICAL_LINE",e[e.RIGHT_CURLY_BRACKET=125]="RIGHT_CURLY_BRACKET",e[e.TILDE=126]="TILDE"})(Pn||(Pn={}));Pn.QUOTATION_MARK+"",Pn.QUOTATION_MARK,Pn.REVERSE_SOLIDUS+"",Pn.REVERSE_SOLIDUS,Pn.SOLIDUS+"",Pn.SOLIDUS,Pn.LATIN_SMALL_LETTER_B+"",Pn.BACKSPACE,Pn.LATIN_SMALL_LETTER_F+"",Pn.FORM_FEED,Pn.LATIN_SMALL_LETTER_N+"",Pn.NEWLINE,Pn.LATIN_SMALL_LETTER_R+"",Pn.CARRIAGE_RETURN,Pn.LATIN_SMALL_LETTER_T+"",Pn.TAB;var JA;(function(e){e[e.LEFT_BRACE=0]="LEFT_BRACE",e[e.RIGHT_BRACE=1]="RIGHT_BRACE",e[e.LEFT_BRACKET=2]="LEFT_BRACKET",e[e.RIGHT_BRACKET=3]="RIGHT_BRACKET",e[e.COLON=4]="COLON",e[e.COMMA=5]="COMMA",e[e.TRUE=6]="TRUE",e[e.FALSE=7]="FALSE",e[e.NULL=8]="NULL",e[e.STRING=9]="STRING",e[e.NUMBER=10]="NUMBER",e[e.SEPARATOR=11]="SEPARATOR"})(JA||(JA={}));var eR;(function(e){e[e.START=0]="START",e[e.ENDED=1]="ENDED",e[e.ERROR=2]="ERROR",e[e.TRUE1=3]="TRUE1",e[e.TRUE2=4]="TRUE2",e[e.TRUE3=5]="TRUE3",e[e.FALSE1=6]="FALSE1",e[e.FALSE2=7]="FALSE2",e[e.FALSE3=8]="FALSE3",e[e.FALSE4=9]="FALSE4",e[e.NULL1=10]="NULL1",e[e.NULL2=11]="NULL2",e[e.NULL3=12]="NULL3",e[e.STRING_DEFAULT=13]="STRING_DEFAULT",e[e.STRING_AFTER_BACKSLASH=14]="STRING_AFTER_BACKSLASH",e[e.STRING_UNICODE_DIGIT_1=15]="STRING_UNICODE_DIGIT_1",e[e.STRING_UNICODE_DIGIT_2=16]="STRING_UNICODE_DIGIT_2",e[e.STRING_UNICODE_DIGIT_3=17]="STRING_UNICODE_DIGIT_3",e[e.STRING_UNICODE_DIGIT_4=18]="STRING_UNICODE_DIGIT_4",e[e.STRING_INCOMPLETE_CHAR=19]="STRING_INCOMPLETE_CHAR",e[e.NUMBER_AFTER_INITIAL_MINUS=20]="NUMBER_AFTER_INITIAL_MINUS",e[e.NUMBER_AFTER_INITIAL_ZERO=21]="NUMBER_AFTER_INITIAL_ZERO",e[e.NUMBER_AFTER_INITIAL_NON_ZERO=22]="NUMBER_AFTER_INITIAL_NON_ZERO",e[e.NUMBER_AFTER_FULL_STOP=23]="NUMBER_AFTER_FULL_STOP",e[e.NUMBER_AFTER_DECIMAL=24]="NUMBER_AFTER_DECIMAL",e[e.NUMBER_AFTER_E=25]="NUMBER_AFTER_E",e[e.NUMBER_AFTER_E_AND_SIGN=26]="NUMBER_AFTER_E_AND_SIGN",e[e.NUMBER_AFTER_E_AND_DIGIT=27]="NUMBER_AFTER_E_AND_DIGIT",e[e.SEPARATOR=28]="SEPARATOR"})(eR||(eR={}));var tR;(function(e){e[e.OBJECT=0]="OBJECT",e[e.ARRAY=1]="ARRAY"})(tR||(tR={}));var nR;(function(e){e[e.VALUE=0]="VALUE",e[e.KEY=1]="KEY",e[e.COLON=2]="COLON",e[e.COMMA=3]="COMMA",e[e.ENDED=4]="ENDED",e[e.ERROR=5]="ERROR",e[e.SEPARATOR=6]="SEPARATOR"})(nR||(nR={}));var RSe=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(r,i,o){n.o(r,i)||Object.defineProperty(r,i,{enumerable:!0,get:o})},n.r=function(r){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.t=function(r,i){if(1&i&&(r=n(r)),8&i||4&i&&typeof r=="object"&&r&&r.__esModule)return r;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:r}),2&i&&typeof r!="string")for(var a in r)n.d(o,a,(function(s){return r[s]}).bind(null,a));return o},n.n=function(r){var i=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(i,"a",i),i},n.o=function(r,i){return Object.prototype.hasOwnProperty.call(r,i)},n.p="",n(n.s=32)}([function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch{typeof window=="object"&&(n=window)}e.exports=n},function(e,t,n){var r=n(6),i=Object.keys||function(v){var y=[];for(var x in v)y.push(x);return y};e.exports=f;var o=n(5);o.inherits=n(2);var a=n(23),s=n(14);o.inherits(f,a);for(var l=i(s.prototype),c=0;c0?(typeof H=="string"||ae.objectMode||Object.getPrototypeOf(H)===d.prototype||(H=function(he){return d.from(he)}(H)),V?ae.endEmitted?D.emit("error",new Error("stream.unshift() after end event")):k(D,ae,H,!0):ae.ended?D.emit("error",new Error("stream.push() after EOF")):(ae.reading=!1,ae.decoder&&!ie?(H=ae.decoder.write(H),ae.objectMode||H.length!==0?k(D,ae,H,!1):z(D,ae)):k(D,ae,H,!1))):V||(ae.reading=!1)),function(he){return!he.ended&&(he.needReadable||he.lengthH.highWaterMark&&(H.highWaterMark=function(ie){return ie>=j?ie=j:(ie--,ie|=ie>>>1,ie|=ie>>>2,ie|=ie>>>4,ie|=ie>>>8,ie|=ie>>>16,ie++),ie}(D)),D<=H.length?D:H.ended?H.length:(H.needReadable=!0,0))}function U(D){var H=D._readableState;H.needReadable=!1,H.emittedReadable||(v("emitReadable",H.flowing),H.emittedReadable=!0,H.sync?o.nextTick(N,D):N(D))}function N(D){v("emit readable"),D.emit("readable"),Z(D)}function z(D,H){H.readingMore||(H.readingMore=!0,o.nextTick(W,D,H))}function W(D,H){for(var ie=H.length;!H.reading&&!H.flowing&&!H.ended&&H.length=H.length?(ie=H.decoder?H.buffer.join(""):H.buffer.length===1?H.buffer.head.data:H.buffer.concat(H.length),H.buffer.clear()):ie=function(V,K,re){var ae;return VJ.length?J.length:he;if(se===J.length?ee+=J:ee+=J.slice(0,he),(he-=se)==0){se===J.length?(++F,M.next?O.head=M.next:O.head=O.tail=null):(O.head=M,M.data=J.slice(se));break}++F}return O.length-=F,ee}(V,K):function(he,O){var M=d.allocUnsafe(he),F=O.head,ee=1;for(F.data.copy(M),he-=F.data.length;F=F.next;){var J=F.data,se=he>J.length?J.length:he;if(J.copy(M,M.length-he,0,se),(he-=se)==0){se===J.length?(++ee,F.next?O.head=F.next:O.head=O.tail=null):(O.head=F,F.data=J.slice(se));break}++ee}return O.length-=ee,M}(V,K),ae}(D,H.buffer,H.decoder),ie);var ie}function le(D){var H=D._readableState;if(H.length>0)throw new Error('"endReadable()" called on non-empty stream');H.endEmitted||(H.ended=!0,o.nextTick(q,H,D))}function q(D,H){D.endEmitted||D.length!==0||(D.endEmitted=!0,H.readable=!1,H.emit("end"))}function I(D,H){for(var ie=0,V=D.length;ie=H.highWaterMark||H.ended))return v("read: emitReadable",H.length,H.ended),H.length===0&&H.ended?le(this):U(this),null;if((D=A(D,H))===0&&H.ended)return H.length===0&&le(this),null;var V,K=H.needReadable;return v("need readable",K),(H.length===0||H.length-D0?te(D,H):null)===null?(H.needReadable=!0,D=0):H.length-=D,H.length===0&&(H.ended||(H.needReadable=!0),ie!==D&&H.ended&&le(this)),V!==null&&this.emit("data",V),V},E.prototype._read=function(D){this.emit("error",new Error("_read() is not implemented"))},E.prototype.pipe=function(D,H){var ie=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=D;break;case 1:V.pipes=[V.pipes,D];break;default:V.pipes.push(D)}V.pipesCount+=1,v("pipe count=%d opts=%j",V.pipesCount,H);var K=H&&H.end===!1||D===i.stdout||D===i.stderr?se:re;function re(){v("onend"),D.end()}V.endEmitted?o.nextTick(K):ie.once("end",K),D.on("unpipe",function ge(Me,ue){v("onunpipe"),Me===ie&&ue&&ue.hasUnpiped===!1&&(ue.hasUnpiped=!0,v("cleanup"),D.removeListener("close",ee),D.removeListener("finish",J),D.removeListener("drain",ae),D.removeListener("error",F),D.removeListener("unpipe",ge),ie.removeListener("end",re),ie.removeListener("end",se),ie.removeListener("data",M),he=!0,!V.awaitDrain||D._writableState&&!D._writableState.needDrain||ae())});var ae=function(ge){return function(){var Me=ge._readableState;v("pipeOnDrain",Me.awaitDrain),Me.awaitDrain&&Me.awaitDrain--,Me.awaitDrain===0&&l(ge,"data")&&(Me.flowing=!0,Z(ge))}}(ie);D.on("drain",ae);var he=!1,O=!1;function M(ge){v("ondata"),O=!1,D.write(ge)!==!1||O||((V.pipesCount===1&&V.pipes===D||V.pipesCount>1&&I(V.pipes,D)!==-1)&&!he&&(v("false write response, pause",ie._readableState.awaitDrain),ie._readableState.awaitDrain++,O=!0),ie.pause())}function F(ge){v("onerror",ge),se(),D.removeListener("error",F),l(D,"error")===0&&D.emit("error",ge)}function ee(){D.removeListener("finish",J),se()}function J(){v("onfinish"),D.removeListener("close",ee),se()}function se(){v("unpipe"),ie.unpipe(D)}return ie.on("data",M),function(ge,Me,ue){if(typeof ge.prependListener=="function")return ge.prependListener(Me,ue);ge._events&&ge._events[Me]?s(ge._events[Me])?ge._events[Me].unshift(ue):ge._events[Me]=[ue,ge._events[Me]]:ge.on(Me,ue)}(D,"error",F),D.once("close",ee),D.once("finish",J),D.emit("pipe",ie),V.flowing||(v("pipe resume"),ie.resume()),D},E.prototype.unpipe=function(D){var H=this._readableState,ie={hasUnpiped:!1};if(H.pipesCount===0)return this;if(H.pipesCount===1)return D&&D!==H.pipes?this:(D||(D=H.pipes),H.pipes=null,H.pipesCount=0,H.flowing=!1,D&&D.emit("unpipe",this,ie),this);if(!D){var V=H.pipes,K=H.pipesCount;H.pipes=null,H.pipesCount=0,H.flowing=!1;for(var re=0;re>5==6?2:v>>4==14?3:v>>3==30?4:v>>6==2?-1:-2}function s(v){var y=this.lastTotal-this.lastNeed,x=function(_,w,S){if((192&w[0])!=128)return _.lastNeed=0,"�";if(_.lastNeed>1&&w.length>1){if((192&w[1])!=128)return _.lastNeed=1,"�";if(_.lastNeed>2&&w.length>2&&(192&w[2])!=128)return _.lastNeed=2,"�"}}(this,v);return x!==void 0?x:this.lastNeed<=v.length?(v.copy(this.lastChar,y,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(v.copy(this.lastChar,y,0,v.length),void(this.lastNeed-=v.length))}function l(v,y){if((v.length-y)%2==0){var x=v.toString("utf16le",y);if(x){var _=x.charCodeAt(x.length-1);if(_>=55296&&_<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1],x.slice(0,-1)}return x}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=v[v.length-1],v.toString("utf16le",y,v.length-1)}function c(v){var y=v&&v.length?this.write(v):"";if(this.lastNeed){var x=this.lastTotal-this.lastNeed;return y+this.lastChar.toString("utf16le",0,x)}return y}function d(v,y){var x=(v.length-y)%3;return x===0?v.toString("base64",y):(this.lastNeed=3-x,this.lastTotal=3,x===1?this.lastChar[0]=v[v.length-1]:(this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1]),v.toString("base64",y,v.length-x))}function f(v){var y=v&&v.length?this.write(v):"";return this.lastNeed?y+this.lastChar.toString("base64",0,3-this.lastNeed):y}function p(v){return v.toString(this.encoding)}function m(v){return v&&v.length?this.write(v):""}t.StringDecoder=o,o.prototype.write=function(v){if(v.length===0)return"";var y,x;if(this.lastNeed){if((y=this.fillLast(v))===void 0)return"";x=this.lastNeed,this.lastNeed=0}else x=0;return x=0?(k>0&&(w.lastNeed=k-1),k):--C=0?(k>0&&(w.lastNeed=k-2),k):--C=0?(k>0&&(k===2?k=0:w.lastNeed=k-3),k):0}(this,v,y);if(!this.lastNeed)return v.toString("utf8",y);this.lastTotal=x;var _=v.length-(x-this.lastNeed);return v.copy(this.lastChar,0,_),v.toString("utf8",y,_)},o.prototype.fillLast=function(v){if(this.lastNeed<=v.length)return v.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,this.lastTotal-this.lastNeed,0,v.length),this.lastNeed-=v.length}},function(e,t,n){e.exports=o;var r=n(1),i=n(5);function o(l){if(!(this instanceof o))return new o(l);r.call(this,l),this._transformState={afterTransform:(function(c,d){var f=this._transformState;f.transforming=!1;var p=f.writecb;if(!p)return this.emit("error",new Error("write callback called multiple times"));f.writechunk=null,f.writecb=null,d!=null&&this.push(d),p(c);var m=this._readableState;m.reading=!1,(m.needReadable||m.length-1&&a.push(i[s]);return a},t.trimLeft=String.prototype.trimLeft?function(i){return i.trimLeft()}:function(i){return i.replace(/^\s+/,"")},t.trimRight=String.prototype.trimRight?function(i){return i.trimRight()}:function(i){return i.replace(/\s+$/,"")}}).call(this,n(3).Buffer)},function(e,t,n){var r=this&&this.__extends||function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,s){a.__proto__=s}||function(a,s){for(var l in s)s.hasOwnProperty(l)&&(a[l]=s[l])};return function(a,s){function l(){this.constructor=a}o(a,s),a.prototype=s===null?Object.create(s):(l.prototype=s.prototype,new l)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=function(o){function a(s,l,c){var d=o.call(this,"Error: "+s+". JSON Line number: "+l+(c?" near: "+c:""))||this;return d.err=s,d.line=l,d.extra=c,d.name="CSV Parse Error",d}return r(a,o),a.column_mismatched=function(s,l){return new a("column_mismatched",s,l)},a.unclosed_quote=function(s,l){return new a("unclosed_quote",s,l)},a.fromJSON=function(s){return new a(s.err,s.line,s.extra)},a.prototype.toJSON=function(){return{err:this.err,line:this.line,extra:this.extra}},a}(Error);t.default=i},function(e,t,n){var r=n(18),i=n(68),o=n(69),a=r?r.toStringTag:void 0;e.exports=function(s){return s==null?s===void 0?"[object Undefined]":"[object Null]":a&&a in Object(s)?i(s):o(s)}},function(e,t){e.exports=function(n,r){return n===r||n!=n&&r!=r}},function(e,t,n){e.exports=n(33)},function(e,t,n){var r=n(34),i=function(o,a){return new r.Converter(o,a)};i.csv=i,i.Converter=r.Converter,e.exports=i},function(e,t,n){(function(r){var i=this&&this.__extends||function(){var m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var x in y)y.hasOwnProperty(x)&&(v[x]=y[x])};return function(v,y){function x(){this.constructor=v}m(v,y),v.prototype=y===null?Object.create(y):(x.prototype=y.prototype,new x)}}(),o=this&&this.__importDefault||function(m){return m&&m.__esModule?m:{default:m}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(36),s=n(50),l=n(51),c=o(n(15)),d=n(52),f=n(105),p=function(m){function v(y,x){x===void 0&&(x={});var _=m.call(this,x)||this;return _.options=x,_.params=s.mergeParams(y),_.runtime=l.initParseRuntime(_),_.result=new f.Result(_),_.processor=new d.ProcessorLocal(_),_.once("error",function(w){r(function(){_.result.processError(w),_.emit("done",w)})}),_.once("done",function(){_.processor.destroy()}),_}return i(v,m),v.prototype.preRawData=function(y){return this.runtime.preRawDataHook=y,this},v.prototype.preFileLine=function(y){return this.runtime.preFileLineHook=y,this},v.prototype.subscribe=function(y,x,_){return this.parseRuntime.subscribe={onNext:y,onError:x,onCompleted:_},this},v.prototype.fromFile=function(y,x){var _=this,w=n(!function(){var S=new Error("Cannot find module 'fs'");throw S.code="MODULE_NOT_FOUND",S}());return w.exists(y,function(S){S?w.createReadStream(y,x).pipe(_):_.emit("error",new Error("File does not exist. Check to make sure the file path to your csv is correct."))}),this},v.prototype.fromStream=function(y){return y.pipe(this),this},v.prototype.fromString=function(y){y.toString();var x=new a.Readable,_=0;return x._read=function(w){if(_>=y.length)this.push(null);else{var S=y.substr(_,w);this.push(S),_+=w}},this.fromStream(x)},v.prototype.then=function(y,x){var _=this;return new c.default(function(w,S){_.parseRuntime.then={onfulfilled:function(E){w(y?y(E):E)},onrejected:function(E){x?w(x(E)):S(E)}}})},Object.defineProperty(v.prototype,"parseParam",{get:function(){return this.params},enumerable:!0,configurable:!0}),Object.defineProperty(v.prototype,"parseRuntime",{get:function(){return this.runtime},enumerable:!0,configurable:!0}),v.prototype._transform=function(y,x,_){var w=this;this.processor.process(y).then(function(S){if(S.length>0)return w.runtime.started=!0,w.result.processResult(S)}).then(function(){w.emit("drained"),_()},function(S){w.runtime.hasError=!0,w.runtime.error=S,w.emit("error",S),_()})},v.prototype._flush=function(y){var x=this;this.processor.flush().then(function(_){if(_.length>0)return x.result.processResult(_)}).then(function(){x.processEnd(y)},function(_){x.emit("error",_),y()})},v.prototype.processEnd=function(y){this.result.endProcess(),this.emit("done"),y()},Object.defineProperty(v.prototype,"parsedLineNumber",{get:function(){return this.runtime.parsedLineNumber},enumerable:!0,configurable:!0}),v}(a.Transform);t.Converter=p}).call(this,n(11).setImmediate)},function(e,t,n){(function(r,i){(function(o,a){if(!o.setImmediate){var s,l=1,c={},d=!1,f=o.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(o);p=p&&p.setTimeout?p:o,{}.toString.call(o.process)==="[object process]"?s=function(y){i.nextTick(function(){v(y)})}:function(){if(o.postMessage&&!o.importScripts){var y=!0,x=o.onmessage;return o.onmessage=function(){y=!1},o.postMessage("","*"),o.onmessage=x,y}}()?function(){var y="setImmediate$"+Math.random()+"$",x=function(_){_.source===o&&typeof _.data=="string"&&_.data.indexOf(y)===0&&v(+_.data.slice(y.length))};o.addEventListener?o.addEventListener("message",x,!1):o.attachEvent("onmessage",x),s=function(_){o.postMessage(y+_,"*")}}():o.MessageChannel?function(){var y=new MessageChannel;y.port1.onmessage=function(x){v(x.data)},s=function(x){y.port2.postMessage(x)}}():f&&"onreadystatechange"in f.createElement("script")?function(){var y=f.documentElement;s=function(x){var _=f.createElement("script");_.onreadystatechange=function(){v(x),_.onreadystatechange=null,y.removeChild(_),_=null},y.appendChild(_)}}():s=function(y){setTimeout(v,0,y)},p.setImmediate=function(y){typeof y!="function"&&(y=new Function(""+y));for(var x=new Array(arguments.length-1),_=0;_"u"?r===void 0?this:r:self)}).call(this,n(0),n(4))},function(e,t,n){e.exports=i;var r=n(12).EventEmitter;function i(){r.call(this)}n(2)(i,r),i.Readable=n(13),i.Writable=n(46),i.Duplex=n(47),i.Transform=n(48),i.PassThrough=n(49),i.Stream=i,i.prototype.pipe=function(o,a){var s=this;function l(y){o.writable&&o.write(y)===!1&&s.pause&&s.pause()}function c(){s.readable&&s.resume&&s.resume()}s.on("data",l),o.on("drain",c),o._isStdio||a&&a.end===!1||(s.on("end",f),s.on("close",p));var d=!1;function f(){d||(d=!0,o.end())}function p(){d||(d=!0,typeof o.destroy=="function"&&o.destroy())}function m(y){if(v(),r.listenerCount(this,"error")===0)throw y}function v(){s.removeListener("data",l),o.removeListener("drain",c),s.removeListener("end",f),s.removeListener("close",p),s.removeListener("error",m),o.removeListener("error",m),s.removeListener("end",v),s.removeListener("close",v),o.removeListener("close",v)}return s.on("error",m),o.on("error",m),s.on("end",v),s.on("close",v),o.on("close",v),o.emit("pipe",s),o}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(r){return n.call(r)=="[object Array]"}},function(e,t,n){t.byteLength=function(p){var m=c(p),v=m[0],y=m[1];return 3*(v+y)/4-y},t.toByteArray=function(p){for(var m,v=c(p),y=v[0],x=v[1],_=new o(3*(y+x)/4-x),w=0,S=x>0?y-4:y,E=0;E>16&255,_[w++]=m>>8&255,_[w++]=255&m;return x===2&&(m=i[p.charCodeAt(E)]<<2|i[p.charCodeAt(E+1)]>>4,_[w++]=255&m),x===1&&(m=i[p.charCodeAt(E)]<<10|i[p.charCodeAt(E+1)]<<4|i[p.charCodeAt(E+2)]>>2,_[w++]=m>>8&255,_[w++]=255&m),_},t.fromByteArray=function(p){for(var m,v=p.length,y=v%3,x=[],_=0,w=v-y;_w?w:_+16383));return y===1?(m=p[v-1],x.push(r[m>>2]+r[m<<4&63]+"==")):y===2&&(m=(p[v-2]<<8)+p[v-1],x.push(r[m>>10]+r[m>>4&63]+r[m<<2&63]+"=")),x.join("")};for(var r=[],i=[],o=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var v=p.indexOf("=");return v===-1&&(v=m),[v,v===m?0:4-v%4]}function d(p){return r[p>>18&63]+r[p>>12&63]+r[p>>6&63]+r[63&p]}function f(p,m,v){for(var y,x=[],_=m;_>1,p=-7,m=i?a-1:0,v=i?-1:1,y=n[r+m];for(m+=v,s=y&(1<<-p)-1,y>>=-p,p+=c;p>0;s=256*s+n[r+m],m+=v,p-=8);for(l=s&(1<<-p)-1,s>>=-p,p+=o;p>0;l=256*l+n[r+m],m+=v,p-=8);if(s===0)s=1-f;else{if(s===d)return l?NaN:1/0*(y?-1:1);l+=Math.pow(2,o),s-=f}return(y?-1:1)*l*Math.pow(2,s-o)},t.write=function(n,r,i,o,a,s){var l,c,d,f=8*s-a-1,p=(1<>1,v=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=o?0:s-1,x=o?1:-1,_=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(c=isNaN(r)?1:0,l=p):(l=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-l))<1&&(l--,d*=2),(r+=l+m>=1?v/d:v*Math.pow(2,1-m))*d>=2&&(l++,d/=2),l+m>=p?(c=0,l=p):l+m>=1?(c=(r*d-1)*Math.pow(2,a),l+=m):(c=r*Math.pow(2,m-1)*Math.pow(2,a),l=0));a>=8;n[i+y]=255&c,y+=x,c/=256,a-=8);for(l=l<0;n[i+y]=255&l,y+=x,l/=256,f-=8);n[i+y-x]|=128*_}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(r){return n.call(r)=="[object Array]"}},function(e,t){},function(e,t,n){var r=n(7).Buffer,i=n(43);function o(a,s,l){a.copy(s,l)}e.exports=function(){function a(){(function(s,l){if(!(s instanceof l))throw new TypeError("Cannot call a class as a function")})(this,a),this.head=null,this.tail=null,this.length=0}return a.prototype.push=function(s){var l={data:s,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length},a.prototype.unshift=function(s){var l={data:s,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length},a.prototype.shift=function(){if(this.length!==0){var s=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,s}},a.prototype.clear=function(){this.head=this.tail=null,this.length=0},a.prototype.join=function(s){if(this.length===0)return"";for(var l=this.head,c=""+l.data;l=l.next;)c+=s+l.data;return c},a.prototype.concat=function(s){if(this.length===0)return r.alloc(0);if(this.length===1)return this.head.data;for(var l=r.allocUnsafe(s>>>0),c=this.head,d=0;c;)o(c.data,l,d),d+=c.data.length,c=c.next;return l},a}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var a=i.inspect({length:this.length});return this.constructor.name+" "+a})},function(e,t){},function(e,t,n){(function(r){function i(o){try{if(!r.localStorage)return!1}catch{return!1}var a=r.localStorage[o];return a!=null&&String(a).toLowerCase()==="true"}e.exports=function(o,a){if(i("noDeprecation"))return o;var s=!1;return function(){if(!s){if(i("throwDeprecation"))throw new Error(a);i("traceDeprecation")?console.trace(a):console.warn(a),s=!0}return o.apply(this,arguments)}}}).call(this,n(0))},function(e,t,n){e.exports=o;var r=n(27),i=n(5);function o(a){if(!(this instanceof o))return new o(a);r.call(this,a)}i.inherits=n(2),i.inherits(o,r),o.prototype._transform=function(a,s,l){l(null,a)}},function(e,t,n){e.exports=n(14)},function(e,t,n){e.exports=n(1)},function(e,t,n){e.exports=n(13).Transform},function(e,t,n){e.exports=n(13).PassThrough},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.mergeParams=function(r){var i={delimiter:",",ignoreColumns:void 0,includeColumns:void 0,quote:'"',trim:!0,checkType:!1,ignoreEmpty:!1,noheader:!1,headers:void 0,flatKeys:!1,maxRowLength:0,checkColumn:!1,escape:'"',colParser:{},eol:void 0,alwaysSplitAtEOL:!1,output:"json",nullObject:!1,downstreamFormat:"line",needEmitAll:!0};for(var o in r||(r={}),r)r.hasOwnProperty(o)&&(Array.isArray(r[o])?i[o]=[].concat(r[o]):i[o]=r[o]);return i}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.initParseRuntime=function(r){var i=r.parseParam,o={needProcessIgnoreColumn:!1,needProcessIncludeColumn:!1,selectedColumns:void 0,ended:!1,hasError:!1,error:void 0,delimiter:r.parseParam.delimiter,eol:r.parseParam.eol,columnConv:[],headerType:[],headerTitle:[],headerFlag:[],headers:void 0,started:!1,parsedLineNumber:0,columnValueSetter:[]};return i.ignoreColumns&&(o.needProcessIgnoreColumn=!0),i.includeColumns&&(o.needProcessIncludeColumn=!0),o}},function(e,t,n){(function(r){var i=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,w){_.__proto__=w}||function(_,w){for(var S in w)w.hasOwnProperty(S)&&(_[S]=w[S])};return function(_,w){function S(){this.constructor=_}x(_,w),_.prototype=w===null?Object.create(w):(S.prototype=w.prototype,new S)}}(),o=this&&this.__importDefault||function(x){return x&&x.__esModule?x:{default:x}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(53),s=o(n(15)),l=n(54),c=o(n(16)),d=n(57),f=n(28),p=n(58),m=o(n(59)),v=o(n(29)),y=function(x){function _(){var w=x!==null&&x.apply(this,arguments)||this;return w.rowSplit=new p.RowSplit(w.converter),w.eolEmitted=!1,w._needEmitEol=void 0,w.headEmitted=!1,w._needEmitHead=void 0,w}return i(_,x),_.prototype.flush=function(){var w=this;if(this.runtime.csvLineBuffer&&this.runtime.csvLineBuffer.length>0){var S=this.runtime.csvLineBuffer;return this.runtime.csvLineBuffer=void 0,this.process(S,!0).then(function(E){return w.runtime.csvLineBuffer&&w.runtime.csvLineBuffer.length>0?s.default.reject(v.default.unclosed_quote(w.runtime.parsedLineNumber,w.runtime.csvLineBuffer.toString())):s.default.resolve(E)})}return s.default.resolve([])},_.prototype.destroy=function(){return s.default.resolve()},Object.defineProperty(_.prototype,"needEmitEol",{get:function(){return this._needEmitEol===void 0&&(this._needEmitEol=this.converter.listeners("eol").length>0),this._needEmitEol},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"needEmitHead",{get:function(){return this._needEmitHead===void 0&&(this._needEmitHead=this.converter.listeners("header").length>0),this._needEmitHead},enumerable:!0,configurable:!0}),_.prototype.process=function(w,S){var E,C=this;return S===void 0&&(S=!1),E=S?w.toString():l.prepareData(w,this.converter.parseRuntime),s.default.resolve().then(function(){return C.runtime.preRawDataHook?C.runtime.preRawDataHook(E):E}).then(function(k){return k&&k.length>0?C.processCSV(k,S):s.default.resolve([])})},_.prototype.processCSV=function(w,S){var E=this,C=this.params,k=this.runtime;k.eol||c.default(w,k),this.needEmitEol&&!this.eolEmitted&&k.eol&&(this.converter.emit("eol",k.eol),this.eolEmitted=!0),C.ignoreEmpty&&!k.started&&(w=f.trimLeft(w));var j=d.stringToLines(w,k);return S?(j.lines.push(j.partial),j.partial=""):this.prependLeftBuf(f.bufFromString(j.partial)),j.lines.length>0?(k.preFileLineHook?this.runPreLineHook(j.lines):s.default.resolve(j.lines)).then(function(A){return k.started||E.runtime.headers?E.processCSVBody(A):E.processDataWithHead(A)}):s.default.resolve([])},_.prototype.processDataWithHead=function(w){if(this.params.noheader)this.params.headers?this.runtime.headers=this.params.headers:this.runtime.headers=[];else{for(var S="",E=[];w.length;){var C=S+w.shift(),k=this.rowSplit.parse(C);if(k.closed){E=k.cells,S="";break}S=C+c.default(C,this.runtime)}if(this.prependLeftBuf(f.bufFromString(S)),E.length===0)return[];this.params.headers?this.runtime.headers=this.params.headers:this.runtime.headers=E}return(this.runtime.needProcessIgnoreColumn||this.runtime.needProcessIncludeColumn)&&this.filterHeader(),this.needEmitHead&&!this.headEmitted&&(this.converter.emit("header",this.runtime.headers),this.headEmitted=!0),this.processCSVBody(w)},_.prototype.filterHeader=function(){if(this.runtime.selectedColumns=[],this.runtime.headers){for(var w=this.runtime.headers,S=0;S=j.length)N();else if(A.preFileLineHook){var z=j[U],W=A.preFileLineHook(z,A.parsedLineNumber+U);if(U++,W&&W.then)W.then(function(X){j[U-1]=X,k(j,A,U,N)});else{for(j[U-1]=W;U0?r.concat([f.csvLineBuffer,d]):d}(a,s);s.csvLineBuffer=void 0;var c=function(d,f){var p=d.length-1;if(128&d[p]){for(;(192&d[p])==128;)p--;p--}return p!=d.length-1?(f.csvLineBuffer=d.slice(p+1),d.slice(0,p+1)):d}(l,s).toString("utf8");return s.started===!1?o.default(c):c}}).call(this,n(3).Buffer)},function(e,t,n){(function(r){var i=n(56);e.exports=function(o){return typeof o=="string"&&o.charCodeAt(0)===65279?o.slice(1):r.isBuffer(o)&&i(o)&&o[0]===239&&o[1]===187&&o[2]===191?o.slice(3):o}}).call(this,n(3).Buffer)},function(e,t){e.exports=function(n){for(var r=0;r0),this._needEmitDelimiter},enumerable:!0,configurable:!0}),l.prototype.parse=function(c){if(c.length===0||this.conv.parseParam.ignoreEmpty&&c.trim().length===0)return{cells:[],closed:!0};var d=this.quote,f=this.trim;this.escape,(this.conv.parseRuntime.delimiter instanceof Array||this.conv.parseRuntime.delimiter.toLowerCase()==="auto")&&(this.conv.parseRuntime.delimiter=this.getDelimiter(c)),this.needEmitDelimiter&&!this.delimiterEmitted&&(this.conv.emit("delimiter",this.conv.parseRuntime.delimiter),this.delimiterEmitted=!0);var p=this.conv.parseRuntime.delimiter,m=c.split(p);if(d==="off"){if(f)for(var v=0;vf&&(p=m,f=v)}),p},l.prototype.isQuoteOpen=function(c){var d=this.quote,f=this.escape;return c[0]===d&&(c[1]!==d||c[1]===f&&(c[2]===d||c.length===2))},l.prototype.isQuoteClose=function(c){var d=this.quote,f=this.escape;this.conv.parseParam.trim&&(c=o.trimRight(c));for(var p=0,m=c.length-1;c[m]===d||c[m]===f;)m--,p++;return p%2!=0},l.prototype.escapeQuote=function(c){var d="es|"+this.quote+"|"+this.escape;this.cachedRegExp[d]===void 0&&(this.cachedRegExp[d]=new RegExp("\\"+this.escape+"\\"+this.quote,"g"));var f=this.cachedRegExp[d];return c.replace(f,this.quote)},l.prototype.parseMultiLines=function(c){for(var d=[],f="";c.length;){var p=f+c.shift(),m=this.parse(p);m.cells.length===0&&this.conv.parseParam.ignoreEmpty||(m.closed||this.conv.parseParam.alwaysSplitAtEOL?(this.conv.parseRuntime.selectedColumns?d.push(o.filterArray(m.cells,this.conv.parseRuntime.selectedColumns)):d.push(m.cells),f=""):f=p+(i.default(p,this.conv.parseRuntime)||` `))}return{rowsCells:d,partial:f}},l}();t.RowSplit=s},function(e,t,n){var r=this&&this.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};Object.defineProperty(t,"__esModule",{value:!0});var i=r(n(29)),o=r(n(60)),a=/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;function s(_,w,S){if(w.parseParam.checkColumn&&w.parseRuntime.headers&&_.length!==w.parseRuntime.headers.length)throw i.default.column_mismatched(w.parseRuntime.parsedLineNumber+S);return function(E,C,k){for(var j=!1,A={},U=0,N=E.length;U-1){for(var k=w.split("."),j=!0;k.length>0;)if(k.shift().length===0){j=!1;break}!j||E.parseParam.colParser[w]&&E.parseParam.colParser[w].flat?E.parseRuntime.columnValueSetter[C]=f:E.parseRuntime.columnValueSetter[C]=p}else E.parseRuntime.columnValueSetter[C]=f;E.parseParam.nullObject===!0&&S==="null"&&(S=null),E.parseRuntime.columnValueSetter[C](_,w,S)}function f(_,w,S){_[w]=S}function p(_,w,S){o.default(_,w,S)}function m(_,w,S,E){return E.parseRuntime.headerType[S]?E.parseRuntime.headerType[S]:w.indexOf("number#!")>-1?E.parseRuntime.headerType[S]=v:w.indexOf("string#!")>-1?E.parseRuntime.headerType[S]=y:E.parseParam.checkType?E.parseRuntime.headerType[S]=x:E.parseRuntime.headerType[S]=y}function v(_){var w=parseFloat(_);return isNaN(w)?_:w}function y(_){return _.toString()}function x(_){var w=_.trim();return w===""?y(_):a.test(w)?v(_):w.length===5&&w.toLowerCase()==="false"||w.length===4&&w.toLowerCase()==="true"?function(S){var E=S.trim();return E.length!==5||E.toLowerCase()!=="false"}(_):w[0]==="{"&&w[w.length-1]==="}"||w[0]==="["&&w[w.length-1]==="]"?function(S){try{return JSON.parse(S)}catch{return S}}(_):y(_)}},function(e,t,n){var r=n(61);e.exports=function(i,o,a){return i==null?i:r(i,o,a)}},function(e,t,n){var r=n(62),i=n(74),o=n(103),a=n(20),s=n(104);e.exports=function(l,c,d,f){if(!a(l))return l;for(var p=-1,m=(c=i(c,l)).length,v=m-1,y=l;y!=null&&++p-1}},function(e,t,n){var r=n(9);e.exports=function(i,o){var a=this.__data__,s=r(a,i);return s<0?(++this.size,a.push([i,o])):a[s][1]=o,this}},function(e,t,n){var r=n(17)(n(19),"Map");e.exports=r},function(e,t,n){var r=n(10);e.exports=function(i){var o=r(this,i).delete(i);return this.size-=o?1:0,o}},function(e,t){e.exports=function(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}},function(e,t,n){var r=n(10);e.exports=function(i){return r(this,i).get(i)}},function(e,t,n){var r=n(10);e.exports=function(i){return r(this,i).has(i)}},function(e,t,n){var r=n(10);e.exports=function(i,o){var a=r(this,i),s=a.size;return a.set(i,o),this.size+=a.size==s?0:1,this}},function(e,t,n){var r=n(101);e.exports=function(i){return i==null?"":r(i)}},function(e,t,n){var r=n(18),i=n(102),o=n(21),a=n(22),s=r?r.prototype:void 0,l=s?s.toString:void 0;e.exports=function c(d){if(typeof d=="string")return d;if(o(d))return i(d,c)+"";if(a(d))return l?l.call(d):"";var f=d+"";return f=="0"&&1/d==-1/0?"-0":f}},function(e,t){e.exports=function(n,r){for(var i=-1,o=n==null?0:n.length,a=Array(o);++i-1&&r%1==0&&r0||this.converter.listeners("readable").length>0),this._needPushDownstream},enumerable:!0,configurable:!0}),Object.defineProperty(l.prototype,"needEmitAll",{get:function(){return!!this.converter.parseRuntime.then&&this.converter.parseParam.needEmitAll},enumerable:!0,configurable:!0}),l.prototype.processResult=function(c){var d=this,f=this.converter.parseRuntime.parsedLineNumber;return this.needPushDownstream&&this.converter.parseParam.downstreamFormat==="array"&&f===0&&s(this.converter,"["+o.EOL),new i.default(function(p,m){d.needEmitLine?function v(y,x,_,w,S){if(_>=y.length)S();else if(x.parseRuntime.subscribe&&x.parseRuntime.subscribe.onNext){var E=x.parseRuntime.subscribe.onNext,C=y[_],k=E(C,x.parseRuntime.parsedLineNumber+_);if(_++,k&&k.then)k.then(function(){(function(A,U,N,z,W,X,G){W&&s(N,G),v(A,N,z,W,X)})(y,0,x,_,w,S,C)},S);else{for(w&&s(x,C);_new Promise(t=>{NSe().fromString(e).then(t)}),ISe=new ASe,FSe=e=>ISe.parse(e),$Se="shlink",rR=e=>`${$Se}.${e}`;class USe{constructor(t){Rp(this,"get",t=>{const n=this.localStorage.getItem(rR(t));return n?JSON.parse(n):void 0});Rp(this,"set",(t,n)=>this.localStorage.setItem(rR(t),JSON.stringify(n)));this.localStorage=t}}class BSe{constructor(t){this.storage=t}getTagColors(){return this.storage.get("colors")??{}}storeTagColors(t){this.storage.set("colors",t)}}const zSe=e=>{e.constant("localStorage",window.localStorage),e.service("Storage",USe,"localStorage"),e.service("TagColorsStorage",BSe,"Storage"),e.constant("csvToJson",DSe),e.constant("jsonToCsv",FSe),e.constant("setTimeout",window.setTimeout),e.constant("clearTimeout",window.clearTimeout),e.serviceFactory("useTimeoutToggle",_xe,"setTimeout","clearTimeout")},Gl=new oH,{container:bO}=Gl,VSe=(e,t)=>(...n)=>e[t](...n),HSe=(e,t)=>({...e,[t]:VSe(bO,t)}),N0=(e,t=[])=>jD(e?SW(e):null,t.reduce(HSe,{}));xie(Gl,N0);hxe(Gl,N0);zW(Gl);o2e(Gl,N0);zSe(Gl);j2e(Gl,N0);var wO={},k2={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isPlainObject=t.clone=t.recursive=t.merge=t.main=void 0,e.exports=t=n,t.default=n;function n(){for(var c=[],d=0;dnew Promise(t=>{NSe().fromString(e).then(t)}),ISe=new ASe,FSe=e=>ISe.parse(e),$Se="shlink",rR=e=>`${$Se}.${e}`;class USe{constructor(t){Rp(this,"get",t=>{const n=this.localStorage.getItem(rR(t));return n?JSON.parse(n):void 0});Rp(this,"set",(t,n)=>this.localStorage.setItem(rR(t),JSON.stringify(n)));this.localStorage=t}}class BSe{constructor(t){this.storage=t}getTagColors(){return this.storage.get("colors")??{}}storeTagColors(t){this.storage.set("colors",t)}}const zSe=e=>{e.constant("localStorage",window.localStorage),e.service("Storage",USe,"localStorage"),e.service("TagColorsStorage",BSe,"Storage"),e.constant("csvToJson",DSe),e.constant("jsonToCsv",FSe),e.serviceFactory("useTimeoutToggle",()=>_xe)},Gl=new oH,{container:bO}=Gl,VSe=(e,t)=>(...n)=>e[t](...n),HSe=(e,t)=>({...e,[t]:VSe(bO,t)}),N0=(e,t=[])=>jD(e?SW(e):null,t.reduce(HSe,{}));xie(Gl,N0);hxe(Gl,N0);zW(Gl);o2e(Gl,N0);zSe(Gl);j2e(Gl,N0);var wO={},k2={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isPlainObject=t.clone=t.recursive=t.merge=t.main=void 0,e.exports=t=n,t.default=n;function n(){for(var c=[],d=0;dI.length)&&(D=I.length);for(var H=0,ie=Array(D);HVE({appUpdated:wie,servers:Bxe,selectedServer:e.selectedServerReducer,settings:_2e}),GSe=e=>{var t;return e.settings&&((t=e.settings.visits)==null?void 0:t.defaultInterval)==="last180days"&&e.settings.visits&&(e.settings.visits.defaultInterval="last180Days"),e},qSe=!0,Z$={states:["settings","servers"],namespace:"shlink",namespaceSeparator:".",debounce:300},KSe=GSe(wO.load(Z$)),ZSe=e=>w6({devTools:!qSe,reducer:YSe(e),preloadedState:KSe,middleware:t=>t({immutableCheck:!1,serializableCheck:!1}).concat(wO.save(Z$))}),QSe=!!(window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function XSe(e){if("serviceWorker"in navigator){if(new URL(Jg.homepage,window.location.href).origin!==window.location.origin)return;window.addEventListener("load",()=>{const n=`${Jg.homepage}/service-worker.js`;QSe?(JSe(n,e),navigator.serviceWorker.ready.then(()=>{console.log("This web app is being served cache-first by a service worker. To learn more, visit https://cra.link/PWA")})):Q$(n,e)})}}function Q$(e,t){navigator.serviceWorker.register(e).then(n=>{n.onupdatefound=()=>{const r=n.installing;r!=null&&(r.onstatechange=()=>{r.state==="installed"&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA."),t&&t.onUpdate&&t.onUpdate(n)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(n)))})}}).catch(n=>{console.error("Error during service worker registration:",n)})}function JSe(e,t){fetch(e,{headers:{"Service-Worker":"script"}}).then(n=>{const r=n.headers.get("content-type");n.status===404||r!=null&&r.indexOf("javascript")===-1?navigator.serviceWorker.ready.then(i=>{i.unregister().then(()=>{window.location.reload()})}):Q$(e,t)}).catch(()=>{console.log("No internet connection found. App is running in offline mode.")})}const X$=ZSe(bO),{App:eEe,ScrollToTop:tEe,ErrorHandler:nEe,appUpdateAvailable:rEe}=bO;vD(document.getElementById("root")).render(g.jsx(MD,{store:X$,children:g.jsx(zD,{basename:Jg.homepage,children:g.jsx(nEe,{children:g.jsx(tEe,{children:g.jsx(eEe,{})})})})}));XSe({onUpdate(){X$.dispatch(rEe())}}); diff --git a/feature/improve-component-di/index.html b/feature/improve-component-di/index.html index d2f6c8e0..76eb0db9 100644 --- a/feature/improve-component-di/index.html +++ b/feature/improve-component-di/index.html @@ -79,7 +79,7 @@ Shlink — The URL shortener - + diff --git a/feature/improve-component-di/service-worker.js b/feature/improve-component-di/service-worker.js index 72c3b61c..8e3dd803 100644 --- a/feature/improve-component-di/service-worker.js +++ b/feature/improve-component-di/service-worker.js @@ -1796,7 +1796,7 @@ const Se = "shlink-web-client", We = "A React-based progressive web application browserslist: Ge }; re(); -Ae([{"revision":null,"url":"assets/index-01da60f7.js"},{"revision":null,"url":"assets/index-023f3028.css"},{"revision":"a0ff50f955dd6b302c5673958edd05a9","url":"index.html"},{"revision":"3e8169a112865ef0d76bba4e2dfd3a89","url":"./icons/icon-16x16.png"},{"revision":"20f0b51945ae3c973420e31d6b4d43c1","url":"./icons/icon-24x24.png"},{"revision":"4c9695cfb4cea403c1b66bbb7b4f7420","url":"./icons/icon-32x32.png"},{"revision":"f74edb9cc54ac938c1589876f8da9f21","url":"./icons/icon-40x40.png"},{"revision":"52933970fac8498311687de13549b014","url":"./icons/icon-48x48.png"},{"revision":"40209a194f29b21882571c77bd2bd906","url":"./icons/icon-60x60.png"},{"revision":"c8ba5a8c1da76d74c7bb21827fcf975c","url":"./icons/icon-64x64.png"},{"revision":"ae3435baceb494f9c966e2c2c736ea35","url":"./icons/icon-72x72.png"},{"revision":"850aa5b026fd1452af6c1ddd9d71850f","url":"./icons/icon-76x76.png"},{"revision":"8c62535e6b7a498ece1f6c6ae62ede59","url":"./icons/icon-96x96.png"},{"revision":"2dff586aaefa4c8d17f4c0bcbdef8b53","url":"./icons/icon-114x114.png"},{"revision":"8e28257a68ef1c55bc68bfff80e1a310","url":"./icons/icon-120x120.png"},{"revision":"0059b6f0c97fa871a5c29643b2857585","url":"./icons/icon-128x128.png"},{"revision":"41478c2456281f61e54d714718743ecc","url":"./icons/icon-144x144.png"},{"revision":"625251910295f33a578ae6d8117711c9","url":"./icons/icon-150x150.png"},{"revision":"19b71508b1d05defe32cf16a7d453001","url":"./icons/icon-152x152.png"},{"revision":"9d029a32a54ba3084c67acd5d74f8ac4","url":"./icons/icon-160x160.png"},{"revision":"6ec104aeaf745f003ecdaef2edddce97","url":"./icons/icon-167x167.png"},{"revision":"871d67907434ed0ddf5d2a6c220e09af","url":"./icons/icon-180x180.png"},{"revision":"cee2529402074d73b2135e2ddee25f6b","url":"./icons/icon-192x192.png"},{"revision":"85055b452284c0193142936dee7d2cd1","url":"./icons/icon-196x196.png"},{"revision":"f471155dd70b99924422dd9dd87ea94d","url":"./icons/icon-228x228.png"},{"revision":"4d896c5c7025582605de31fb74f0316b","url":"./icons/icon-256x256.png"},{"revision":"d99b49e5bcad41968313c3e132e7c661","url":"./icons/icon-310x310.png"},{"revision":"f9597636bef677327c3abc0fd1a743c4","url":"./icons/icon-384x384.png"},{"revision":"de22c0eb9e08d3576df5cedb568ca56b","url":"./icons/icon-512x512.png"},{"revision":"583b223ad8e20f05aaa64923d7db2e46","url":"./icons/icon-1024x1024.png"},{"revision":"acadc0dbbcd0862350d8c3df2f668dbb","url":"manifest.json"}]); +Ae([{"revision":null,"url":"assets/index-023f3028.css"},{"revision":null,"url":"assets/index-78017748.js"},{"revision":"54d6e66c872bf6d74310bd21e0208068","url":"index.html"},{"revision":"3e8169a112865ef0d76bba4e2dfd3a89","url":"./icons/icon-16x16.png"},{"revision":"20f0b51945ae3c973420e31d6b4d43c1","url":"./icons/icon-24x24.png"},{"revision":"4c9695cfb4cea403c1b66bbb7b4f7420","url":"./icons/icon-32x32.png"},{"revision":"f74edb9cc54ac938c1589876f8da9f21","url":"./icons/icon-40x40.png"},{"revision":"52933970fac8498311687de13549b014","url":"./icons/icon-48x48.png"},{"revision":"40209a194f29b21882571c77bd2bd906","url":"./icons/icon-60x60.png"},{"revision":"c8ba5a8c1da76d74c7bb21827fcf975c","url":"./icons/icon-64x64.png"},{"revision":"ae3435baceb494f9c966e2c2c736ea35","url":"./icons/icon-72x72.png"},{"revision":"850aa5b026fd1452af6c1ddd9d71850f","url":"./icons/icon-76x76.png"},{"revision":"8c62535e6b7a498ece1f6c6ae62ede59","url":"./icons/icon-96x96.png"},{"revision":"2dff586aaefa4c8d17f4c0bcbdef8b53","url":"./icons/icon-114x114.png"},{"revision":"8e28257a68ef1c55bc68bfff80e1a310","url":"./icons/icon-120x120.png"},{"revision":"0059b6f0c97fa871a5c29643b2857585","url":"./icons/icon-128x128.png"},{"revision":"41478c2456281f61e54d714718743ecc","url":"./icons/icon-144x144.png"},{"revision":"625251910295f33a578ae6d8117711c9","url":"./icons/icon-150x150.png"},{"revision":"19b71508b1d05defe32cf16a7d453001","url":"./icons/icon-152x152.png"},{"revision":"9d029a32a54ba3084c67acd5d74f8ac4","url":"./icons/icon-160x160.png"},{"revision":"6ec104aeaf745f003ecdaef2edddce97","url":"./icons/icon-167x167.png"},{"revision":"871d67907434ed0ddf5d2a6c220e09af","url":"./icons/icon-180x180.png"},{"revision":"cee2529402074d73b2135e2ddee25f6b","url":"./icons/icon-192x192.png"},{"revision":"85055b452284c0193142936dee7d2cd1","url":"./icons/icon-196x196.png"},{"revision":"f471155dd70b99924422dd9dd87ea94d","url":"./icons/icon-228x228.png"},{"revision":"4d896c5c7025582605de31fb74f0316b","url":"./icons/icon-256x256.png"},{"revision":"d99b49e5bcad41968313c3e132e7c661","url":"./icons/icon-310x310.png"},{"revision":"f9597636bef677327c3abc0fd1a743c4","url":"./icons/icon-384x384.png"},{"revision":"de22c0eb9e08d3576df5cedb568ca56b","url":"./icons/icon-512x512.png"},{"revision":"583b223ad8e20f05aaa64923d7db2e46","url":"./icons/icon-1024x1024.png"},{"revision":"acadc0dbbcd0862350d8c3df2f668dbb","url":"manifest.json"}]); const ze = new RegExp("/[^/?]+\\.[^/]+$"); M( // Return false to exempt requests from being fulfilled by index.html.